如何在 CentOS 7.4 (LAMP) 上安装 Apache、PHP 7.1 和 MySQL
本教程适用于这些操作系统版本
- 中央操作系统 6.2
在此页
- 1 条初步说明
- 2 安装 MySQL/MariaDB
- 3 安装阿帕奇
- 4 安装 PHP
- 4.1 安装 PHP 5.4
- 4.2 安装 PHP 7.0
- 4.3 安装 PHP 7.1
- 4.4 安装 PHP 7.2
本教程介绍如何使用 PHP (mod_php) 和 MySQL 数据库在 CentOS 7 服务器上安装 Apache Web 服务器。首字母缩写词 LAMP 是 Linux、Apache、MySQL、PHP 的缩写。
本更新教程展示了在 CentOS 7.4 上安装最新的 PHP 版本(7.0、7.1 和 7.2)。
1 初步说明
在本教程中,我使用主机名 server1.example.com 和 IP p 192.168.1.100。这些设置可能因您而异,因此您必须在适当的地方替换它们。
我将在此处添加 EPEL 存储库以安装最新的 phpMyAdmin,如下所示:
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*
yum -y install epel-release要在 shell 上编辑文件,我将安装 nano 编辑器。如果您更喜欢使用 vi 进行文件编辑,请跳过此步骤。
yum -y install nano
2 安装 MySQL/MariaDB
MariaDB 是原始 MySQL 开发人员 Monty Widenius 的 MySQL 分支。 MariaDB 与 MySQL 兼容,我在这里选择使用 MariaDB 而不是 MySQL。运行此命令以使用 yum 安装 MariaDB:
yum -y install mariadb-server mariadb
然后我们为 MySQL 创建系统启动链接(以便 MySQL 在系统启动时自动启动)并启动 MySQL 服务器:
systemctl start mariadb.service
systemctl enable mariadb.service为 MySQL root 帐户设置密码:
mysql_secure_installation
[ ~]#
3 安装阿帕奇
CentOS 7 附带 Apache 2.4。 Apache 直接作为 CentOS 7 软件包提供,因此我们可以像这样安装它:
yum -y install httpd
这里是安装过程的截图。
现在将您的系统配置为在引导时启动 Apache ...
systemctl start httpd.service
systemctl enable httpd.service
为了能够从外部访问 Web 服务器,我们必须在防火墙中打开 HTTP(80)和 HTTPS(443)端口。 CentOS 上的默认防火墙是 firewalld,可以使用 firewalld-cmd 命令进行配置。
firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --reload现在将浏览器指向服务器的 IP 地址,在我的示例中为 http://192.168.1.100,您应该会看到 Apache 占位符页面:
4 安装PHP
CentOS 默认附带的 PHP 版本非常旧(PHP 5.4)。因此,我将在本章中向您展示一些选项,用于从 Remi 存储库安装较新的 PHP 版本,如 PHP 7.0 或 7.1。
添加 Remi CentOS 存储库。
rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm
安装 yum-utils 因为我们需要 yum-config-manager 实用程序。
yum -y install yum-utils
并运行百胜更新
yum update
现在您必须选择要在服务器上使用的 PHP 版本。如果您喜欢使用 PHP 5.4,请继续阅读第 4.1 章。要安装 PHP 7.0,请按照第 4.2 章中的命令进行操作,对于 PHP 7.1,请使用第 4.3 章,对于 PHP 7.1,请使用第 4.4 章。只遵循 4.x 章节中的一章而不是所有章节,因为您一次只能使用一个 PHP 版本与 Apache mod_php。
4.1 安装PHP 5.4
要安装 PHP 5.4,请运行以下命令:
yum -y install php
4.2 安装PHP 7.0
我们可以安装 PHP 7.0 和 Apache PHP 7.0 模块,如下所示:
yum-config-manager --enable remi-php70
yum -y install php php-opcache
4.3 安装 PHP 7.1
如果您想改用 PHP 7.1,请使用:
yum-config-manager --enable remi-php71
yum -y install php php-opcache
4.4 安装 PHP 7.2
如果您想改用 PHP 7.2,请使用:
yum-config-manager --enable remi-php72
yum -y install php php-opcache
在此示例和可下载的虚拟机中,我将使用 PHP 7.2。
我们必须重新启动 Apache 以应用更改:
systemctl restart httpd.service
5 测试 PHP/获取有关 PHP 安装的详细信息
默认网站的文档根目录是/var/www/html。我们将在该目录中创建一个小的 PHP 文件 (info.php),并在浏览器中调用它来测试 PHP 安装。该文件将显示有关我们的 PHP 安装的许多有用的详细信息,例如已安装的 PHP 版本。
nano /var/www/html/info.php
<?php phpinfo();
现在我们在浏览器中调用该文件(例如 http://192.168.1.100/info.php):
如您所见,PHP 7.2 正在运行,并且它通过 Apache 2.0 处理程序运行,如服务器 API 行所示。如果进一步向下滚动,您将看到所有已在 PHP 中启用的模块。那里没有列出 MySQL,这意味着我们还没有在 PHP 中支持 MySQL。
6 在 PHP 中获得 MySQL 支持
要在 PHP 中获得 MySQL 支持,我们可以安装 php-mysqlnd 包。最好安装一些其他 PHP 模块,因为您的应用程序可能需要它们。您可以像这样搜索可用的 PHP5 模块:
yum search php
选择你需要的并像这样安装它们:
yum -y install php-mysqlnd php-pdo
在下一步中,我将安装 CMS 系统(如 WordPress、Joomla 和 Drupal)所需的一些常用 PHP 模块:
yum -y install php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-soap curl curl-devel
现在重新启动 Apache Web 服务器:
systemctl restart httpd.service
现在在浏览器中重新加载 http://192.168.1.100/info.php 并再次向下滚动到模块部分。您现在应该在那里找到许多新模块,例如 curl 等:
如果您不再需要 php 信息输出,则出于安全原因删除该文件。
rm /var/www/html/info.php
7 phpMyAdmin 安装
phpMyAdmin 是一个网络界面,您可以通过它管理您的 MySQL 数据库。
现在可以按如下方式安装 phpMyAdmin:yum -y install phpMyAdmin
现在我们配置 phpMyAdmin。我们更改 Apache 配置,以便 phpMyAdmin 不仅允许来自本地主机的连接(通过注释掉
节并添加 Require all granted 行): nano /etc/httpd/conf.d/phpMyAdmin.conf
[...]
Alias /phpMyAdmin /usr/share/phpMyAdmin Alias /phpmyadmin /usr/share/phpMyAdmin <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>
Require all granted
</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>
<Directory /usr/share/phpMyAdmin/> Options none AllowOverride Limit Require all granted </Directory>
[...]接下来,我们将 phpMyAdmin 中的身份验证从 cookie 更改为 http:
nano /etc/phpMyAdmin/config.inc.php
[...] $cfg['Servers'][$i]['auth_type'] = 'http'; // Authentication method (config, http or cookie based)? [...]
重启阿帕奇:
systemctl restart httpd.service
之后就可以在http://192.168.1.100/phpmyadmin/下访问phpMyAdmin了:
8 下载为虚拟机
此设置可作为 ova/ovf 格式的虚拟机下载(与 VMWare 和 Virtualbox 兼容)供 howtoforge 订阅者使用。
VM 的登录详细信息
- Linux root 密码是:howtoforge。
- MySQL 根密码是:howtoforge
请在首次登录时更改这两个密码。
- 虚拟机的 IP 地址是 192.168.1.100
9个链接
阿帕奇:http://www.phpmyadmin.net/