本文最后更新于73 天前,其中的信息可能已经过时。
1. 前期准备
最近觉得有一些环境不适合公网访问我的博客,以及想作一个备份及试验的目的,就想着迁移一份文件到内网。刚好以前通过虚拟机搭过,所以想写一篇文章帮助一些只想自行私下搭建存储一些资料文章的读者作为参考学习。
在开始之前,你需要准备以下组件:
- 一台计算机,安装有虚拟机软件(例如 VirtualBox 或 VMware)。
- 一个 Linux 发行版的 ISO 文件(我们以 rocky9 为例)。
- 基本的网络连接。
- WordPress 需要提供一个具有 LAMP(Linux, Apache, MySQL, PHP)环境安装包的源。
2. MariaBD(mysql)
[root@localhost yum.repos.d]# dnf install -y mariadb-server mariadb
[root@localhost yum.repos.d]# systemctl start mariadb
[root@localhost yum.repos.d]# systemctl enable mariadb
[root@localhost yum.repos.d]# mysql -uroot #配置数据库用户
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 6
Server version: 10.5.16-MariaDB MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> CREATE DATABASE wordpress;
Query OK, 1 row affected (0.000 sec)
MariaDB [(none)]> CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'password';
Query OK, 0 rows affected (0.001 sec)
MariaDB [(none)]> GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'localhost';
Query OK, 0 rows affected (0.001 sec)
MariaDB [(none)]> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.000 sec)
3. php
dnf install -y php php-mysqlnd php-fpm php-json php-gd php-xml php-mbstring php-curl php-intl php-zip
systemctl start php-fpm
systemctl enable php-fpm
4. wordpress
[root@localhost /]# wget https://cn.wordpress.org/latest-zh_CN.tar.gz #安装wordpress
[root@localhost /]# yum -y install httpd
[root@localhost /]# tar xf latest-zh_CN.tar.gz -C /var/www/html/
[root@localhost html]# mv wordpress/* /var/www/html/
[root@localhost html]# chown -R apache.apache /var/www/html/
到这步其实已经可以通过IP地址访问完成博客配置了
[root@localhost html]# hostname -I
192.168.124.18
在浏览器中访问你的服务器 IP 地址,你应该能看到 WordPress 安装页面。
- 选择语言并点击 “继续”。
- 输入数据库信息:
- 数据库名:wordpress
- 用户名:wpuser
- 密码:password
- 数据库主机:localhost
- 表前缀:wp_
- 点击 “提交” 并按照提示完成安装。
设置你的站点标题、管理员用户名和密码。完成后,你将能够登录到 WordPress 管理界面并开始创建内容。
ip地址不好记,我们可以通过一些简单的配置更加优雅的访问
5. dns
这里先通过搭建内网dns服务器的方式实现域名访问
设置监听地址以及查询的来源
[root@localhost html]# yum -y install bind bind-utils
[root@localhost html]# vim /etc/named.conf
10 options {
11 listen-on port 53 { any; };
12 listen-on-v6 port 53 { ::1; };
13 directory "/var/named";
14 dump-file "/var/named/data/cache_dump.db";
15 statistics-file "/var/named/data/named_stats.txt";
16 memstatistics-file "/var/named/data/named_mem_stats.txt";
17 secroots-file "/var/named/data/named.secroots";
18 recursing-file "/var/named/data/named.recursing";
19 allow-query { any; };
配置区域查找文件
[root@localhost html]# vim /etc/named.rfc1912.zones
35 zone "echoljm.com" IN {
36 type master;
37 file "z";
38 allow-update { none; };
39 };
40
41 zone "124.168.192.in-addr.arpa" IN {
42 type master;
43 file "f";
44 allow-update { none; };
45 };
添加相对应的正反向域配置文件的解析记录
[root@localhost html]# cd /var/named/
[root@localhost named]# cp -p named.localhost z
[root@localhost named]# cp -p named.loopback f
[root@localhost named]# cat z
$TTL 1D
@ IN SOA echoljm.com rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS @
A 127.0.0.1
AAAA ::1
www A 192.168.124.18
[root@localhost named]# cat f
$TTL 1D
@ IN SOA echoljm.com rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS @
A 127.0.0.1
AAAA ::1
PTR localhost.
18 PTR www.echoljm.com.
最后完成一些系统的配置即可完成解析
[root@localhost named]# cat /etc/resolv.conf #配置本机ip为dns地址
# Generated by NetworkManager
search echoljm.com
nameserver 192.168.124.18
[root@localhost named]# firewall-cmd --per --add-port=53/tcp #放行端口
[root@localhost named]# firewall-cmd --per --add-port=53/udp
[root@localhost named]# systemctl restart named
[root@localhost named]# systemctl enable named
解析
[root@localhost named]# nslookup
www.echoljm.com
Server: 192.168.124.18
Address: 192.168.124.18#53
Name: www.echoljm.com
Address: 192.168.124.18
需要通过域名解析访问的主机dns添加服务器ip地址即可
成功通过www.echoljm.com域名访问
6. hosts
如果你觉得通过上述配置dns服务器方法操作繁琐也可通过更改需要访问主机的hosts文件访问
Windows
C:\Windows\System32\drivers\etc\hosts
文件尾部按照格式添加需要解析的记录即可
Linux
root@ubuntu:~/Desktop# vim /etc/hosts