• 经过岁月的折磨,偶然发现 WordPress 只差在 Kali 上部署了,整一个(原篇在语雀上,现在重写了,所以时间上会产生冲突)。

  • 有时候学生也会遇到安装方面的问题,避免意外写份文档,方便上课用。

  • 本篇文章参考自:https://cn.linux-console.net/?p=1390

WordPress 介绍

  • WordPress 是一种开源的内容管理系统(CMS),用于创建和管理网站、博客和在线商店。它由 WordPress 基金会开发并于 2003 年首次发布,目前已成为全球最流行的 CMS 之一。
  • WordPress 具有的特点如下:
    • 功能丰富的内容管理系统(CMS)WordPress 提供了一个功能齐全的 CMS 平台,使用户能够轻松创建、编辑和管理网站内容。
    • 大量的主题和插件选择WordPress 生态系统拥有大量的免费和付费主题以及插件。主题控制着网站的外观和布局,而插件则提供了各种功能和特性的扩展,如社交媒体集成、搜索引擎优化、安全性增强、电子商务功能等。
    • 强大的社区支持WordPress 拥有一个庞大的全球社区,包括开发者、设计师、写手和用户。这个社区提供了大量的资源、文档、主题和插件,以及支持论坛和博客。
    • 广泛的市场占比:截至 2021 年,WordPress 在全球范围内占据了网站建设市场的主导地位。根据统计数据,超过 40% 的网站使用 WordPress 作为其内容管理系统。

WordPress 安装

注:

  • 本安装教程基本只适用 Kali Linux,因为 Kali Linux 自带有 LA/NMP 环境,无需进行额外安装。
  • Kali Linux Version:Kali Linux 2023.3

Apache2 配置

  • Apache 服务的配置基本不用改,只需要将服务启动即可:
1
2
3
4
5
6
7
8
9
10
11
12
13
┌──(root㉿kali)-[~]
└─# systemctl start apache2 ; systemctl status apache2
● apache2.service - The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; disabled; preset: disabled)
Active: active (running) since Sat 2023-10-14 05:25:08 EDT; 7ms ago
Docs: https://httpd.apache.org/docs/2.4/
Process: 1366 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
Main PID: 1384 (apache2)
Tasks: 1 (limit: 9424)
Memory: 8.5M
CPU: 33ms
CGroup: /system.slice/apache2.service
└─1384 /usr/sbin/apache2 -k start

Mariadb 配置

  • 启动 Mariadb 服务:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
┌──(root㉿kali)-[~]
└─# systemctl start mariadb ; systemctl status mariadb
● mariadb.service - MariaDB 10.11.4 database server
Loaded: loaded (/lib/systemd/system/mariadb.service; disabled; preset: disabled)
Active: active (running) since Sat 2023-10-14 05:17:58 EDT; 8ms ago
Docs: man:mariadbd(8)
https://mariadb.com/kb/en/library/systemd/
Process: 1225 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysqld (code=exited, status=0/SUCCESS)
Process: 1227 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
Process: 1230 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= || VAR=`cd /usr/bin/..; /usr/bin/galera_recovery`; [ $? -eq 0 ] && sy>
Process: 1302 ExecStartPost=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
Process: 1304 ExecStartPost=/etc/mysql/debian-start (code=exited, status=0/SUCCESS)
Main PID: 1290 (mariadbd)
Status: "Taking your SQL requests now..."
Tasks: 16 (limit: 9424)
Memory: 230.8M
CPU: 488ms
CGroup: /system.slice/mariadb.service
├─1290 /usr/sbin/mariadbd
├─1306 /bin/bash /etc/mysql/debian-start
├─1309 /usr/bin/mysql_upgrade --defaults-extra-file=/etc/mysql/debian.cnf --version-check --silent
├─1310 grep -E -v "^(1|@had|ERROR (1051|1054|1060|1061|1146|1347|1348))"
└─1311 logger -p daemon warn -i -t/etc/mysql/debian-start
  • 创建 WordPress 数据库:
1
2
3
4
5
6
7
8
9
10
11
┌──(root㉿kali)-[~]
└─# mariadb -uroot -e "CREATE DATABASE wordpress_db;SHOW DATABASES"
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
| wordpress_db |
+--------------------+
  • Kali Linux 中,默认情况下,Mariadbroot 账户是没有密码的。所以需要新建一个用户给 WordPress 使用:
    • GRANT ALL ON wordpress_db.* TO 'wordpress_user'@'localhost' IDENTIFIED BY 'wordpress_pass';:使用 GRANT 命令授予用户 wordpress_userwordpress_db 数据库上的所有权限。用户将只能从 localhost(本地主机)连接,并使用密码 wordpress_pass 进行身份验证。GRANT ALL 语句授予了所有权限,包括 SELECTINSERTUPDATEDELETE 等。
    • FLUSH PRIVILEGES;:这个命令用于刷新权限,以使新的权限更改立即生效。
1
mariadb -uroot -e "GRANT ALL ON wordpress_db.* TO 'wordpress_user'@'localhost' IDENTIFIED BY 'wordpress_pass';FLUSH PRIVILEGES;"

