搭建环境:VMware上虚拟的linux
主机:win 7
安装linux下的Apache前准备:
1、httpd服务的配置文件,默认存储路径:/etc/httpd/conf/httpd.conf(这是linux预装的Apache的一个ent版本,一般我们安装源代码版的Apache),如果找不到可以查找下 find / -name httpd.conf
如果已经存在/etc/httpd/conf/httpd.conf,请先卸载或者关闭linux系统自带的web服务,执行命令:chkconfig httpd off,再或者把linux自带的httpd服务的80端口改为其他端口,只要不与我们安装的Apache服务的端口冲突就可以啦。
vi /etc/httpd/conf/httpd.conf.
停止并卸载Linux系统自带的httpd服务:
1、service httpd stop 停止自带的httpd服务
2、ps -ef | grep httpd 如果已经关闭停止后没有apache的进程。
3、kill -9 pid号(逐个删除)如果有进程就KILL掉。
4、rpm -qa |grep httpd
5、rpm -e httpd软件包
2、下载Apache安装包有两个版本(httpd-2.4.x.tar.gz或httpd-2.2.x.tar.gz),下载地址:http://httpd.apache.org/ 如有疑问或者需要安装包可加技术交流Q群649017887
在安装Apache时,我分别针对不同版本进行了安装,在编译时是不同的,configure后跟的参数不同。
httpd-2.2.x版本编译命令:这个版本比较简单,因为已经集成一个编译包只需要直接编译安装即可。
./configure --prefix=/usr/local/apache2 (安装目录参数后面为你安装的路径,如果不加任何参数,直接安装默认为/usr/local/apache2 )
make 编译
make install 安装
httpd-2.4.x版本编译命令:这个版本有四个安装包。他们是有互相依懒性的,所以安装的时候要注意顺序,安装顺序可以为
apr、apr-util、pcre、httpd 或者 pcre、apr、apr-util、httpd
其中httpd必须安装pcre、apr-util,而apr-util必须安装apr 才可以安装成功。
要不就会在编译Apache(在安装httpd-2.4.3时遇到的问题)时分别出现了apr not found、APR-util not found、pcre-config for libpcre not found的问题
./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
下面就httpd-2.4.X实际操作。
一、安装apr,如果先安装apr_util 是安装./configure会如图报错,提示没有APRnot found
2 [root@localhost apache_linux]# cd apr-1.5.2
3 [root@localhost apr-1.5.2]# ./configure ;选择安装路径,如果不写,默认安装路径为/usr/local/apache2/
4 [root@localhost apr-1.5.2]#make ;编译
5 [root@localhost apr-1.5.2]#make install ;安装
安装完成后在相对应的路径下产生一个APR文件,这里在默认路径/usr/local/ 下面。
二、安装apr-util,直接安装提示还是找不到apr,提示按路径要带上apr的安装路径。
1、 [root@localhost apache_linux]# cd apr-util-1.5.4
2 、[root@localhost apr-util-1.5.4]# ./configure --prefix=/usr/local/apr-util -with-apr=/usr/local/apr ;要把apr的安装路径写上去才能查找到,这回不报错了
3、[root@localhost apr-util-1.5.4]# make ;同样的编译
4、[root@localhost apr-util-1.5.4]# make install ;执行安装;
5、安装PCRE,
如果这时安装httpd,[root@localhost httpd-2.4.23]# ./configure --prefix=/usr/local/apache2 --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/ --with-pcre=/usr/local/pcre; 此时是报错的,因为还没有安装PCRE
安装pcre-config
1、[root@localhost apache_linux]# cd pcre-8.39
2、[root@localhost pcre-8.39]# ./configure ;默认安装在/usr/local/pcre
3、[root@localhost pcre-8.39]#make ;编译
4、[root@localhost pcre-8.39]# make install ;安装
[root@localhost pcre-8.39]# make
[root@localhost local]# make install
四:安装httpd
1、[root@localhost httpd-2.4.23]# ./configure --prefix=/usr/local/apache2 --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/ --with-pcre=/usr/local/pcre
apr、apr-util、pcre’安装路径一定要带上去
2、 [root@localhost httpd-2.4.23]# make ;编译
3、[root@localhost httpd-2.4.23]# make install ;安装
安装完成。
总结:
1、 APR not found 需要先安装APR
2、 APR-util not found 需要先安装APR-util ,而且安装进来要带上APR的路径
3、 pcre-config for libpcre not found 需要先安装pcre
4、最后安装httpd,安装路径要带上APR 、APR-UTIL、PCRE的安装路径
安装完成,下面开始修改配置文件。
1找到安装路径下的conf目录,如上面安装的都是默认路径,在/usr/local/apache2下面
2、进去conf里面。
3、打开编辑httpd.conf,找到ServerName www.example.com:80这个,去掉前面的注释#,www.example.com修改为localhost,端口如果没有修改就是80.修改了的也要相对应的进行修改端口号。修改保存。
启动进程。
进到安装路径,找到bin文件,本例子安装路径默认为/usr/local/apache2/bin下。
•启动Apache:/usr/local/apache2/bin/apachectl start 或者进去对应的目录后 ./apachectl start
PS:•停止Apache:/usr/local/apache2/bin/apachectl stop 或者进去对应的目录后 ./apachectl stop
•重启Apache:/usr/local/apache2/bin/apachectl restart 或者进去对应的目录后 ./apachectl restart
网站放在/usr/local/apache2/htdocs目录下
在IE中通过http://localhost:80,如果看到页面中显示“It works!”字样,则代表Apache验证通过。
如果出现下面的情况就是启动不正确。
A、检查下端口号是否被占用
1、输入netstat -an 80 或者你修改的端口号,如果没有信息 就是没被占用,正在LISTEN是正在监听,后面的字段可以看出进程名
2如果不是HTTPD进程就修改修改配置文件httpd.conf里面的端口号,修改后要重启进程./apachectl restart
B、检查下防火墙是否关掉
重启后生效
开启: chkconfig iptables on
关闭: chkconfig iptables off 或者 /sbin/chkconfig --level 2345 iptables off
2) 即时生效,重启后失效
service 方式
开启: service iptables start
关闭: service iptables stop
iptables方式
查看防火墙状态:
/etc/init.d/iptables status
暂时关闭防火墙:
/etc/init.d/iptables stop
重启iptables:
/etc/init.d/iptables restart