共计 6786 个字符,预计需要花费 17 分钟才能阅读完成。
LAMP 是 Linux,Apache,MySQL 和 PHP 的首字母缩写,是网站管理员和开发人员用来测试和托管动态网站的一种流行的免费开源堆栈。
LAMP 服务器带有 4 个核心组件:Apache Web 服务器,MySQL 或 MariaDB 数据库以及 PHP(一种流行的脚本语言,用于创建动态 Web 页面)。
常见的 LAMP 架构平台!LAMP 是世界上最流行的组合,当然同时也有 Nginx,也就是 LNMP: LAMP 相对于 NGINX 来说较为安全,但是 Nginx 处理高并发比 Apache 要强,在本文中,您将学习如何在 CentOS 8 Linux 发行版上安装 LAMP 服务器。
步骤 1:更新 CentOS 8 软件包
建议,通常在开始安装之前先更新软件包是一个好的习惯。因此,登录到您的服务器并运行以下命令。
[linuxidc@localhost ~/www.linuxidc.com]$sudo dnf update
步骤 2:在 CentOS 8 上安装 Apache Web 服务器
随着系统软件包的更新,下一步是安装 Apache Web 服务器,一些关键的工具和实用程序将运行下面这条命令。
[linuxidc@localhost ~/www.linuxidc.com]$sudo dnf install httpd httpd-tools
安装完成后,使用以下命令启用 Apache 在系统启动时自动启动。
[linuxidc@localhost ~/www.linuxidc.com]$sudo systemctl enable httpd
Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.service.
接下来,通过运行命令启动 Apache 服务。
[linuxidc@localhost ~/www.linuxidc.com]$sudo systemctl start httpd
要确认 Apache Web 服务是否正在运行,请运行命令。
[linuxidc@localhost ~/www.linuxidc.com]$sudo systemctl status httpd
输出如下:
● httpd.service – The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor prese>
Active: active (running) since Wed 2020-02-26 07:07:23 EST; 2min 15s ago
Docs: man:httpd.service(8)
Main PID: 85860 (httpd)
Status: “Running, listening on: port 80”
Tasks: 213 (limit: 23820)
Memory: 25.2M
CGroup: /system.slice/httpd.service
├─85860 /usr/sbin/httpd -DFOREGROUND
├─85862 /usr/sbin/httpd -DFOREGROUND
├─85863 /usr/sbin/httpd -DFOREGROUND
lines 1-12
如果您有点好奇,可以通过运行 rpm 命令来获取 Apache 的版本以及与 Apache 相关的其他详细信息。
[linuxidc@localhost ~/www.linuxidc.com]$httpd -v
Server version: Apache/2.4.37 (centos)
Server built: Dec 23 2019 20:45:34
[linuxidc@localhost ~/www.linuxidc.com]$rpm -qi httpd
此外,您可以打开网络浏览器并访问显示的服务器 IP。
https://www.linuxidc.com/
如下图
测试页
本页面是在 Apache HTTP 服务器 完成安装后用来测试它的正常运作。如果你能阅读此页面,此网站已能正常运作。此服务器是由 CentOS 所驱动。
步骤 3:在 CentOS 8 上安装 MariaDB
MariaDB 是 MySQL 数据库的分支。它是由一个 MySQL 的前团队开发的,该团队担心 Oracle 可能会将 MySQL 变成一个开源项目。它具有比 MySQL 更好的创新功能,使其比 MySQL 更好。
要安装 MariaDB,请运行命令。
[linuxidc@localhost ~/www.linuxidc.com]$sudo dnf install mariadb-server mariadb -y
接下来,启动并在启动时启用 MariaDB,运行命令。
[linuxidc@localhost ~/www.linuxidc.com]$systemctl start mariadb
[linuxidc@localhost ~/www.linuxidc.com]$systemctl enable mariadb
Created symlink /etc/systemd/system/mysql.service → /usr/lib/systemd/system/mariadb.service.
Created symlink /etc/systemd/system/mysqld.service → /usr/lib/systemd/system/mariadb.service.
Created symlink /etc/systemd/system/multi-user.target.wants/mariadb.service → /usr/lib/systemd/system/mariadb.service.
您可以通过运行命令来验证 MariaDB 的状态。
● mariadb.service – MariaDB 10.3 database server
Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor pre>
Active: active (running) since Wed 2020-02-26 07:23:30 EST; 47s ago
Docs: man:mysqld(8)
https://mariadb.com/kb/en/library/systemd/
Main PID: 90101 (mysqld)
Status: “Taking your SQL requests now…”
Tasks: 30 (limit: 23820)
Memory: 81.7M
CGroup: /system.slice/mariadb.service
└─90101 /usr/libexec/mysqld –basedir=/usr
~
最后,我们需要通过 secure 来保护 MariaDB 数据库引擎。
[linuxidc@localhost ~/www.linuxidc.com]$mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!
In order to log into MariaDB to secure it, we’ll need the current
password for the root user. If you’ve just installed MariaDB, and
you haven’t set the root password yet, the password will be blank,
so you should just press enter here.
Enter current password for root (enter for none):
系统将提示您输入 root 密码(如果您已经有 root 密码)或进行设置。在随后的每个提示中回答 Y。
步骤 4:在 CentOS 8 上安装 PHP 7
我们需要安装的 LAMP 堆栈中的最后一个组件是 PHP,并且如前所述,PHP 是用于开发动态网页的脚本 Web 编程语言。
我们将使用 Remi 信息库安装最新版本的 PHP(在撰写本指南时为 PHP 7.4)。
首先,安装 EPEL 存储库。
[linuxidc@localhost ~/www.linuxidc.com]$sudo dnf install https://dl.Fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
接下来,安装 yum utils 并使用以下命令启用 remi-repository。
[linuxidc@localhost ~/www.linuxidc.com]$sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm
成功安装 yum-utils 和 Remi-packages 之后,通过运行命令搜索可下载的 PHP 模块。
[linuxidc@localhost ~/www.linuxidc.com]$sudo dnf module list php
输出将包括可用的 PHP 模块,流和安装配置文件,如下所示。
Extra Packages for Enterprise Linux 8 – x86_64 3.3 MB/s | 5.9 MB 00:01
Remi’s Modular repository for Enterprise Linux 7.1 kB/s | 535 kB 01:15
Safe Remi’s RPM repository for Enterprise Linux 3.7 kB/s | 1.4 MB 06:27
上次元数据过期检查:0:00:03 前,执行于 2020 年 02 月 26 日 星期三 07 时 39 分 24 秒。
CentOS-8 – AppStream
Name Stream Profiles Summary
php 7.2 [d][e] common [d], devel, minimal PHP scripting language
php 7.3 common, devel, minimal PHP scripting language
Remi’s Modular repository for Enterprise Linux 8 – x86_64
Name Stream Profiles Summary
php remi-7.2 common [d], devel, minimal PHP scripting language
php remi-7.3 common [d], devel, minimal PHP scripting language
php remi-7.4 common [d], devel, minimal PHP scripting language
提示:[d] 默认,[e] 已启用,[x] 已禁用,[i] 已安装
输出表明当前安装的 PHP 版本是 PHP 7.2。要安装较新的版本 PHP 7.4,请重置 PHP 模块。
[linuxidc@localhost ~/www.linuxidc.com]$sudo dnf module reset php
重置 PHP 模块后,通过运行启用 PHP 7.4 模块。
[linuxidc@localhost ~/www.linuxidc.com]$sudo dnf module enable php:remi-7.4
最后,使用命令安装 PHP,PHP-FPM(FastCGI 进程管理器)和关联的 PHP 模块。
[linuxidc@localhost ~/www.linuxidc.com]$ sudo dnf install php php-opcache php-gd php-curl php-mysqlnd
已安装:
php-7.4.3-1.el8.remi.x86_64
php-gd-7.4.3-1.el8.remi.x86_64
php-mysqlnd-7.4.3-1.el8.remi.x86_64
php-opcache-7.4.3-1.el8.remi.x86_64
nginx-filesystem-1:1.14.1-9.module_el8.0.0+184+e34fea82.noarch
php-fpm-7.4.3-1.el8.remi.x86_64
php-mbstring-7.4.3-1.el8.remi.x86_64
php-sodium-7.4.3-1.el8.remi.x86_64
oniguruma-6.8.2-1.el8.x86_64
libsodium-1.0.18-2.el8.x86_64
php-pdo-7.4.3-1.el8.remi.x86_64
完毕!
验证安装的版本可以运行。
[linuxidc@localhost ~/www.linuxidc.com]$php -v
PHP 7.4.3 (cli) (built: Feb 18 2020 11:53:05) (NTS)
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
with Zend OPcache v7.4.3, Copyright (c), by Zend Technologies
完善!现在,我们已经安装了 PHP 7.4。同样重要的是,我们需要在启动时启动并启用 PHP-FPM。
[linuxidc@localhost ~/www.linuxidc.com]$sudo systemctl start php-fpm
[sudo] linuxidc 的密码:
[linuxidc@localhost ~/www.linuxidc.com]$sudo systemctl enable php-fpm
Created symlink /etc/systemd/system/multi-user.target.wants/php-fpm.service → /usr/lib/systemd/system/php-fpm.service.
要检查其状态,请执行命令。
[linuxidc@localhost ~/www.linuxidc.com]$sudo systemctl status php-fpm
指示 SELinux 允许 Apache 通过 PHP-FPM 运行来执行 PHP 代码。
[linuxidc@localhost ~/www.linuxidc.com]$ setsebool -P httpd_execmem 1
最后,重新启动 Apache Web 服务器以使 PHP 与 Apache Web 服务器一起使用。
[linuxidc@localhost ~/www.linuxidc.com]$sudo systemctl restart httpd
步骤 5:测试 PHP 信息
要在网络服务器上测试 PHP,您必须在文档根目录中创建一个 info.php 文件。
[linuxidc@localhost ~/www.linuxidc.com]$sudo nano /var/www/html/linuxidc.php
在下面插入 PHP 代码并保存文件。
<?php
phpinfo ();
?>
然后转到您的浏览器,并在下面输入 URL。请记住用服务器的实际 IP 地址替换服务器本文测试的地址。
https://www.linuxidc.com/linuxidc.php
现在,您应该能够在 Web 浏览器上查看有关 PHP 的信息。
OK!现在,您已在 CentOS 8 系统上安装了 Apache,PHP 和 MariaDB。作为一种好习惯,请确保删除 info.php 文件,因为这能够识别您正在运行的 PHP 版本,有可能造成安全风险。
更多 CentOS 相关信息见 CentOS 专题页面 https://www.linuxidc.com/topicnews.aspx?tid=14
: