在 RHEL/CentOS 7.0 中安装 LAMP
跳过 LAMP 的介绍，因为我认为你们大多数已经知道了。这个教程会集中在如何在升级到 Apache 2.4 的 Red Hat Enterprise Linux 7.0 和 CentOS 7.0 中安装和配置 LAMP：Linux、Apache、 MariaDB、 PHP/PhpMyAdmin。  在 RHEL/CentOS 7.0 中安装 LAMP 前置要求 根据使用的发行版是 RHEL 还是 CentOS 7.0，按照下面的链接来进行最小化的系统安装，网络使用静态 IP。 对于 RHEL 7.0  RHEL 7.0 安装过程 在 RHEL 7.0 中注册和启用订阅仓库  对于 CentOS 7.0  CentOS 7.0 安装过程  第一步：使用基本配置安装apache 1、在完成最小化系统安装，并
CentOS 7 LAMP
59.42.237.0
原文是国外的，phpmyadmin的源电信网不可用，不知道国内其他人有测试过没
arhool
2015-07-26T19:55:55.000
跳过 LAMP 的介绍，因为我认为你们大多数已经知道了。这个教程会集中在如何在升级到 Apache 2.4 的 Red Hat Enterprise Linux 7.0 和 CentOS 7.0 中安装和配置 LAMP：Linux、Apache、 MariaDB、 PHP/PhpMyAdmin。  在 RHEL/CentOS 7.0 中安装 LAMP 前置要求 根据使用的发行版是 RHEL 还是 CentOS 7.0，按照下面的链接来进行最小化的系统安装，网络使用静态 IP。 对于 RHEL 7.0  RHEL 7.0 安装过程 在 RHEL 7.0 中注册和启用订阅仓库  对于 CentOS 7.0  CentOS 7.0 安装过程  第一步：使用基本配置安装apache 1、在完成最小化系统安装，并
跳过 LAMP 的介绍，因为我认为你们大多数已经知道了。这个教程会集中在如何在升级到 Apache 2.4 的 Red Hat Enterprise Linux 7.0 和 CentOS 7.0 中安装和配置 LAMP：Linux、Apache、 MariaDB、 PHP/PhpMyAdmin。


![Install LAMP in CentOS 7](/data/attachment/album/201507/09/235139hp3a3uac3ktkoadu.jpg)


*在 RHEL/CentOS 7.0 中安装 LAMP*


#### 前置要求


根据使用的发行版是 RHEL 还是 CentOS 7.0，按照下面的链接来进行最小化的系统安装，网络使用静态 IP。


**对于 RHEL 7.0**