WordPress 下载/上传

  • 现在要在 Apache Web 根目录中下载并安装 WordPress
1
2
┌──(root㉿kali)-[~]
└─# cd /var/www/html
  • 若是网络够通畅的情况下,可以直接使用下列命令进行下载:
1
2
3
4
5
┌──(root㉿kali)-[/var/www/html]
└─# curl -O https://wordpress.org/latest.tar.gz
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
1 22.3M 1 383k 0 0 53885 0 0:07:15 0:00:07 0:07:08 79087
  • 网络不好还是算了,用 Windows 直接去 WordPress 站点下载 即可,下载完直接使用 rz 上传:
1
2
3
4
5
6
┌──(root㉿kali)-[/var/www/html]
└─# rz

┌──(root㉿kali)-[/var/www/html]
└─# ls
index.html index.nginx-debian.html wordpress-6.3.2-zh_CN.tar.gz
  • 解压一下,顺便删除一下其他没用的文件:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
┌──(root㉿kali)-[/var/www/html]
└─# tar zxvf wordpress-6.3.2-zh_CN.tar.gz
wordpress/
wordpress/wp-login.php
wordpress/wp-cron.php
wordpress/xmlrpc.php
wordpress/wp-load.php
......

┌──(root㉿kali)-[/var/www/html]
└─# rm -rf i* *tar.gz
┌──(root㉿kali)-[/var/www/html]
└─# ls
wordpress
  • wordpress 中的文件转移到 Web 根目录下:
1
2
3
4
5
6
7
8
┌──(root㉿kali)-[/var/www/html]
└─# mv wordpress/* . ; rm -rf wordpress

┌──(root㉿kali)-[/var/www/html]
└─# ls
index.php wp-activate.php wp-comments-post.php wp-cron.php wp-load.php wp-settings.php xmlrpc.php
license.txt wp-admin wp-config-sample.php wp-includes wp-login.php wp-signup.php
readme.html wp-blog-header.php wp-content wp-links-opml.php wp-mail.php wp-trackback.php

WordPress 配置

  • 将文件夹内的所有权限交给 www-data 用户:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
┌──(root㉿kali)-[/var/www/html]
└─# chown -R www-data:www-data /var/www/html/*

┌──(root㉿kali)-[/var/www/html]
└─# ls -l
total 228
-rw-r--r-- 1 www-data www-data 405 Feb 6 2020 index.php
-rw-r--r-- 1 www-data www-data 19915 Dec 31 2022 license.txt
-rw-r--r-- 1 www-data www-data 7399 Jul 5 13:41 readme.html
-rw-r--r-- 1 www-data www-data 7211 May 12 17:35 wp-activate.php
drwxr-xr-x 9 www-data www-data 4096 Oct 13 10:00 wp-admin
-rw-r--r-- 1 www-data www-data 351 Feb 6 2020 wp-blog-header.php
-rw-r--r-- 1 www-data www-data 2323 Jun 14 10:11 wp-comments-post.php
-rw-r--r-- 1 www-data www-data 3013 Feb 23 2023 wp-config-sample.php
drwxr-xr-x 5 www-data www-data 4096 Oct 13 10:00 wp-content
-rw-r--r-- 1 www-data www-data 5638 May 30 14:48 wp-cron.php
drwxr-xr-x 27 www-data www-data 12288 Oct 13 10:00 wp-includes
-rw-r--r-- 1 www-data www-data 2502 Nov 26 2022 wp-links-opml.php
-rw-r--r-- 1 www-data www-data 3927 Jul 16 08:16 wp-load.php
-rw-r--r-- 1 www-data www-data 49441 Jul 17 09:18 wp-login.php
-rw-r--r-- 1 www-data www-data 8537 Jun 22 10:36 wp-mail.php
-rw-r--r-- 1 www-data www-data 25602 Jul 25 02:35 wp-settings.php
-rw-r--r-- 1 www-data www-data 34385 Jun 19 14:27 wp-signup.php
-rw-r--r-- 1 www-data www-data 4885 Jun 22 10:36 wp-trackback.php
-rw-r--r-- 1 www-data www-data 3236 Jun 14 10:11 xmlrpc.php
  • 编辑配置文件:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
┌──(root㉿kali)-[/var/www/html]
└─# cp wp-config-sample.php wp-config.php

┌──(root㉿kali)-[/var/www/html]
└─# vim wp-config.php

┌──(root㉿kali)-[/var/www/html]
└─# cat wp-config.php | grep "^define( 'D"
define( 'DB_NAME', 'wordpress_db' );
define( 'DB_USER', 'wordpress_user' );
define( 'DB_PASSWORD', 'wordpress_pass' );
define( 'DB_HOST', 'localhost' );
define( 'DB_CHARSET', 'utf8' );
define( 'DB_COLLATE', '' );

部署成效

  • 使用浏览器访问一下,配置 WordPress

image-20231014174558343

  • 点击登录

image-20231014174607659

  • 前台界面:

image-20231014174620755