使用 Ubuntu 20.04 XAMPP WordPress 搭建博客

使用 Ubuntu 20.04 XAMPP WordPress 搭建博客

Gelomen Lv2

使用 Ubuntu XAMPP WordPress 便捷搭建博客

环境

  • 系统: Ubuntu 20.04 LTS
  • 服务: XAMPP (Apache + MySQL + PHP + PERL)
  • 框架: WordPress

安装

更新系统

先将 Ubuntu 系统更新到最新

1
2
sudo apt update
sudo apt upgrade -y

安装 XAMPP

XAMPP 官网, 选择 Linux 版本下载, 在弹出的新页面复制地址栏链接, 然后在 Ubuntu 主机下载

1
2
# 这个链接可能是旧的, 以官网提供的地址为准
wget https://www.apachefriends.org/xampp-files/7.4.8/xampp-linux-x64-7.4.8-0-installer.run

赋予安装文件可执行权限

1
chmod +x ./xampp-linux-x64-7.4.8-0-installer.run

root 身份安装, 安装过程提示的内容都默认即可

1
sudo ./xampp-linux-x64-7.4.8-0-installer.run

安装完成后, XAMPP 目录在 /opt/lampp

安装 WordPress

到官方简体中文网手动下载: WordPress 官网 或者执行:

1
wget https://cn.wordpress.org/latest-zh_CN.tar.gz

下载后解压并移动到目录 /opt/lampp/htdocs

1
2
tar zxf latest-zh_CN.tar.gz
sudo mv -f wordpress/ /opt/lampp/htdocs/

配置

到此最好有域名, 然后生成 SSL 证书, 如何生成证书这里就不赘述了

配置 HTTP

1
sudo vi /opt/lampp/etc/httpd.conf

将以下参数修改为自己的信息

1
2
3
ServerName www.domain.com:80
DocumentRoot "/opt/lampp/htdocs/wordpress"
<Directory "/opt/lampp/htdocs/wordpress">

修改后保存并重启 Apache 服务

1
sudo /opt/lampp/lampp restartapache

服务重启成功后, 使用 http://www.domain.com 访问你的域名就可以进入 WordPress 配置界面了

升级 HTTPS

1
sudo vi /opt/lampp/etc/extra/httpd-ssl.conf

将以下参数修改为自己的信息

1
2
3
4
5
6
7
8
<VirtualHost *:443>
DocumentRoot "/opt/lampp/htdocs/wordpress"
ServerName www.domain.com:443
ServerAlias domain.com:443
# 并找到下面三个参数修改为自定义证书路径
SSLCertificateFile "/server/cert/cert.crt"
SSLCertificateKeyFile "/server/cert/cert.key"
SSLCertificateChainFile "/server/cert/chain.crt"

修改后保存并重启 Apache 服务

1
sudo /opt/lampp/lampp restartapache

服务重启成功后, 就可以使用 https://www.domain.com 访问你的网站

数据库配置

允许 phpmyadmin 外网访问

XAMPP 自带 MySQL, 同时也自带了 phpmyadmin, 方便管理数据库, 首先配置 httpd-xampp.conf 使其允许外网访问

1
sudo vi /opt/lampp/etc/extra/httpd-xampp.conf

找到 <Directory “/opt/lampp/phpmyadmin”> 修改参数

httpd-xampp.conf
1
2
3
<Directory "/opt/lampp/phpmyadmin">
- Require local
+ Require all granted

保存并重启 Apache 服务

1
sudo /opt/lampp/lampp restartapache

此时访问 https://www.domain.com/phpmyadmin 即可进入 MySQL 管理页面

phpmyadmin 账户登录

目前外网可以直接访问 phpmyadmin, 没有提示登录, 这样任何人只要尝试访问都可以进入 MySQL 管理页面, 这样很危险, 所以需要修改 phpmyadmin 为账户登录方式进入

首先给 localhostroot 用户添加密码, 点击 phpmyadmin 的 账户 标签, 在下方找到 用户名 root – 主机名 localhost 一行后面点击 修改权限

phpmyadmin 账户
phpmyadmin 账户

点击 修改密码 按钮, 在下方输入密码, 点击 执行 按钮保存

修改密码
修改密码

然后修改 phpmyadmin 配置文件, 使其不能自动登录

1
sudo vi /opt/lampp/phpmyadmin/config.inc.php

修改以下参数

1
2
3
$cfg['blowfish_secret'] = 'myblowfishsecretmyblowfishsecret' # 自定义且尽量长
/* Authentication type */
$cfg['Servers'][$i]['auth_type'] = 'cookie';

修改后保存并重启 XAMPP 服务

1
sudo /opt/lampp/lampp restart

