使用 Ubuntu 20.04 XAMPP WordPress 搭建博客

环境

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

安装

更新系统

先将 Ubuntu 系统更新到最新

$ sudo apt update
$ sudo apt upgrade -y

安装 XAMPP

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

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

赋予安装文件可执行权限

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

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

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

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

安装 WordPress

到官方简体中文网手动下载:cn.wordpress.org/download 或者执行:

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

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

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

配置

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

配置 HTTP

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

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

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

修改后保存并重启 Apache 服务

$ sudo /opt/lampp/lampp restartapache

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

升级 HTTPS

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

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

<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 服务

$ sudo /opt/lampp/lampp restartapache

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

数据库配置

允许 phpmyadmin 外网访问

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

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

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

<Directory "/opt/lampp/phpmyadmin">
    # Require local 这一行修改为
    Require all granted

保存并重启 Apache 服务

$ sudo /opt/lampp/lampp restartapache

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

phpmyadmin 账户登录

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

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

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

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

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

修改以下参数

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

修改后保存并重启 XAMPP 服务

$ sudo /opt/lampp/lampp restart

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

phpmyadmin 强制 HTTPS 访问

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

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

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

<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

$ sudo /opt/lampp/lampp restartapache

WordPress 账号和数据库

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

创建数据库

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

新建账户

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

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

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

配置 WordPress

修改 WordPress 目录权限

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

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

$ cd wordpress/
$ cp wp-config-sample.php wp-config.php
$ vi wp-config.php

修改数据库连接配置

/** WordPress数据库的名称 */
define( 'DB_NAME', 'clv_wp_db' );
/** MySQL数据库用户名 */
define( 'DB_USER', 'test1' );
/** MySQL数据库密码 */
define( 'DB_PASSWORD', '12345678' );
/** WordPress数据表前缀 */
$table_prefix = 'clv_'; # 自定义,我自己用数据库名字前缀

并在该文件最后添加

/** wordpress 后台管理安装插件不需 ftp 登录  */
define("FS_METHOD", "direct");
define("FS_CHMOD_DIR", 0777);
define("FS_CHMOD_FILE", 0777);

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

强制 HTTPS 访问

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

在 </IfModule> 以外添加

</IfModule>

# END WordPress

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

保存并重启 Apache 服务

$ sudo /opt/lampp/lampp restartapache

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

美化 WordPress 搜索 url

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

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

//搜索美化伪静态
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' );

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值