Ubuntu 20.04配置Apache2 MySQL8.0 PHP7.4

发布于 作者 量尺寸留下评论

VPS的系统更新到了Ubuntu 20.04 LTS,原有的MySQL5.7 + PHP7.2的配置也需更新到MySQL8.0 + PHP7.4,据说性能有很大提升。在这儿就从前到后梳理下在Ubuntu 20.04下配置Apache2 + MySQL8.0 + PHP7.4  的全过程。(Ubuntu 19.04 、19.10适用,如果使用其他版本的PHP,MySQL的则可参考:VPS Ubuntu下快速安装 Apache2 PHP MySQL

apt update

apt upgrade

apt install software-properties-common

add-apt-repository ppa:ondrej/php

apt-get update

apt install -y apache2 apache2-utils

apt install php7.4 php7.4-cli php7.4-curl php-imagick php7.4-gd php7.4-intl php7.4-json php7.4-mbstring php7.4-mysql php7.4-opcache php7.4-readline php7.4-xml php7.4-xsl php7.4-zip php7.4-bz2 libapache2-mod-php7.4 -y

通过以上命令就完成了 Apache2 和 PHP7.4的安装。下来我们需要安装MySQL 8.0,先在 https://dev.mysql.com/downloads/file/?id=482263 查看最新版的apt-config文件的地址,然后获取到本地并更新apt-get源。

wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.11-1_all.deb

dpkg -i mysql-apt-config_0.8.11-1_all.deb

apt-get update

安装MySQL 8.0

apt-get install mysql-server

这样就完成了 Apache2 + MySQL8.0 + PHP7.4安装全过程。

这时,Apache2的主要配置文件目录在 /etc/apache2/ 中,PHP7.4的在 /etc/php/7.4/ 中。 

如,我们设定PHP 配置文件中的默认时区,编辑php.ini文件:nano /etc/php/7.4/apache2/php.ini 修改 date.timezone = Asia/Shanghai 即可。如需开启 mysqli 则将 extension=php_mysqli 前;去掉。

接下来需要对PHP 和 MySQL作一些配置。Apache2则不需要其他设置即可直接进行网站配置。

对PHP7.4的配置可根据需要进行,使用默认配置也可以正常工作,这里我启用 php7.4-fpm,需要注意的是启用php7.4-fpm后,如果原来设置过php.ini,则需要重新配置php.ini。

apt install php7.4-fpm
a2enmod proxy_fcgi setenvif
a2enconf php7.4-fpm
systemctl restart php7.4-fpm
systemctl restart apache2

然后启用PHP的扩展模块:

a2enmod rewrite ssl proxy proxy_http headers cgi

对MySQL 8进行安全设置,包括设置MySQL 8的root密码

mysql_secure_installation

运行命令后根据提示操作,密码策略建议选择1即为中等,使用字母、数字、特殊字符8位长度。其他选择Y就可以了。

如果PHP使用root用户链接数据库,则需要对MySQL的root账号密码认证模式进行更改,将用户root通过localhot连接的密码认证模式从 auth_socke 修改为 caching_sha2_password ,这样PHP7.4的MySQL认证模式和MySQL数据库的认证模式相匹配,PHP才可以和MySQL连接认证。

mysql -uroot -p

use mysql;

ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY '密码';

FLUSH PRIVILEGES;

exit;

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注