centos8 安装 LMAP(Linux+Apache+MySQL+PHP)环境
系统环境:
cat /etc/redhat-release # CentOS Linux release 8.0.1905 (Core) getconf LONG_BIT # 64 uname -a # Linux insome 4.18.0-80.11.2.el8_0.x86_64 #1 SMP Tue Sep 24 11:32:19 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
1. 更新 CentOS 8 软件包
dnf update ... ...
更新后查看系统环境
cat /etc/redhat-release # CentOS Linux release 8.1.1911 (Core) uname -a # Linux insome 4.18.0-147.5.1.el8_1.x86_64 #1 SMP Wed Feb 5 02:00:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Linux 内核的升级,reboot 重启之后uname -a
才会显示更新
2. 在 CentOS 8 上安装 Apache Web 服务器
安装 Apache
dnf install httpd httpd-tools
设置 Apache 服务开机自启
systemctl enable httpd # Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.service.
启动相关命令
# 启动Apache服务 systemctl start httpd# 关闭Apache服务
systemctl stop httpd# 查看Apache服务状态
systemctl status httpd# 重启Apache服务
systemctl restart httpd
查看 Apache 的版本以及与 Apache 相关的其他详细信息
httpd -v
# Server version: Apache/2.4.37 (centos)
# Server built: Dec 23 2019 20:45:34rpm -qi httpd
# Name : httpd
# Version : 2.4.37
# Release : 16.module_el8.1.0+256+ae790463
# Architecture: x86_64
# Install Date: Wed 04 Mar 2020 10:02:16 AM CST
# Group : System Environment/Daemons
# Size : 5611291
# License : ASL 2.0
# Signature : RSA/SHA256, Tue 24 Dec 2019 06:22:02 AM CST, Key ID # 05b555b38483c65d
# Source RPM : httpd-2.4.37-16.module_el8.1.0+256+ae790463.src.rpm
# Build Date : Tue 24 Dec 2019 04:46:30 AM CST
# Build Host : x86-02.mbox.centos.org
# Relocations : (not relocatable)
# Packager : CentOS Buildsys <bugs@centos.org>
# Vendor : CentOS
# URL : https://httpd.apache.org/
# Summary : Apache HTTP Server
# Description :
# The Apache HTTP Server is a powerful, efficient, and extensible
# web server.
Apache 配置文件路径:
/etc/httpd/conf/httpd.conf
现在可以访问服务器 IP 地址查看 Apache 测试页
阿里云服务器默认没有开启 80 端口,访问 IP 地址测试 Apache 是否正常工作前,需要先开启服务器的 80 端口
3. 在 CentOS 8 上安装 MariaDB
MariaDB 是 MySQL 数据库的分支。 它是由一个 MySQL 的前团队开发的,该团队担心 Oracle 可能会将 MySQL 变成一个开源项目。 它具有比 MySQL 更好的创新功能,使其比 MySQL 更好。
安装 MariaDB
dnf install mariadb-server mariadb -y
设置 MariaDB 服务开机自启
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 服务
systemctl start mariadb# 关闭 MariaDB 服务
systemctl stop mariadb# 查看 MariaDB 服务状态
systemctl status mariadb# 重启 MariaDB 服务
systemctl restart mariadb
设置密码
mysql_secure_installation
# Enter current password for root (enter for none):
# 第一次设置的时候 root 密码为空,直接回车即可
# 之后设置新密码
# 之后根据提示输入 y 或者 n,建议一直 y 到最后。
MariaDB 配置文件路径:
/etc/my.cnf
4. 在 CentOS 8 上安装 PHP 7
获取 PHP 最新版本
我们将使用 Remi 信息库安装最新版本的 PHP
# 安装 EPEL 存储库
dnf install# 安装yum utils并使用以下命令启用
remi-repositorydnf install dnf-utils# 搜索可下载的 PHP 模块
dnf module list php
# Remi's Modular repository for Enterprise Linux 8 - x86_64 26 kB/s | 538 kB 00:20
# Safe Remi's RPM repository for Enterprise Linux 8 - x86_64 22 kB/s | 1.4 MB 01:06
# Last metadata expiration check: 0:00:06 ago on Wed 04 Mar 2020 11:06:50 AM CST.
# CentOS-8 - AppStream
# Name Stream Profiles Summary
# php 7.2 [d] 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# Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
安装 PHP 最新版本
# 输出表明当前默认安装的 PHP 版本是 PHP 7.2。要安装较新的版本 PHP 7.4,请重置 PHP 模块
dnf module reset php# 重置PHP模块后,启用PHP 7.4模块
dnf module enable php:remi-7.4
# 再次 dnf module list php 搜索可下载 PHP 模块时,remi-7.4 会显示 [e]已启用# 最后,使用命令安装PHP,PHP-FPM(FastCGI进程管理器)和关联的PHP模块。
dnf install php php-opcache php-gd php-curl php-mysqlnd
# Installed:
# php-7.4.3-1.el8.remi.x86_64 php-common-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-cli-7.4.3-1.el8.remi.x86_64 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 php-xml-7.4.3-1.el8.remi.x86_64 gd-2.2.5-6.el8.x86_64
# jbigkit-libs-2.1-14.el8.x86_64 libXpm-3.5.12-7.el8.x86_64 libjpeg-turbo-1.5.3-10.el8.x86_64
# libtiff-4.0.9-15.el8.x86_64 libwebp-1.0.0-1.el8.x86_64 oniguruma-6.8.2-1.el8.x86_64
# libxslt-1.1.32-3.el8.x86_64 libsodium-1.0.18-2.el8.x86_64 php-json-7.4.3-1.el8.remi.x86_64
# php-pdo-7.4.3-1.el8.remi.x86_64
查看 PHP 版本
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-FPM 服务开机自启
systemctl enable php-fpm
# Created symlink /etc/systemd/system/multi-user.target.wants/php-fpm.service → /usr/lib/systemd/system/php-fpm.service.
启动相关命令
# 启动 PHP-FPM 服务
systemctl start php-fpm# 关闭 PHP-FPM 服务
systemctl stop php-fpm# 查看 PHP-FPM 服务状态
systemctl status php-fpm# 重启 PHP-FPM 服务
systemctl restart php-fpm
指示 SELinux 允许 Apache 通过 PHP-FPM 运行来执行 PHP 代码
setsebool -P httpd_execmem 1# 最后,重新启动Apache Web服务器以使PHP与Apache Web服务器一起使用。
systemctl restart httpd
PHP 配置文件路径:
/etc/php.ini
测试 PHP 信息
# 要在网络服务器上测试PHP,您必须在文档根目录中创建一个info.php文件。
vim /var/www/html/linuxidc.php# 输入:
# <?php
# phpinfo();
# ?>
浏览器访问查看 PHP 模块是否正常工作