重启后访问 https://www.domain.com/phpmyadmin 即可看到需要账号密码登录

phpmyadmin 登录
phpmyadmin 登录

phpmyadmin 强制 HTTPS 访问

默认使用 http 访问 phpmyadmin 是不会重定向到 https 的, 不安全, 所以可以修改配置让其重定向

1
sudo vi /opt/lampp/etc/extra/httpd-xampp.conf

找到 <IfModule mod_perl.c>, 在里面添加

httpd-xampp.conf
1
2
3
4
5
6
7
8
9
<IfModule mod_perl.c>
...
+ PerlSendHeader On

+ # 强制 HTTPS 访问
+ RewriteEngine On
+ RewriteCond %{SERVER_PORT} !^443$
+ RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>

然后重启 Apache 服务, 再次用 http 访问 phpmyadmin 就可以自动跳转到 https

1
sudo /opt/lampp/lampp restartapache

WordPress 账号和数据库

需要创建 WordPress 专用的 MySQL 账户和数据库

创建数据库

登录 phpmyadmin 后, 点击左侧数据库列表最顶部的 新建 或者点击 数据库 标签新建数据库, 数据库名字自定义, 最好是加上前缀, 比如我的数据库名字为: clv_wp_db, 点击 创建 按钮

创建数据库
创建数据库

新建账户

点击左侧数据库列表新建的数据库, 然后点击 权限 标签, 就可以看到该数据库下的账户权限, 点击下方的 新增用户账户 按钮

新增用户账户
新增用户账户

输入 账号密码, 主机名选择 本地, 并滚动到下方将数据库全局权限的 全选 勾上, 然后点击 执行 保存

配置账户密码
配置账户密码

配置账户权限
配置账户权限

最后点击 执行 按钮, 跳转到新界面后, 会显示该新建账户在当前数据库权限, 也将 全选 勾上, 然后点击 执行 保存

配置账户权限
配置账户权限

配置 WordPress

修改 WordPress 目录权限

1
2
3
cd /opt/lampp/htdocs
sudo chown -R wp:www-data wordpress
sudo chmod -R 777 wordpress

复制 wordpress 目录下 wp-config-sample.phpwp-config.php, 并修改配置

1
2
3
cd wordpress/
cp wp-config-sample.php wp-config.php
vi wp-config.php

修改数据库连接配置

wp-config.php
1
2
3
4
5
6
7
8
/** WordPress数据库的名称 */
define( 'DB_NAME', 'clv_wp_db' );
/** MySQL数据库用户名 */
define( 'DB_USER', 'test1' );
/** MySQL数据库密码 */
define( 'DB_PASSWORD', '12345678' );
/** WordPress数据表前缀 */
$table_prefix = 'clv_'; # 自定义, 我自己用数据库名字前缀

并在该文件最后添加

wp-config.php
1
2
3
4
+ /** wordpress 后台管理安装插件不需 ftp 登录  */
+ define("FS_METHOD", "direct");
+ define("FS_CHMOD_DIR", 0777);
+ define("FS_CHMOD_FILE", 0777);

保存后直接访问你的域名 https://www.domain.com 即可初始化 WordPress

强制 HTTPS 访问

1
sudo vi /opt/lampp/htdocs/wordpress/.htaccess

</IfModule> 以外添加

.htaccess
1
2
3
4
5
6
7
</IfModule>

# END WordPress

+ # 强制 HTTPS 访问
+ RewriteCond %{SERVER_PORT} !^443$
+ RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

保存并重启 Apache 服务

1
sudo /opt/lampp/lampp restartapache

此时用 http://www.domain.com 会自动跳转到 https://www.domain.com

美化 WordPress 搜索 url

将搜索后的 urlhttps://www.domain.com/?s=搜索词 变为 https://www.domain.com/search/搜索词

在主题函数模板 functions.php 最后添加即可

functions.php
1
2
3
4
5
6
7
8
9
10
11
//搜索美化伪静态
function change_search_url_rewrite() {
if ( is_search() && ! empty( $_GET['s'] ) ) {
wp_redirect( home_url( '/search/' ) . urlencode( get_query_var( 's' ) ) );
exit();
} elseif ( is_search() && empty( get_query_var( 's' ) ) ) {
wp_redirect( home_url( '/search' ) );
exit();
}
}
add_action( 'template_redirect', 'change_search_url_rewrite' );
  • 标题: 使用 Ubuntu 20.04 XAMPP WordPress 搭建博客
  • 作者: Gelomen
  • 创建于 : 2021-10-17 00:39:18
  • 更新于 : 2021-10-17 00:39:18
  • 链接: https://gelomen.github.io/posts/ubuntu-xampp-wordpress/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论