基于 CentOS 搭建 LAMP 环境

背景信息

  • CentOS/7.8.2003
  • Apache/2.4.6
  • MySQL/5.7.31
  • PHP/7.3.22
  • phpMyAdmin/4.4.15.10

安装 Apache 服务

运行以下命令安装 Apache。

1
yum install httpd

设置开机自启动并启动 Apache 服务。

1
2
systemctl enable httpd
systemctl start httpd

Apache 服务默认监听80端口,远程访问则需要开放 80 端口。

1
2
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload

然后用 ip address 命令查看 IP 地址。在浏览器打开 http://IP地址,若正常返回测试页面,则说明 Apache 服务启动成功。

安装 MySQL 数据库

添加 MySQL Yum 存储库。

1
2
wget http://repo.mysql.com/mysql57-community-release-el7-11.noarch.rpm
yum install mysql57-community-release-el7-11.noarch.rpm

安装 MySQL。

1
yum install mysql-community-server

设置开机自启动并启动 MySQL。

1
2
systemctl enable mysqld
systemctl start mysqld

查看 MySQL 的初始密码。

1
grep "password" /var/log/mysqld.log

运行以下命令,根据提示配置 MySQL 的安全性,配置时需要输入 MySQL 的初始密码。

1
mysql_secure_installation

安装 PHP

安装 EPEL 源。

1
yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

安装 Remi 源。

1
yum install https://rpms.remirepo.net/enterprise/remi-release-7.rpm

安装 PHP 及需要的扩展。

1
yum install php73-php php73-php-fpm php73-php-mysqlnd php73-php-mbstring

设置开机自启动并启动 PHP-FPM。

1
2
systemctl enable php73-php-fpm
systemctl start php73-php-fpm

在网站根目录 /var/www/html/ 新建 phpinfo.php 测试文件,其包含的内容如下:

1
2
3
<?php
phpinfo();
?>

重启 Apache 服务。

1
systemctl restart httpd

在浏览器打开 http://IP地址/phpinfo.php,若输出关于 PHP 配置的信息,则说明 PHP 安装成功。执行以下命令创建软链:

1
ln -s /usr/bin/php73 /usr/bin/php

然后输入以下命令即可查看 PHP 版本。

1
php -v

安装 phpMyAdmin

运行以下命令安装 phpMyAdmin。

1
yum indstall phpmyadmin

安装完成后,创建软链。

1
ln -s /usr/share/phpMyAdmin /var/www/html/phpMyAdmin

/etc/httpd/conf.d/phpMyAdmin.conf 配置文件中,默认仅允许本地主机访问 phpMyAdmin,如下所示:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<Directory /usr/share/phpMyAdmin/>
AddDefaultCharset UTF-8

<IfModule mod_authz_core.c>
# Apache 2.4
<RequireAny>
Require ip 127.0.0.1
Require ip ::1
</RequireAny>
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
Order Deny,Allow
Deny from All
Allow from 127.0.0.1
Allow from ::1
</IfModule>
</Directory>

如果允许远程主机访问则可以用其 IP 地址替换 127.0.0.1 或添加到此配置中,也可以用 Require all granted 授予所有请求。接下来重启 Apache 服务,打开 http://IP地址/phpMyAdmin 将显示 phpMyAdmin 登录界面。

关于 SELinux 的小提示

在环境的搭建中 SELinux 并没有带来什么困扰,但无可避免它不会造成一些麻烦,除了了解它是怎么工作的,临时关闭也能解决问题,如果关闭了问题仍然存在就该找找其他原因了。执行以下命令查看 SELinux 的运行模式:

1
getenforce

默认为 Enforcing 模式,如果要临时关闭 SELinux,则用以下命令设置为 Permissive 模式,其中0为 Permissive 模式,1为 Enforcing 模式。

1
setenforce 0