在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信息页面。