在CentOS上编译安装LAMP环境是一项复杂但值得的任务,因为它提供了高度的灵活性和定制性,以下是一个详细的步骤指南,包括准备工作、安装Apache、MySQL和PHP的具体步骤。
一、准备工作
1、关闭防火墙和SELinux:为了简化安装过程,建议先关闭系统的防火墙和SELinux。

systemctl stop firewalld systemctl disable firewalld setenforce 0
2、更新系统软件包:在进行任何安装之前,建议更新系统软件包,以确保所有现有的软件都是最新的。
sudo yum update y
3、安装基本的开发工具:确保安装了GCC编译器和其他必要的开发库。
sudo yum install y gcc gccc++ make autoconf openssldevel expatdevel
4、创建工作目录:建议将LAMP环境安装源码包统一存放在一个目录下。
mkdir /lamp cd /lamp
二、下载源码包
将所需的源码包下载到服务器的/lamp目录中,以下是各个组件的下载地址示例:
wget http://archive.apache.org/dist/httpd/httpd2.4.37.tar.gz wget https://ftp.pcre.org/pub/pcre/pcre8.10.tar.gz wget https://downloads.mysql.com/archives/get/p/23/file/mysqlboost5.7.25.tar.gz wget https://www.php.net/distributions/php7.1.33.tar.gz wget https://www.openssl.org/source/openssl1.1.1i.tar.gz wget https://github.com/curl/curl/releases/download/curl7_74_0/curl7.74.0.tar.gz
三、编译安装依赖库
OpenSSL
首先编译并安装最新版本的OpenSSL。

cd /lamp/openssl1.1.1i ./config shared prefix=/usr/local/openssl1.1.1i && make && make install ln s /usr/local/openssl1.1.1i/bin/openssl /usr/bin/openssl echo "/usr/local/openssl1.1.1i/lib" >> /etc/ld.so.conf /sbin/ldconfig
PCRE
编译并安装PCRE库。
cd /lamp/pcre8.10 ./configure prefix=/usr/local/pcre && make && make install
其他依赖库
根据需要编译和安装其他库,如libxml2、libmcrypt、zlib、libpng等。
四、编译安装Apache
解压源码包并配置:
cd /lamp tar zxvf httpd2.4.37.tar.gz C /usr/local/src/ cd /usr/local/src/httpd2.4.37 ./configure prefix=/usr/local/apache enableso enablerewrite enablecharsetlite enablecgi withpcre=/usr/local/pcre make j 4 && make install
创建系统服务脚本:

cp /usr/local/apache/bin/apachectl /etc/init.d/apachectl chmod +x /etc/init.d/apachectl vim /etc/init.d/apachectl
在文件开头添加以下行:
#!/bin/bash chkconfig: 35 85 21 description: Apache is a World Wide Web server
启动Apache服务:
chkconfig add apachectl service apachectl start
五、编译安装MySQL
解压源码包并配置:
cd /lamp tar xf mysqlboost5.7.25.tar.gz mv mysqlboost5.7.25 /usr/local/mysql cd /usr/local/mysql ./scripts/mysql_install_db user=mysql basedir=/usr/local/mysql datadir=/data/mysql
创建用户和组:
useradd r s /sbin/nologin mysql chown R mysql:mysql /usr/local/mysql /data/mysql /var/log/mysqld.log
配置MySQL服务:
vim /etc/my.cnf
添加以下内容:
[client] port = 3306 [mysqld] basedir = /usr/local/mysql datadir = /data/mysql log_error = /var/log/mysqld.log
启动MySQL服务:
chown R mysql:mysql /usr/local/mysql /data/mysql /var/log/mysqld.log /usr/local/mysql/supportfiles/mysql.server start
六、编译安装PHP
解压源码包并配置:
cd /lamp tar zxvf php7.1.33.tar.gz C /usr/local/src/ cd /usr/local/src/php7.1.33 ./configure prefix=/usr/local/php withopenssl=/usr/local/openssl1.1.1i withpcre=/usr/local/pcre withmysql=/usr/local/mysql withzlib withjpeg withpng enablembstring withcurl=/usr/local/curl7.74.0 make && make install
配置php.ini:
vim /usr/local/php/php.inidevelopment
根据需要进行相应的设置调整。
重启PHP服务:
systemctl restart phpfpm systemctl enable phpfpm
七、测试LAMP环境
创建一个简单的PHP测试页面,放置在Apache的web目录下:
echo "<?php phpinfo(); ?>" > /var/www/html/info.php
在浏览器中访问该页面,如果能够正确显示PHP的配置信息,则说明LAMP环境搭建成功。
八、进一步配置(可选)
根据实际需求,可以进一步配置Apache、MySQL和PHP,例如设置虚拟主机、优化性能等,具体配置方法可以参考各组件的官方文档。
九、FAQs
1、如果在编译过程中遇到缺少依赖的问题怎么办?
答:通常需要在缺少的那个依赖后面加上devel(开发版)来安装对应的开发包,如果缺少openssl依赖,则需要安装openssldevel,可以使用以下命令进行安装:
sudo yum install openssldevel y
然后重新尝试编译。
2、如何检查LAMP环境是否正确安装?
答:可以通过创建一个包含PHP信息的简单网页(如info.php),将其放置在Apache的web目录下,并通过浏览器访问该页面来查看PHP信息,如果页面能够正常显示PHP的配置信息,则说明LAMP环境已正确安装并运行,创建info.php文件:
echo "<?php phpinfo(); ?>" > /var/www/html/info.php
然后在浏览器中访问http://your_server_ip/info.php,查看是否显示PHP信息页面。
