1.首先把httpd包解压,然后下载apr、apr-util两个软件解压后复制到httpd的srclib解压目录中(不带版本号)
注:三个压缩软件放在/opt/目录下
2.1解压httpd
[[email protected] ~]#cd /opt/
[[email protected] ~]#ls -l
[[email protected] ~]#tar xzvf tar xzvf httpd-2.4.25.tar.gz
解压后会有httpd-2.4.25
2.2.解压apr、apr-util两个软件解压并复制到httpd的srclib解压目录中(不带版本号)
[[email protected] ~]# tar xzvf apr-1.5.2.tar.gz
[[email protected] ~]#tar zxvf apr-util-1.5.4.tar.gz
解压后:
拷贝到httpd的srclib目录中
3. 必须安装下面的三个编译语言工具gcc、gcc-c++、make;prce-devel是在安装过程出现的错误,要安装这个开发包,如果不安装会出现报错。
[[email protected] ~]#yum -y install gcc gcc-c++ make pcre-devel
4. ------------在httpd的解压目录中执行以下操作--------------
[[email protected] ~]# cd /opt/httpd-2.4.25
[[email protected] ~]#ls ------会有显示绿色的configure
[[email protected] ~]#pwd -----查看当前目录是否是httpd解压目录
然后把下面这段直接复制粘贴,回车
./configure
–prefix=/usr/local/apache
–enable-so
–enable-rewrite
–enable-mods-shared=most
–with-mpm=worker
–disable-cgid
–disable-cgi
注:执行完后,需要等待一会
参数解释:
–prefix= //来指定安装路径
–enable-so //该参数表示支持用mod_so模块提供的功能,用LoadModule在httpd.conf文件或包含的conf文件中动态加载某个模块。让 Apache 可以支持DSO模式
–enable-rewrite //支持 URL 重写
–enable-mods-shared=most //选项:告诉编译器将所有标准模块都动态编译为DSO模块。
–with-mpm=worker // 让apache以worker方式运行
–with-mpm=worker //该参数是配置apache将以何种模式编译的。Apache网站文档指出不同操作系统下的不同的默认模式.
–disable-cgid //禁止用一个外部 CGI 守护进程执行CGI脚本
–disable-cgi //禁止编译 CGI 版本的 PHP
[[email protected] ~]#make(过程需等待一会) ------make的过程是把源代码变成可执行程序的过程.
执行make之后的图示
[[email protected] ~]#make install —需要等待一会
执行完make install后的图示:
5. [[email protected] ~]#ln -s /usr/local/apache/bin/* /usr/local/bin/
译:软链接,把bin里面所有可执行程序链接到/usr/local/bin/,如果不做软链接,所有程序,系统是不识别的,为什么链接到/usr/local/bin/,用echo $PATH命令看,只要显示有什么路径,就可以链接到什么路径。
----------使程序可以使用service 管理-----------
“service管理的命令都在/etc/init.d/这个目录下的”
[[email protected] ~]#grep -v “#” /usr/local/apache/bin/apachectl > /etc/init.d/httpd
[[email protected] ~]#vi /etc/init.d/httpd
因为把“#”过滤掉了,所以要编辑添加下面三行,在文件最前面插入下面的行,使其支持chkconfig命令:
#!/bin/sh
# chkconfig: 2345 85 15
# description: Apache is a World Wide Web server.
第一行4个数字参数意义分别为:哪些Linux级别需要启动httpd(2,3,4,5);启动序号(85);关闭序号(15)。
[[email protected] ~]#chmod +x /etc/init.d/httpd ----给执行权限
[[email protected] ~]#chkconfig --add httpd (加入到service管理器) //注如果在/etc/init.d/apache不编辑这个# chkconfig: 2345 85 15内容的话,就没法用chkconfig --add来添加apache这个服务的
[[email protected] ~]#chkconfig --list httpd
---------以上都是安装部分-------------
- #ln -s /usr/local/apache/conf/httpd.conf /etc/httpd.conf
译:软链接,就是快捷方式,好处在编辑Apache文件时不用再跑到那么长的路径去编辑
#vi /etc/httpd.conf (vi /usr/local/apache/conf/httpd.conf)
注:进入后,行尾输入/ServerName搜索,把#ServerName www.example.com:80前面的"#"号去掉,后面改成自己的IP地址,不改也可以,跟域名也可以,ServerName //设置成hostname显示的名称
Listen 192.168.5.2:80 //添加或修改监听本地的IPv4的地址的80端口
[[email protected] ~]#service httpd start
注:开启后,没有任何提示,看端口号看是否启动成功
[[email protected] ~]#netstat -anpt | grep httpd
[[email protected] ~]#systemctl stop firewalld —关闭防火墙
到主机上打开浏览器,直接输入服务器地址,看是否成功
成功
[[email protected] ~]#cd /usr/local/apache/
[[email protected] ~]#ls --里面有个htdocs,默认网页都是放在htdocs
[[email protected] ~]#ls htdocs —里面显示有一个index.html
[[email protected] ~]#cat htdocs/index.html —会显示如下一行内容