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 -y apache2 apache2-utils
apt install php7.4-fpm php7.4-cli php7.4-curl php7.4-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 的 php_mod:
a2dismod php7.4
然后启用PHP的扩展模块:
a2enmod rewrite ssl proxy proxy_http headers cgi
proxy_fcgi
setenvif
a2enconf php7.4-fpm
systemctl restart php7.4-fpm
systemctl restart apache2
安装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/fpm/php.ini
修改 date.timezone = Asia/Shanghai 即可。如果找不到 php.ini 文件位置:
php -i | grep “/php.ini”
接下来需要对PHP 和 MySQL作一些配置。Apache2则不需要其他设置即可直接进行网站配置。
对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;