* [RHEL 7.0 安装过程](http://www.tecmint.com/redhat-enterprise-linux-7-installation/)
* [在 RHEL 7.0 中注册和启用订阅仓库](http://www.tecmint.com/enable-redhat-subscription-reposiories-and-updates-for-rhel-7/)


**对于 CentOS 7.0**


* [CentOS 7.0 安装过程](http://www.tecmint.com/centos-7-installation/)


### 第一步：使用基本配置安装apache


1、在完成最小化系统安装，并[在 RHEL/CentOS 7.0 上配置静态 IP](/article-3977-1.html) 后，就可以使用下面的命令从官方仓库安装最新的 Apache 2.4 httpd 服务了。



```
# yum install httpd

```

![Install Apache in CentOS 7](/data/attachment/album/201507/09/235140r70bpb5vxbnpp8gd.png)


*安装 apache 服务*


2、安装完成后，使用下面的命令来管理apache守护进程，因为 RHEL 和 CentOS 7.0 都将 init 脚本从 SysV 升级到了systemd，所以同时你还可以使用 SysV 脚本和 Apache 脚本来管理服务。



```
# systemctl status|start|stop|restart|reload httpd
或者 
# service httpd status|start|stop|restart|reload
或者 
# apachectl configtest| graceful

```

![Start Apache in CentOS 7](/data/attachment/album/201507/09/235140yrpslfrzjar1gxfx.png)


*启动apache服务*


3、在使用 systemd 初始化脚本来启动 apache 服务后，要用 `firewall-cmd` 打开 RHEL/CentOS 7.0 防火墙规则， 这是通过 [firewalld](/article-4425-1.html) 守护进程管理 iptables 的默认命令。\*\*



```
# firewall-cmd --add-service=http

```

**注意**：上面的命令会在系统重启或者 firewalld 服务重启后失效，因为它是即时的规则，它不会永久生效。要使 iptables 规则在 fiewalld 中持久化，使用 `--permanent` 选项并重启 firewalld 服务来生效。（LCTT 译注：也可以不重启 firewalld 服务，而是再执行一遍不带 `--permanent` 选项的命令。）



```
# firewall-cmd --permanent --add-service=http
# systemctl restart firewalld

```

![Enable Firewall in CentOS 7](/data/attachment/album/201507/09/235142dikwijwwvidimkj7.png)


*在 CentOS 7 中启用防火墙*


下面是 firewalld 其他的重要选项：



```
# firewall-cmd --state
# firewall-cmd --list-all
# firewall-cmd --list-interfaces
# firewall-cmd --get-service
# firewall-cmd --query-service service_name
# firewall-cmd --add-port=8080/tcp

```

4、要验证 apache 的功能，打开一个远程浏览器并使用 http 协议访问你服务器的 IP 地址(http://server\_IP)， 应该会显示下图中的默认页面。


![Apache Default Page](/data/attachment/album/201507/09/235144ogrj7wwwmdw9g51x.png)


*Apache 默认页*


5、现在 apache 的根地址在 `/var/www/html`，该目录中没有提供任何索引文件。如果你想要看见根目录下的文件夹列表，打开 apache 欢迎配置文件并设置 `<LocationMach>` 下 `Indexes` 前的状态从`-`到`+`，下面的截图就是一个例子。



```
# nano /etc/httpd/conf.d/welcome.conf

```

![Apache Directory Listing](/data/attachment/album/201507/09/235145kjxaj9x3rutt3uwr.png)


*Apache 目录列出*


6、关闭文件，重启 apache 服务来使设置生效，重载页面来看最终效果。



```
# systemctl restart httpd

```

![Apache Index File](/data/attachment/album/201507/09/235146frba0arvva4znuqb.png)


*Apache 索引文件*


### 第二步：为 Apache 安装 php5 支持


7、在为 apache 安装 php 支持之前，使用下面的命令的得到所有可用的php模块和扩展。



```
# yum search php

```

![Install PHP in CentOS 7](/data/attachment/album/201507/09/235149ky3itc4clp1gtg4a.png)


在 CentOS 7 上安装 PHP\*


8、根据你所要使用的应用类型，安装上述列表中所需的 PHP 模块。对于 PHP 中的基本的 MariaDB 支持和 PhpMyAdmin，你需要安装如下模块。



```
# yum install php php-mysql php-pdo php-gd php-mbstring

```

![Install PHP Modules in CentOS 7](/data/attachment/album/201507/09/235151ukrvdtdcrc2d3j3t.png)


*安装 PHP 模块*


![Install PHP mbstring Module](/data/attachment/album/201507/09/235155qo893e3k88xzv00p.png)


*安装 PHP mbstring 模块*


9、 要在你的浏览器上显示 PHP 的全部信息，用 root 账号执行如下命令在 Apache 的文档根目录下创建一个 `info.php` 文件，然后重启 httpd 服务，并在你的浏览器里面访问 http://server\_IP/info.php 。



```
# echo "<?php phpinfo(); ?>" > /var/www/html/info.php
# systemctl restart httpd

```

![Check PHP Info in CentOS 7](/data/attachment/album/201507/09/235156q48g5166tmg4zrtr.png)


*查看 CentOS 7 上的 PHP 信息*


10、如果你得到一个 PHP 的日期和时区错误，打开配置文件 `php.ini`，取消 `date.timezone` 语句的注释，加上你的实际时区参数，然后重启 Apache 守护进程。



```
# nano /etc/php.ini

```

找到并如下修改`date.timezone`，参考 [PHP 支持的时区列表](http://php.net/manual/en/timezones.php)。（LCTT 译注：对于中国，可以使用 Asia/Shanghai、Asia/Chongqing 等，但是不建议使用向后兼容而保留的 PRC。）



```
date.timezone = Continent/City

```

![Set Timezone in PHP](/data/attachment/album/201507/09/235159fwyj0ty2nl27ssdq.png)


*设置 PHP 的时区*


### 第三步：安装和配置 MariaDB 数据库


11、 Red Hat Enterprise Linux/CentOS 7.0 使用 MariaDB 替换 MySQL 为默认数据库管理系统。使用如下命令安装 MariaDB 数据库。



```
# yum install mariadb-server mariadb

```

![Install MariaDB in CentOS 7](/data/attachment/album/201507/09/235201wwvwvpxm176kvmxl.png)


*在 CentOS 7中安装 MariaDB*


12、安装 MariaDB 后，启动数据库守护进程并使用 mysql*secure*installation 脚本来保护数据库（设置数据库的 root 密码、禁止远程 root 登录、移除测试数据库、移除匿名用户等）。



```
# systemctl start mariadb
# mysql_secure_installation

```

![Start MariaDB Database](/data/attachment/album/201507/09/235204olf6gfczfklecjtt.png)


*启动 MariaDB 数据库*


![Secure MySQL Installation](/data/attachment/album/201507/09/235205jvubttfa0url0003.png)


*MariaDB 安全设置*


13、要测试数据库功能，使用 root 账户登录 MariaDB 并用 quit 退出。



```
mysql -u root -p
MariaDB > SHOW VARIABLES;
MariaDB > quit

```

![Connect MySQL Database in CentOS](/data/attachment/album/201507/09/235207w8r2scbsc4b2ccs8.png)


*连接 MariaDB 数据库*


### 第四步：安装 PhpMyAdmin


14、 RHEL 7.0 或者 CentOS 7.0 仓库默认没有提供 PhpMyAdmin 二进制安装包。如果你不适应使用 MySQL 命令行来管理你的数据库，你可以通过下面的命令启用 CentOS 7.0 rpmforge 仓库来安装 PhpMyAdmin。



```
# yum install http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm

```

启用 rpmforge 仓库后，下面安装 PhpMyAdmin。



```
# yum install phpmyadmin

```

![Enable RPMForge in CentOS 7](/data/attachment/album/201507/09/235209ley142yklt1bigb4.png)


*启用 RPMForge 仓库*


15、下面配置 PhpMyAdmin 的 `phpmyadmin.conf` 来允许远程连接，它位于 Apache 的 `conf.d` 目录下，并注释掉下面的行。



```
# nano /etc/httpd/conf.d/phpmyadmin.conf

```

使用#来注释掉下列行。



```
# Order Deny,Allow
# Deny from all
# Allow from 127.0.0.1

```

![Allow Remote PhpMyAdmin Access](/data/attachment/album/201507/09/235210svavv1sz2qvewh91.png)


*允许远程 PhpMyAdmin 访问*


16、 要使用 cookie 验证来登录 PhpMyAdmin，像下面的截图那样使用[生成的秘密字符串](http://www.question-defense.com/tools/phpmyadmin-blowfish-secret-generator)来添加一个 blowfish 字符串到 `config.inc.php` 文件中，重启 apache 服务并打开 URL：http://server\_IP/phpmyadmin/。



```
# nano /etc/httpd/conf.d/phpmyadmin.conf
# systemctl restart httpd

```

![Add Blowfish in PhpMyAdmin](/data/attachment/album/201507/09/235213zqszo9ipqy677q67.png)


*在 PhpMyAdmin 中添加 Blowfish*


![PhpMyAdmin Dashboard](/data/attachment/album/201507/09/235216j0hohh2m82gj82aw.png)


*PhpMyAdmin 面板*


### 第五步：在系统范围内启用 LAMP


17、 如果你需要在重启后自动运行 MariaDB 和 Apache 服务，你需要在系统级地启用它们。



```
# systemctl enable mariadb
# systemctl enable httpd

```

![Enable Services System Wide](/data/attachment/album/201507/09/235217i9chiwom8thjmijo.png)


*系统级启用服务*


这就是在 Red Hat Enterprise 7.0 或者 CentOS 7.0 中安装 LAMP 的过程。在 CentOS/RHEL 7.0 上关于 LAMP 的系列文章接下来将会讨论在 Apache 中创建虚拟主机，生成 SSL 证书、密钥和添加 SSL 事务支持。




---


via: <http://www.tecmint.com/install-lamp-in-centos-7/>


作者：[Matei Cezar](http://www.tecmint.com/author/cezarmatei/) 译者：[geekpi](https://github.com/geekpi) 校对：[wxy](https://github.com/wxy)


本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译，[Linux中国](https://linux.cn/) 荣誉推出

