在CentOS 7.4(LAMP)上安装Apache,PHP和MariaDB
在本教程中,我使用IP地址为192.168.10.10的主机
这些设置可能会有所不同,因此您必须在适当的位置替换它们。
版本说明
- Linux:CentOS 7.4
- Apache:httpd-2.4.6
- MariaDB:MariaDB 5.5.56
- PHP:PHP 5.4.16
配置SELinux和Firewalld服务
在本教程中我们关闭SELinux 服务,因此我们可以这样操作:
[root@kangvcar1 ~]# vim /etc/selinux/config
SELINUX=disabled # 修改SELinux配置文件的SELINUX参数为disabled,重启后生效
[root@kangvcar1 ~]# setenforce 0 # 此命令可以让SELinux临时关闭并立即生效
在教程中我们不关闭Firewalld服务,因为在生产环境中我们应该开启它以更加安全的工作,同时我们配置开放http和https服务来提供互联网上的主机访问。因此我们可以这样操作:
[root@kangvcar1 ~]# systemctl start firewalld
[root@kangvcar1 ~]# firewall-cmd --permanent --zone=public --add-service=http # 放行 http 服务
[root@kangvcar1 ~]# firewall-cmd --permanent --zone=public --add-service=https # 放行 https 服务
[root@kangvcar1 ~]# firewall-cmd --reload
如果互联网无法访问站点,可能要到服务器提供商的控制台放行相应端口
安装 httpd 2.4.6
CentOS 7附带Apache 2.4。因此我们可以像这样安装它:
[root@kangvcar1 ~]# yum -y install httpd # 安装httpd-2.4
## 为httpd创建系统启动链接(以便httpd在系统引导时自动启动)并启动httpd服务器:
[root@kangvcar1 ~]# systemctl start httpd
[root@kangvcar1 ~]# systemctl enable httpd
安装MariaDB 5.5.56
MariaDB是MySQL分支。MariaDB与MySQL兼容,我选择在这里使用MariaDB而不是MySQL是因为CentOS7.4默认提供了MariaDB的rpm包。运行以下命令以yum安装MariaDB:
[root@kangvcar1 ~]# yum -y install mariadb-server mariadb
## 为MariaDB创建系统启动链接(以便MariaDB在系统引导时自动启动)并启动MariaDB服务器:
[root@kangvcar1 ~]# systemctl start mariadb
[root@kangvcar1 ~]# systemctl enable mariadb
执行MariaDB初始化脚本并为root用户设置密码:
[root@kangvcar1 ~]# mysql_secure_installation
注意:对于所有MariaDB 服务器在生产中使用,建议运行此脚本的所有部分!请仔细阅读每一步!
安装 PHP 5.4.16
PHP最新版已经到了7.1 。安装方法大同小异,这里我们安装CentOS7.4默认提供的PHP 5.4.16 。运行以下命令以yum安装PHP:
[root@kangvcar1 ~]# yum -y install php
安装PHP之后我们必须重新启动Apache:
[root@kangvcar1 ~]# systemctl restart httpd
测试PHP5 是否和Apache关联起来,并获取有关您的PHP5安装的详细信息。我们现在创建一个小型PHP文件(index.php)并在浏览器中调用它。该文件将显示大量有关我们PHP安装的有用信息:
[root@kangvcar1 ~]# vim /var/www/html/index.php
<?php
phpinfo();
?>
在浏览器打开 http://192.168.10.10 即可看到PHP的信息,正如您所看到的,PHP5正在运行,它正在通过Apache 2.0 Handler进行工作,如Server API行中所示。如果向下滚动,您将看到所有已在PHP5中启用的模块。MySQL没有在那里列出,这意味着我们在PHP5中还没有MySQL支持。为了在PHP中获得MySQL支持,我们可以安装php-mysql
软件包。最好安装一些其他PHP5模块,以及您可能需要它们用于您的应用程序。您可以搜索可用的PHP5模块,如下所示:
[root@kangvcar1 ~]# yum search php # 搜索可用的php模块
## 选择你需要的,并像这样安装它们:
[root@kangvcar1 ~]# yum -y install php-mysql
在下一步中,我将安装一些CMS系统需要的常见PHP模块,如Wordpress,Joomla和Drupal:
[root@kangvcar1 ~]# yum -y install php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap curl curl-devel
安装完成后,重新启动httpd服务,然后再次打开 http://192.168.10.10 即可看到PHP的更多扩展信息:
[root@kangvcar1 ~]# systemctl restart httpd
安装phpMyAdmin-4.4.15.10
我将在这里添加EPEL repo以安装最新的phpMyAdmin,如下所示:
[root@kangvcar1 ~]# yum -y install epel-release
[root@kangvcar1 ~]# yum -y install phpmyadmin
然后修改配置文件以允许其他主机访问(默认只允许本地127.0.0.1访问),在<Directory /usr/share/phpMyAdmin/>
容器内注释<RequireAny>
配置,然后在<Directory /usr/share/phpMyAdmin/>
容器内添加Require all granted
配置即可:
[root@kangvcar1 ~]# vim /etc/httpd/conf.d/phpMyAdmin.conf
<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>
Options none
AllowOverride Limit
Require all granted
</Directory>
重新启动httpd服务,在浏览器打开 http://192.168.10.10/phpmyadmin 即可。