httpd配置文件,这里仅列出一些常用参数,详细内容参见官方说明
SserverTokens OS告诉客户机当前WWW服务器与操作系统版本信息,如不想让客户端知道将OS改为Minor
ServerRoot "/etc/httpd/" apache的根目录
ServerName 设置apache服务器的主机名
CustomLog logs/access_log apache的访问日志
ErrorLog logs/error_log
LogLevel warn apache的错误日志级别为警告
Listen 80 设置apache的监听端口
Timeout 300 链接建立之后300s内无数据传输则关闭连接,一般设为300
KeepAlive On 保持连接,建立一次连接可以传输多个文件,可以提高服务器传输文件效率,建议开启
KeepAliveTimeout 15 客户机两次请求时间超过15s则重新连接
KeepAliveRequests 500 建立连接后一次请求可以传输的最大文件数,可以设置为500或者以上
DocumentRoot 设置网页数据的存放目录
MaxClients 同时允许多少个客户端访问
下载apache,mysql,php的源代码包到/usr/local/src/目录中
Apache的安装和配置
1)安装编译安装apache
使用tar -zxvf apache-2.2.17解压缩
cd /usr/local/src/httpd-2.2.17/
./configure --prefix=/usr/local/apache2 --enable-so --enable-rewrite
配置并制定安装目录,允许apache服务器可以使用动态加载模块和具有重写功能
make;make install
启动apache /usr/local/apache2/bin/apachectl start
并将此命令写入/etc/rc.local文件中实现apahce开启自启动
测试 http://192.168.10.217
apache配置文件被分成了若干部分,主配置文件是/usr/local/apache2/conf/httpd.conf
,其他的配置文件都在/usr/local/apache2/conf/extra/目录下面,例如配置用户个人主页的配置文件httpd-userdir.conf,配置服务器和客户机连接相关的设置是httpd-default.conf
2).配置个人用户的主目录
编辑httpd.conf文件将Include conf/extra/httpd-userdir.conf前面的注释去掉
mkdir /etc/skel/public_html 修改模版配置文件这样每次创建新用户的时候用户主目录中都有public_html文件夹了
修改用户主目录的权限可以让其他用户访问,以tom用户为例
su - tom
chmod 755 public_html
chmod 755 ~
cd public_html
echo "This is mike's home page" >index.html
在浏览器输入http://192.168.10.217/~tom/测试
3)设置虚拟主机
首先修改httpd.conf配置文件Include conf/extra/httpd-vhosts.conf将这行的注释去掉
编辑/usr/local/apache2/conf/extra/httpd-vhost.conf文件
NameVirtualHost 192.168.10.217:80 //设置IP地址
<VirtualHost 192.168.10.217:80>
DocumentRoot "/usr/local/apache2/test1" //设置文档根目录
ServerName www.test1.com //设置主机头
</VirtualHost>
<VirtualHost 192.168.10.217:80>
DocumentRoot "/usr/local/apache2/test2"
ServerName www.test2.com
</VirtualHost>
设置访问权限
<Directory "/usr/local/apache2/test1">
Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
<Directory "/usr/local/apache2/test2">
Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
分别为test1和test2建立首页文件。重启apache后进行测试。
mysql数据库的安装和配置
1)建立mysql用户和组
groupadd -g 200 mysql
useradd -u 200 -g mysql -d /usr/local/mysql/data -M mysql
tar -zxvf mysql-5.5.9 -C /usr/local/
mv mysql-5.5.9 mysql
mkdir /var/lib/mysql
chown -R mysql:mysql /var/lib/mysql
chown -R root:mysql /usr/local/mysql
chown -R mysql:mysql /usr/local/mysql/data
2)建立mysql的配置文件
cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf
3)初始化数据库
/usr/local/mysql/scripts/mysql_install_db
再次设置权限保证mysql对新建立的文件有足够的权限
chown -R mysql:mysql /var/lib/mysql
chown -R mysql:mysql /usr/local/mysql/data
启动mysql /usr/local/mysql/bin/mysqld_safe --user=mysql &
为了方便操作将mysql的相关命令加入命令搜索路径中
export PATH=$PATH:/usr/local/mysql/bin
echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
4)为数据库设置口令
mysqladmin -u root password "123456" 加不加引号都可以
我设置时候出现错误
mysql: Unknown OS character set 'GB18030'.
mysql: Switching to the default character set 'latin1'.
口令设置不上,字符编码的问题,我后来更改了字符编码为en_US以后就可以了,这里的root不是系统管理员,而是刚好mysql的超级用户也为root
登录mysql -uroot -p
为后面需要搭建的论坛建立数据库 CREATE DATABASE phpbb;
Php5的安装和配置
1)安装PHP5
tar -zxvf php-5.3.5 -C /usr/local/src
cd /usr/local/src/php-5.3.5
./configure --prefix=/usr/local/php5 --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql --with-config-file-path=/usr/local/php5
设置php为apache提供的模块的安装位置以及php配置文件的位置
make;make install
建立php配置文件
cp php.ini-development /usr/local/php5/php.ini
2)修改apache对php的支持
编辑httpd.conf
LoadModule php5_module modules/libphp5.so //确认已经存在
AddType application/x-httpd-php .php 将这一行添加进去
DirectoryIndex index.html index.php 找到这一行添加index.php
之后重启apache,在apache配置文档根目录建立test.php配置文件进行测试
test.php文件内容
<?php
phpinfo(); 出于安全性考虑测试之后要将此文件删除
?>