1、安装Apache前准备:

1、检查该环境中是否已经存在httpd服务的配置文件,默认存储路径:/etc/httpd/httpd.conf(这是centos预装的Apache的一个ent版本,一般我们安装源代码版的Apache)。如果已经存在/etc/httpd/httpd.conf,请先卸载或者关闭centos系统自带的web服务,执行命令:chkconfig  httpd off,再或者把centos自带的httpd服务的80端口改为其他端口,只要不与我们安装的Apache服务的端口冲突就可以啦。

停止并卸载Linux系统自带的httpd服务:

1、service httpd stop

2、ps -ef | grep httpd

3、kill -9 pid号(逐个删除)

4、rpm -qa |grep httpd

5、rpm  -e httpd软件包


2、下载Apache安装包

下载地址:http://httpd.apache.org/ 


3、解压到/usr/local下

#tar xzvf httpd-2.2.16.tar.gz


4、配置安装参数

#cd /usr/local/httpd-2.2.16

在安装Apache时,我分别针对不同版本进行了安装,在编译时是不同的,configure后跟的参数不同。

httpd-2.2.23版本编译命令:

./configure --prefix=/usr/local/apache2 (安装目录参数后面可以不加任何参数,直接安装即可)
make
make install

httpd-2.4.3版本编译命令:

./configure --prefix=/usr/local/apache2 --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/ --with-pcre=/usr/local/pcre (除了指定Apache的安装目录外,还要安装apr、apr-util、pcre,并指定参数)
make
make install


编译时或换成如下参数:(仅供参考)

#./configure --prefix=/usr/local/apache2 --enable-deflate --enable-expires --enable-headers --enable-modules=most --enable-so --with-mpm=worker --enable-rewrite --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util


5、安装报错情况处理

在编译Apache(在安装httpd-2.4.3时遇到的问题)时分别出现了apr not found、APR-util not found、pcre-config for libpcre not found的问题,下面就httpd-2.4.3的这些问题解决来实际操作一把。
http://apr.apache.org/download.cgi  下载apr-1.4.5.tar.gz、apr-util-1.3.12.tar.gz
http://sourceforge.net/projects/pcre/files/latest/download 下载pcre-8.31.zip
1.解决apr not found问题

  [root@localhost bin]# tar -zxf apr-1.4.5.tar.gz
  [root@localhost apr-1.4.5]# ./configure --prefix=/usr/local/apr
  [root@localhost apr-1.4.5]# make
  [root@localhost apr-1.4.5]# make install

2.解决APR-util not found问题

  [root@localhost bin]# tar -zxf apr-util-1.3.12.tar.gz
  [root@localhost apr-util-1.3.12]# ./configure --prefix=/usr/local/apr-util -with-apr=/usr/local/apr/bin/apr-1-config
  [root@localhost apr-util-1.3.12]# make
  [root@localhost apr-util-1.3.12]# make install

3、解决pcre-config for libpcre not found问题

  [root@localhost ~]# unzip pcre-8.31.zip
  [root@localhost ~]# cd pcre-8.31
  [root@localhost pcre-8.31]# ./configure --prefix=/usr/local/pcre
  [root@localhost pcre-8.31]# make[root@localhost pcre-8.31]# make install


6、apache的启动、停止


启动Apache:

#cd /usr/local/apache2/bin

#./apachectl start


停止Apache:

#cd /usr/local/apache2/bin

#./apachectl stop


重启Apache:

#cd /usr/local/apache2/bin

#./apachectl restart


7、安装成功后,配置参数修改:


#vi /usr/local/apache/conf/httpd.conf  


Listen 80   //apache默认端口,可以修改 
DocumentRoot "/home/mahaibo/apache/htdocs" //用户默认访问的apache目录   
//日志输出的2种格式    
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined   
   LogFormat "%h %l %u %t \"%r\" %>s %b" common   
CustomLog logs/access_log common //访问日志:access_log的输出采用common格式  


8、网站的测试:

网站放在/usr/local/apache2/htdocs目录下

在IE中通过http://localhost:80

如果看到页面中显示“It works!”字样,则代表Apache验证通过。

如果网站的index后缀是PHP格式的,则要修改httpd.conf配置文件(/usr/local/apache2/conf),在DirectoryIndex增加 index.php。


# # DirectoryIndex: sets the file that Apache will serve if a directory# is requested.#    DirectoryIndex index.html index.php </IfModule>


9、网站的安全加固:


  1. 修改文件的所有者和所有组
    cd /usr/local/apache
    chown -R nobody:root  htdocs  

  2. 修改apache下所有文件权限
    chmod -R 755 * 


10、apache的默认重要配置信息如下:


配置文件:/usr/local/apache2/httpd/httpd.conf

服务器的根目录:/usr/local/apache2/htdocs

访问日志文件:/var/log/httpd/access_log
错误日志文件:/var/log/httpd/error_log
运行apache的用户:apache
运行apache的组:apache

端口:80

模块存放路径:/usr/lib/httpd/modules


11、安装apache补充说明

安装apache2 ,  ./configure ;make;make  install。安装完毕后却不能找到mod_proxy和mod_rewrite模块,主要原因是APACHE2.2默认的安装选项是最小化的安装,一些扩展模块在默认的状态下都没有被安装,如果需要要在./configure后用参数指定,比方要用到mod_proxy  和 mod_rewrite两个模块进行实验,所以命令行是:./configure --enable-mods-shared='proxy proxy_ajp  proxy_balancer proxy_connect proxy_ftp proxy_http  proxy_rewrite'。这个配置不仅指定了这些模块,同时也默认安装其他最小项。这样配置完后make和make  install后,mod_proxy和mod_rewrite两个模块都能找到了