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 同时允许多少个客户端访问

 

 

下载apachemysqlphp的源代码包到/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>

分别为test1test2建立首页文件。重启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

设置phpapache提供的模块的安装位置以及php配置文件的位置

make;make install

建立php配置文件

cp php.ini-development /usr/local/php5/php.ini

 

2)修改apachephp的支持

编辑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();   出于安全性考虑测试之后要将此文件删除

?>