由于本网站此前使用的是 CentOS7 ,折腾起来诸多不便,于是将其更换为 Ubuntu 18.04,实现以下功能:Apache2 多站点配置文件、开启 HTTP/2 协议 ……
目录:
一、Apache2 安装
二、PHP 7.4 安装
三、MariaDB 安装
四、WordPress 安装
五、开启 HTTP/2
一、Apache2 安装
apt-get install apache2
若出现 AH00111: Config variable ${APACHE_RUN_DIR} is not defined 等一系列相关错误,只需:
source /etc/apache2/envvars
二、PHP 7.4 安装
由于默认的源目前只有 PHP 7.2,而 WordPress 的推荐 PHP 版本是 7.4,因此需要添加第三方源:
apt-get install software-properties-common add-apt-repository ppa:ondrej/php apt-get update apt-get install php7.4
同时安装 WordPress 所需 PHP 模块:
apt-get install php-imagick php7.4-curl php7.4-gd php7.4-mbstring php7.4-xml php7.4-zip
三、MariaDB 安装
apt-get install mariadb-server
参考:如何搭建一个网站 —— 以本站为例 完成数据库配置
或者点此查看详细步骤
初始化 MariaDB:
mysql_secure_installation
第一个问题直接回车,之后设置密码,其他选项可直接回车(保持默认)
进入数据库程序:
mysql -u root -p密码 (p与密码之间无空格)
为 WordPress 创建数据库:
--创建数据库 CREATE DATABASE wordpress; --创建数据库用户名和密码: CREATE USER wordpressuser@localhost IDENTIFIED BY 'wordpress_password'; --设置访问权限: GRANT ALL PRIVILEGES ON wordpress.* TO wordpressuser@localhost IDENTIFIED BY 'wordpress_password'; --刷新数据库设置: FLUSH PRIVILEGES; --退出: exit
Ps:wordpressuser 和 wordpress_password 可以自定义,但注意后续设置访问权限时要同步修改,如:
CREATE USER kyle@localhost IDENTIFIED BY '123456'; GRANT ALL PRIVILEGES ON wordpress.* TO kyle@localhost IDENTIFIED BY '123456';
重启相关服务:
systemctl restart apache2 systemctl restart mariadb
四、WordPress 安装
本文以在 /home/wordpress 安装为例:
cd /home #进入 home 目录 wget https://wordpress.org/latest.tar.gz tar -zvfx latest.tar.gz chown -R www-data /home/wordpress #此条命令与 CentOS 不同
在 /etc/apache2/sites-available 中新建文件 wordpress.conf 并输入以下内容:
<VirtualHost *:80> ServerName kylechoy.top ServerAlias kylechoy.top ServerAdmin 此处填写管理员邮箱 DocumentRoot /home/wordpress <Directory /home/wordpress> Options Indexes FollowSymLinks AllowOverride all Order deny,allow Allow from all Require all granted </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
保存后执行:
a2dissite 000-default #关闭默认站点 a2ensite wordpress #开启文件名为 wordpress.conf 的站点
并根据提示重启 Apache2。
Ps:a2ensite、a2dissite 分别对应开启、关闭站点配置文件。
之后便可访问域名配置 WordPress。
五、开启 HTTP/2
HTTP/2 是下一代 HTTP 协议,能大幅度提升网页性能,仅支持在 HTTPS 站点使用。
首先开启 Apache2 的 HTTP2 模块:
a2enmod http2
之后需要将 MPM 从 prelock 改为 event(可通过 apache2 -V 查看当前模式):
systemctl stop apache2 apt-get install php7.4-fpm a2enmod proxy_fcgi setenvif a2enconf php7.4-fpm a2dismod php7.4 a2dismod mpm_prefork a2enmod mpm_event
之后在 apache2 站点配置文件(已开启 SSL)中添加:
Protocols h2 http/1.1
重启 Apache2 服务即可发现已使用 HTTP/2 协议打开网页(只支持 HTTPS 协议)。