在CentOS 7上编译安装LAMP(Linux, Apache, MySQL, PHP)堆栈是一个复杂但非常有价值的过程,以下是详细的步骤和相关信息:
一、准备工作
1、更新系统:确保你的CentOS 7系统是最新的,打开终端并运行以下命令:
sudo yum update y
2、安装必要的开发工具和库:编译软件需要一些基本的开发工具和库,运行以下命令来安装它们:
sudo yum groupinstall "Development Tools" y sudo yum install wget y
二、安装 MySQL
1. 添加 MySQL Yum 仓库
MySQL的官方Yum仓库提供了最新版本的MySQL,运行以下命令来添加它:
wget https://dev.mysql.com/get/mysql80communityreleaseel73.noarch.rpm sudo rpm ivh mysql80communityreleaseel73.noarch.rpm
2. 安装 MySQL
使用Yum安装MySQL服务器:
sudo yum install mysqlcommunityserver y
3. 启动并配置 MySQL
启动MySQL服务并设置为开机自启动:
sudo systemctl start mysqld sudo systemctl enable mysqld
4. 安全配置 MySQL
运行以下命令进行MySQL的安全配置,包括设置Root密码、删除匿名用户、禁止root远程登录等:
sudo mysql_secure_installation
5. 验证 MySQL 安装
登录MySQL以验证安装是否成功:
mysql u root p
三、安装 Apache HTTP Server
1. 下载并解压 Apache
从Apache Lounge下载最新版本的Apache HTTP Server,并将其解压到/usr/local目录:
cd /usr/local sudo wget https://www.apachelounge.com/download/apache2.4.54.tar.gz sudo tar xzf apache2.4.54.tar.gz
2. 配置并安装 Apache
进入Apache源代码目录,配置并安装Apache:
cd apache2.4.54 sudo ./configure prefix=/usr/local/apache2 enableso enablessl withmpm=event sudo make sudo make install
3. 配置环境变量
为了使系统能够找到Apache的可执行文件,需要配置环境变量:
echo 'export PATH=/usr/local/apache2/bin:$PATH' >> ~/.bashrc source ~/.bashrc
4. 启动并配置 Apache
启动Apache服务并设置为开机自启动:
sudo /usr/local/apache2/bin/apachectl start sudo systemctl enable httpd@apache2
四、安装 PHP
1. 添加 Remi PHP 仓库
Remi是一个提供PHP编译版本的Yum仓库,可以简化PHP的安装过程:
sudo yum install https://rpms.remirepo.net/enterprise/remirelease7.rpm y sudo yumconfigmanager enable remiphp74
2. 安装 PHP 及其扩展
安装PHP和常用的扩展模块:
sudo yum install php phpmysqlnd phpfpm phpopcache phpgd phpmbstring phpxml phppeclzip y
3. 配置 PHPFPM
编辑PHPFPM的配置文件,通常位于/etc/opt/remi/php74/phpfpm.d/www.conf:
sudo nano /etc/opt/remi/php74/phpfpm.d/www.conf
修改listen参数为9000端口:
listen = 127.0.0.1:9000
4. 启动并配置 PHPFPM
启动PHPFPM服务并设置为开机自启动:
sudo systemctl start phpfpm sudo systemctl enable phpfpm
5. 配置 Apache 以使用 PHPFPM
编辑Apache的配置文件,通常位于/usr/local/apache2/conf/httpd.conf或/etc/httpd/conf/httpd.conf:
sudo nano /usr/local/apache2/conf/httpd.conf
在文件末尾添加以下内容以加载PHPFPM模块:
LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/$1
6. 重启 Apache
重启Apache服务以使配置生效:
sudo /usr/local/apache2/bin/apachectl restart
五、验证 LAMP 安装
1、创建测试 PHP 文件:在Apache的默认Web根目录(通常是/var/www/html)下创建一个名为info.php的文件:
sudo nano /var/www/html/info.php
在文件中添加以下内容:
<?php phpinfo(); ?>
2、访问测试页面:在浏览器中访问http://your_server_ip/info.php,你应该能看到PHP的信息页面,这表示LAMP安装成功。
六、常见问题解答 (FAQ)
Q1: 为什么选择手动编译LAMP而不是使用包管理器安装?
A1: 手动编译LAMP有几个显著的优点:它可以提供更多的灵活性,允许你根据具体需求选择不同的版本和配置,手动编译可以确保你使用的是最新的稳定版本,而不是操作系统自带的可能较旧的版本,手动编译还可以让你更好地理解系统的工作原理,有助于解决可能出现的问题。
Q2: 如果Apache无法启动或者遇到权限问题怎么办?
A2: 如果Apache无法启动,首先检查错误日志(通常位于/usr/local/apache2/logs/error_log)以获取更多信息,如果遇到权限问题,确保Apache进程有权访问所需的文件和目录,你可以使用chmod和chown命令来更改文件权限和所有权,对于Web根目录,你可以运行以下命令:
sudo chown R apache:apache /var/www/html sudo chmod R 755 /var/www/html