如何安装Apache, MySQL, PHP (LAMP)在CentOS/RHEL 7

时间:2019-05-29 14:47:51  来源:igfitidea点击:

LAMP代表Linux、Apache、MySQL和PHP。
它是用来托管用PHP编程语言编写的网站,使用MySQL作为后台数据库服务器。
本文将在CentOS 7和RedHat 7系统上安装Apache 2.4、MySQL 8和PHP 7.3。

步骤1 -准备工作

两个最流行的rpm存储库REMI和EPEL拥有大部分更新的包。
他们还提供了LAMP安装的最新软件包。
在CentOS 7系统上使用以下命令启用这两个存储库。

$ rpm -Uvh http://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-7-11.noarch.rpm
$ rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

步骤2 -安装Apache服务器

Apache或HTTP是基于Linux的系统上最流行的web服务器。
通过启用EPEL和REMI yum存储库,使用以下命令安装Apache web服务器。

$ yum --enablerepo=epel,remi install httpd

现在启动httpd服务并启用在引导时使用命令启动。

$ systemctl enable httpd.service
$ systemctl start httpd.service

步骤3 -安装MySQL服务器

首先,使用以下命令在系统中添加MySQL yum存储库。
我们还可以通过访问查找用于其他操作系统的存储库rpm。
下面的命令将与CentOS和RedHat 7一起工作。

$ rpm -Uvh  https://repo.mysql.com/mysql80-community-release-el7-1.noarch.rpm

默认的MySQL 8存储库是启用安装的。
编辑存储库配置文件(/etc/yum.repos.d/mysql-community.repo)并根据需求启用/禁用存储库。
然后安装MySQL服务器和其他依赖包。

$ yum install mysql-server

安装后启用MySQL服务并启动它。

$ systemctl enable mysqld.service
$ systemctl start mysqld.service

安装程序为MySQL root用户生成一个临时密码并复制到日志文件中。
我们可以使用下面的命令找到该密码。

$ grep "A temporary password" /var/log/mysqld.log  | tail -n1

A temporary password is generated for Hyman@theitroad: Ei12!YpBy2hx

在新安装的MySQL服务器上执行安全加固。

$ mysql_secure_installation

Enter password for user root:  [Enter password here found in log file]
The existing password for the user account root has expired. Please set a new password. 
New password: [Enter new password]
Re-enter new password: [Re-enter new password]

Change the password for root?   - n
Remove anonymous users?   - y
Disallow root login remotely?    - y
Remove test database and access to it?    - y
Reload privilege tables now?   - y

步骤4 -安装PHP

使用以下命令安装启用EPEL和REMI存储库的PHP包。

$ yum --enablerepo=epel,remi-php74 install php

然后安装所需的PHP模块。
使用以下命令列出可用模块并安装它。

$ yum --enablerepo=remi-php74 list php-*
$ yum --enablerepo=remi-php74 install php-mysql php-xml php-xmlrpc php-soap php-gd

在安装php和其他php模块之后,重新启动Apache服务。

$ systemctl restart httpd.service

步骤5 -配置防火墙,运行web服务通过

最后,打开HTTP(80)和HTTPS(443)服务的防火墙端口。

$ firewall-cmd --permanent --zone=public --add-service=<orange>http</orange>
$ firewall-cmd --permanent --zone=public --add-service=<orange>https</orange>
$ firewall-cmd --reload

步骤6 -检查已安装版本

让我们逐个使用下面的命令检查系统上安装的包的版本。

$ php -v

PHP 7.4.5 (cli) (built: Apr 14 2020 12:54:33) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies

$ httpd -v 

Server version: Apache/2.4.6 (CentOS)
Server built:   Aug  8 2019 11:41:18

$ mysql -V 

mysql  Ver 8.0.19 for Linux on x86_64 (MySQL Community Server - GPL)

现在,我们已经成功地在CentOS或RedHat 7系统上配置了LAMP设置。