Kali Linux 安装 WordPress
经过岁月的折磨,偶然发现
WordPress只差在Kali上部署了,整一个(原篇在语雀上,现在重写了,所以时间上会产生冲突)。有时候学生也会遇到安装方面的问题,避免意外写份文档,方便上课用。
1 WordPress 介绍
WordPress是一种开源的内容管理系统(CMS),用于创建和管理网站、博客和在线商店。它由WordPress基金会开发并于2003年首次发布,目前已成为全球最流行的CMS之一。WordPress具有的特点如下:功能丰富的内容管理系统(CMS):
WordPress提供了一个功能齐全的CMS平台,使用户能够轻松创建、编辑和管理网站内容。大量的主题和插件选择:
WordPress生态系统拥有大量的免费和付费主题以及插件。主题控制着网站的外观和布局,而插件则提供了各种功能和特性的扩展,如社交媒体集成、搜索引擎优化、安全性增强、电子商务功能等。强大的社区支持:
WordPress拥有一个庞大的全球社区,包括开发者、设计师、写手和用户。这个社区提供了大量的资源、文档、主题和插件,以及支持论坛和博客。广泛的市场占比:截至
2021年,WordPress在全球范围内占据了网站建设市场的主导地位。根据统计数据,超过40%的网站使用WordPress作为其内容管理系统。
2 WordPress 安装
注:
本安装教程基本只适用 Kali Linux,因为 Kali Linux 自带有 LA/NMP 环境,无需进行额外安装。
Kali Linux Version:Kali Linux 2023.3
2.1 Apache2 配置
Apache服务的配置基本不用改,只需要将服务启动即可:
┌──(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
2.2 Mariadb 配置
启动
Mariadb服务:
┌──(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数据库:
┌──(root㉿kali)-[~]
└─# mariadb -uroot -e "CREATE DATABASE wordpress_db;SHOW DATABASES"
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
| wordpress_db |
+--------------------+
在
Kali Linux中,默认情况下,Mariadb的root账户是没有密码的。所以需要新建一个用户给WordPress使用:GRANT ALL ON wordpress_db.* TO 'wordpress_user'@'localhost' IDENTIFIED BY 'wordpress_pass';:使用GRANT命令授予用户wordpress_user在wordpress_db数据库上的所有权限。用户将只能从localhost(本地主机)连接,并使用密码wordpress_pass进行身份验证。GRANT ALL语句授予了所有权限,包括SELECT、INSERT、UPDATE、DELETE等。FLUSH PRIVILEGES;:这个命令用于刷新权限,以使新的权限更改立即生效。
mariadb -uroot -e "GRANT ALL ON wordpress_db.* TO 'wordpress_user'@'localhost' IDENTIFIED BY 'wordpress_pass';FLUSH PRIVILEGES;"
2.3 WordPress 下载/上传
现在要在
Apache Web根目录中下载并安装WordPress:
┌──(root㉿kali)-[~]
└─# cd /var/www/html
若是网络够通畅的情况下,可以直接使用下列命令进行下载:
┌──(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上传:
┌──(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
解压一下,顺便删除一下其他没用的文件:
┌──(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根目录下:
┌──(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
2.4 WordPress 配置
将文件夹内的所有权限交给
www-data用户:
┌──(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
编辑配置文件:
┌──(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', '' );
3 部署成效
使用浏览器访问一下,配置
WordPress:

点击
登录:

前台界面:
