由于前两天在两个 Arch 上安装并配置了 MariaDB 和 WordPress,这里做一个记录。
注意!
这不是任何产品的官方文档、帮助或使用说明,仅代表博主个人的经验总结,难免会有疏漏和错误之处。请务必结合官方文档进行阅读,以作补充。
由于用腻了 Docker,也听说它的性能一般 [来源请求],所以准备在系统上安装 WordPress。这次的配置如下:
- 在
/data/www
安装 WordPress PHP 文件,所有者http
- 在
/data/db
安装 MariaDB 数据库,所有者mysql
- 使用 php-fpm 运行(?)PHP
- 使用 Caddy 1 作为 Web 服务器,用户 http
- 数据库和 PHP 均运行在本地,无集群 ,无远程访问。
所有包均可以在 Arch Linux 官方仓库找到。配置好权限后进行下一步。
安装 MariaDB #
首先,安装软件包 mariadb
。
其次,安装数据库:mariadb-install-db --user=mysql --basedir=/usr --datadir=/var/lib/mysql
。(需 Root)
注意!
datadir
配置你的数据库位置。Wiki 使用/var/lib/mysql
,这里使用/data/db
,请检查后再执行。
如果你没有用 /var/lib/mysql
目录,需要在 /etc/my.cnf.d/server.cnf
的 [mysql]
部分加入 datadir = <你的目录>
。
然后,启动 mariadb
服务。
这时需要进行必要的安全配置,直接执行 mysql_secure_installation
向导即可(需 Root)。注意这里会要求设置 MySQL Root 密码,请谨慎保存。
在配置完后,由于本次安装无需远程访问数据库,可以让它监听本地(和 Unix Socket?)来提升安全性:
# /etc/my.cnf.d/server.cnf
[mysqld]
bind-address = 127.0.0.1
skip-networking
之后可能需要重启 mariadb
服务。
安装 WordPress 数据库 #
现在,MariaDB 已经 Up & Running。这时需要为 WordPress 创建数据库和用户。配置:
- 数据库:
wordpress
- 用户:
wp-user
首先,进入 MySQL 终端:
mysql -u root -p
然后键入如下命令(请自行替换为自己的配置):
CREATE DATABASE wordpress;
GRANT ALL PRIVILEGES ON wordpress.* TO "wp-user"@"localhost" IDENTIFIED BY "你的 wp-user 用户密码";
FLUSH PRIVILEGES;
EXIT
谨慎保存 wp-user
用户密码。
安装 WordPress 这里安装 WordPress。直接下载官方最新版,然后解压即可。
curl -vLO https://wordpress.org/latest.tar.gz
cd /data/www # 或者你的目录
tar xzvf /path/to/your/latest.tar.gz # 可能需要 Root
mv wordpress/* . # 可能需要 Root
rm -rf wordpress # 可能需要 Root
chown -R http:http . # 需要 Root
安装完毕。
配置 WordPress #
WordPress 的配置文件位于 wp-config.php
(默认是没有的)。请自行复制一份 wp-config-sample.php
:
cp wp-config-sample.php wp-config.php # 可能需要 Root
打开 wp-config.php
(可能需要 Root),逐行阅读并修改(建议仔细阅读注释,以了解我在做什么):
define( 'DB_NAME', 'wordpress' );
define( 'DB_PASSWORD', '你的 wp-user 用户密码' );
define( 'DB_HOST', 'localhost:/run/mysqld/mysqld.sock' );
这几行设置 MySQL 连接信息,请根据自身情况修改。最后一行 DB_HOST
要求 WordPress 连接到 Unix Socket。不同发行版可能有不同位置,请确认 sock 文件是否存在。
之后根据注释生成并修改 AUTH_KEY
到 NONCE_SALT
配置(非常重要)。
安装 PHP #
首先安装软件包 php
php-fpm
。打开 /etc/php/php.ini
,并取消注释以下行:
extension=pdo_mysql
extension=mysqli
这两行启用了 PHP 的 MySQL 拓展。WordPress 还需要其他拓展(可选),不过这两个足以启动 WordPress。稍后可以在 站点健康状态 中查看其他建议的拓展并自行了解如何启用。
最后,启动 php-fpm
服务。
安装 Caddy #
注意!
这里 不涉及 Caddy Auto HTTPS 的配置。为了简单起见,本章节使用 HTTP 配置,不会自动申请证书,且仅监听 80。如果需要 Auto HTTPS,请自行查阅如何配置。
安装软件包 caddy
。创建配置文件 /etc/caddy/conf.d/whatever.conf
:
http://your.domain.com, http://your.domain.tld {
root /data/www;
gzip
fastcgi / /run/php-fpm/php-fpm.sock php
rewrite {
if {path} not_match ^\/wp-admin
to {path} {path}/ /index.php?_url={uri}
}
}
建议
阅读
/etc/caddy/caddy.conf
了解 Arch Linux Caddy 默认配置。
最后,启动 caddy
服务。打开浏览器并访问你的 WordPress 站点。
参考 #
- https://wiki.archlinux.org/index.php/Wordpress
- https://wiki.archlinux.org/index.php/MySQL
- https://wiki.archlinux.org/index.php/PHP
- https://wiki.archlinux.org/index.php/Caddy
- https://www.digitalocean.com/community/tutorials/how-to-install-wordpress-with-caddy-on-ubuntu-16-04
- https://github.com/caddyserver/examples/tree/master/wordpress
- https://snippets.khromov.se/using-wordpress-with-mysql-unix-socket/