CentOS 8 安装Apache、MySQL 和PHP (LAMP安装步骤)
[start-plane type=”2″] LAMP是Linux、Apache、MySQL和PHP的缩写。
Apache是用于通过HTTP协议提供文件的Web服务器。
MySQL是流行的数据库服务器。
PHP是用于开发Web应用程序的编程语言。
使用这些应用程序,我们可以创建完整的Web服务器。 在Apache上运行PHP应用程序的最常见方法是使用mod_php模块。 同样好的选择是使用PHP-FPM,与之相比,PHP-FPM具有许多优点。 CentOS 8上的默认安装使用PHP-FPM处理php文件。
[/start-plane]
本教程将帮助您在CentOS 8和RHEL 8 Linux系统上安装和配置LAMP(Linux、Apache、MySQL和PHP)。
安装要求
- 新安装的CentOS 8服务器或电脑。
- 完成初始服务器设置
- 具有sudo特权的Shell访问
第一步:安装Apache
Apache Web服务器软件包可在CentOS 8上的默认AppStream存储库中找到。您只需使用以下命令更新DNF缓存并安装软件包即可。
sudo dnf update
sudo dnf install httpd httpd-tools
mod_ssl软件包提供了将SSL证书用于安全HTTP的功能。 安装后,启用httpd服务并启动。
sudo systemctl enable httpd.service
sudo systemctl start httpd.service
通过以下命令查看Apache服务状态:
sudo systemctl status httpd.service
正常状态将显示如下信息:
httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
Drop-In: /usr/lib/systemd/system/httpd.service.d
└─php-fpm.conf
Active: active (running) since Sat 2020-11-21 04:27:24 EDT; 5s ago
Docs: man:httpd.service(8)
Main PID: 8644 (httpd)
Status: "Started, listening on: port 80"
Tasks: 213 (limit: 8918)
Memory: 21.5M
CGroup: /system.slice/httpd.service
├─8644 /usr/sbin/httpd -DFOREGROUND
├─8650 /usr/sbin/httpd -DFOREGROUND
├─8651 /usr/sbin/httpd -DFOREGROUND
├─8652 /usr/sbin/httpd -DFOREGROUND
└─8653 /usr/sbin/httpd -DFOREGROUND
Nov 21 04:27:23 tecadmin systemd[1]: Starting The Apache HTTP Server...
Nov 21 04:27:24 tecadmin systemd[1]: Started The Apache HTTP Server.
Nov 21 04:27:24 tecadmin httpd[8644]: Server configured, listening on: port 80
第二步:安装MySQL
最新的MySQL 8软件包可在CentOS 8的AppStrem存储库中找到。使用以下命令在系统上安装包括所需软件包的MySQL服务器。
sudo dnf -y install @mysql
完成安装后,启用MySQL服务以在系统启动时自动启动。 还要首次手动启动服务。
sudo systemctl enable mysqld.service
sudo systemctl start mysqld.service
然后使用以下命令查看服务的当前状态:
sudo systemctl status mysqld.service
mysqld.service - MySQL 8.0 database server
Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
Active: active (running) since Sat 2020-11-21 02:49:33 EDT; 5min ago
Process: 5841 ExecStartPost=/usr/libexec/mysql-check-upgrade (code=exited, status=0/SUCCESS)
Process: 5706 ExecStartPre=/usr/libexec/mysql-prepare-db-dir mysqld.service (code=exited, status=0/SUCCESS)
Process: 5682 ExecStartPre=/usr/libexec/mysql-check-socket (code=exited, status=0/SUCCESS)
Main PID: 5798 (mysqld)
Status: "Server is operational"
Tasks: 38 (limit: 8918)
Memory: 442.1M
CGroup: /system.slice/mysqld.service
└─5798 /usr/libexec/mysqld --basedir=/usr
Nov 22 02:48:42 tecadmin systemd[1]: Starting MySQL 8.0 database server...
Nov 22 02:48:45 tecadmin mysql-prepare-db-dir[5706]: Initializing MySQL database
Nov 22 02:49:33 tecadmin systemd[1]: Started MySQL 8.0 database server.
MySQL安装已完成。 现在,您可以不使用任何密码即可连接MySQL服务器,但是我们建议确保MySQL安装的安全。 MySQL软件包提供mysql_secure_installation命令来应用安全性。 只需在终端上运行以下命令:
sudo mysql_secure_installation
并按照屏幕上的说明进行操作。 以下是需要用户输入的详细信息:
Press y|Y for Yes, any other key for No: y
Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 2
New password: [ENTER STRONG PASSWORD HERE]
Re-enter new password: RE ENTER PASSWORD HERE
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : y
Remove anonymous users? (Press y|Y for Yes, any other key for No) : y
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y
第三步:安装PHP
Remi库包含用于CentOS 8 Linux系统的最新PHP软件包。 因此,首先,您需要将REMI存储库添加到系统中。 只需执行以下命令即可添加存储库:
sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm
然后启用PHP安装所需的DNF模块。 在这里,我们启用用于安装PHP 7.4的模块。 您可以根据需要将其更改为PHP 7.3或PHP 7.2。
sudo dnf module reset php
sudo dnf module enable php:remi-7.4
在系统上启用存储库后。 安装PHP软件包以及必需的PHP模块。
sudo dnf install php php-mysqlnd
您还需要根据您的应用程序要求安装其他必需的php模块。 以下命令将安装一些常用的php模块:
dnf install php-gd php-zip php-mcrypt php-json php-xml php-gettext php-curl php-intl
第四步:创建Apache虚拟主机
已安装LAMP环境所需的所有软件包。 现在,创建Apache虚拟主机。 默认情况下,Apache使用php-fpm在CentOS 8系统上处理PHP文件。
在收藏夹文本编辑器中创建和编辑虚拟主机配置文件:
sudo vim /etc/httpd/conf.d/linux.dogeek.net.conf
在配置文件中添加以下内容。 确保更改必需的参数:
<VirtualHost *:80>
ServerAdmin admin@dogeek.net
DocumentRoot /var/www/html
ServerName linux.dogeek.net
ServerAlias www.linux.dogeek.net
ErrorLog logs/dogeek.net-error.log
CustomLog logs/dogeek.net-access.log combined
</VirtualHost>
保存虚拟主机配置文件,然后重新启动Apache确保更新应用更改:
sudo systemctl restart httpd.service
注: 可选帮助链接: 此视频链接可帮助您快速免费安装SSL证书:点此观看>>
第五步:防火墙放通必要端口
CentOS 8 Linux服务器已准备就绪,可以在LAMP环境中为应用程序提供服务。 如果您的系统已安装防火墙并处于活动状态,则需要允许Apache端口。 这将允许网络用户从远程系统访问Web应用程序。
以下命令将为您打开所需的端口:
sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --zone=public --permanent --add-service=https
sudo firewall-cmd --reload
第六步:测试安装结果
全部安装完成! 接下来测试环境,使用phpinfo()函数创建一个PHP脚本。 将此文件放置到服务器文档根目录。 使用以下命令执行此操作:
echo "" > /var/www/html/info.php
然后使用您在Apache虚拟主机中配置的域名或服务器IP地址访问info.php。
http://linux.dogeek.net/info.php
如果您能从以上测试地址看到如以下类似画面就证明已安装成功!