Linux(CentOS)下编译安装apache
-
Centos7.6系统
-
已经安装lnmp一键环境
-
想装个apache跑php7 (php7的安装以及与apache的交互在这里: https://www.cnblogs.com/lz0925/p/11227128.html)
-
要求已经安装gcc,没有的看这:yum install gcc-c++
-
本来想整理成一键安装脚本,但现在的步骤已经够简单了,懒
-
/usr/local/src 目录,我一般用来存放源码包等各种下载的文件。
-
/usr/local 一般作为软件安装目录
// 切换到 /usr/local/src 目录
cd /usr/local/src
// 下载需要的软件,版本自选
wget http://mirrors.tuna.tsinghua.edu.cn/apache//httpd/httpd-2.4.39.tar.gz
wget http://mirrors.tuna.tsinghua.edu.cn/apache//apr/apr-1.7.0.tar.gz
wget http://mirrors.tuna.tsinghua.edu.cn/apache//apr/apr-util-1.6.1.tar.gz
wget https://jaist.dl.sourceforge.net/project/pcre/pcre/8.43/pcre-8.43.tar.gz
// 解压
tar -zxvf apr-1.7.0.tar.gz && tar -zxvf apr-util-1.6.1.tar.gz && tar -zxvf httpd-2.4.39.tar.gz && tar -zxvf pcre-8.43.tar.gz
//依次安装上边下载的软件,只要中途没有出现 ERROR 即可
cd apr-1.7.0
./configure --prefix=/usr/local/apr
make && make install
cd ../apr-util-1.6.1
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/bin/apr-1-config
make && make install
cd ../pcre-8.43
./configure --prefix=/usr/local/pcre --with-apr=/usr/local/apr/bin/apr-1-config
make && make install
cd ../httpd-2.4.39
./configure --prefix=/usr/local/httpd --with-pcre=/usr/local/pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util
make && make install
// 这时候就安装完了, 修改监听端口88
vim /usr/local/httpd/conf/httpd.conf
![](https://img2018.cnblogs.com/blog/1192213/201907/1192213-20190722170245967-840689618.jpg)
// 启动一下apache试试, OK, 没问题的
cd /usr/local/httpd/bin
./apachectl start
// 将链接apachectl 复制到系统启动目录下并命名为httpd
cp /usr/local/httpd/bin/apachectl /etc/rc.d/init.d/httpd
到此,其实已经可以使用service httpd start等命令,但在linux服务列表还没有注册,还不能使用systemctl 命令启动httpd, 我们打开刚刚复制的那个文件
vim /etc/rc.d/init.d/httpd
//在第二行和第三行添加如下:
![](https://img2018.cnblogs.com/blog/1192213/201907/1192213-20190722170805376-605736309.jpg)
//将httpd配置开机自启动并加入linux服务监控
chkconfig --add httpd
//至此,apache安装完毕,可以使用 systemctl restart httpd 重启apache试一试
知止而后有定,定而后能静,静而后能安,安而后能虑,虑而后能得。
所谓诚其意者,毋自欺也。