Apache
一、下载源码包
apache:https://mirrors.bfsu.edu.cn/apache//httpd/httpd-2.4.46.tar.bz2
依赖包:apr:https://mirrors.tuna.tsinghua.edu.cn/apache/apr/apr-1.6.5.tar.gz
apr-util:https://mirrors.tuna.tsinghua.edu.cn/apache/apr/apr-util-1.6.1.tar.gz
编译工具:make、gcc、gcc-c++(使用yum安装即可)
二、编译apache之前需要先安装好三个依赖包(源码包我统一放在/opt下面)
1、依次编译安装apr、apr-util、pcre-devel、expat-devel(在/usr/local/下创建分别创建安装目录)
cd /usr/local && mkdir apr apr-util && ll
apr:
[root@centos opt]# tar -xvf apr-1.6.5.tar.gz && cd apr-1.6.5
检测:
[root@centos apr-1.6.5]# ./configure --prefix=/usr/local/apr
检测出错(如图):
对这个configure文件进行编辑,找到$RM "$cfgfile",将它注释
[root@centos apr-1.6.5]# vim configure
重新进行检测:
[root@centos apr-1.6.5]# ./configure --prefix=/usr/local/apr
到最后没有出现报错就成功了,接下来开始安装
编译&&安装
[root@centos apr-1.6.5]# make && make install
apr-util:
tar -xvf apr-util-1.6.1.tar.gz && cd apr-util-1.6.1
检测:
[root@centos apr-util-1.6.1]# ./configure --prefix=/usr/local/apr-util/ --with-apr=/usr/local/apr
编译&&安装:
[root@centos apr-util-1.6.1]# make && make instal
安装报错(如图):(此类报错一般都是缺少依赖)
yum -y install expat-devel//执行这条命令就能解决这个问题
重新执行make && make install
2、编译apache
需要准备pcre-devel、expat-devel
yum -y install pcre-devel
创建安装apache的目录
mkdir /usr/local/httpd
[root@centos opt]# tar -xvf httpd-2.4.46.tar.gz && cd httpd-2.4.46
检测:(模块:http://httpd.apache.org/docs/2.4/mod/)
[root@centos opt]# ./configure
--prefix=/usr/local/httpd \ //指定将httpd程序安装到/usr/local/httpd目录下
--with-apr=/usr/local/apr \
--with-apr-util=/usr/local/apr-util \
--enable-so \ //启用动态加载模块功能
--enable-ssl \ //使用安全套接字层(SSL)和传输层安全性(TLS)协议的强大加密
--enable-rewrite \ //启用网页地址重写功能,用于网站优化及目录迁移
--enable-charset-lite \ //启用字符集支持,以便支持使用各种字符集编码的网页
--enable-cgi //启用CGI脚本程序支持,便于扩展网站的应用访问能力
编译&&安装:
make && make install
将httpd服务添加到系统服务
cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
vim /etc/init.d/httpd //添加下面两行
chkconfig --add httpd //将httpd加入到SERVICE管理器
systemctl daemon-reload //重载系统系统管理器
编辑httpd主配置文件
vim /usr/local/httpd/conf/httpd.conf //将这一行取消注释
优化执行路径(执行程序文件的原路径不在PATH环境变量中,做个软链接使其可以执行)
ln -s /usr/local/httpd/conf/httpd.conf /etc/
ln -s /usr/local/httpd/bin/* /usr/local/bin/
检测httpd.conf有没有语法错误
httpd -t
看软件版本
httpd -v
启动服务并设为开机自启
systemctl start httpd
systemctl enable httpd
查看端口状态
netstat -tulnp | grep 80
浏览器输入ip地址看看apache是否安装成功(若是打不开,查看一下防火墙状态是否关闭,SELINUX是否关闭)
网页默认显示内容为:/usr/local/httpd/htdocs/index.html