前言

虽然是考试月,并且一星期三门专业课,但是这个憨憨计组真的是越看越头疼,感觉再看下去要死在宿舍了。 在闲逛友链博客时,突然想在虚拟机里建个博客(虽然这两件事情之间并无关联),然后通过内网穿透进行访问, 这样等下次买了小主机后就有经验了,于是就有了此篇教程文章。 此次博客搬迁教程不涉及任何面板工具,从而降低功耗,适合建站小白观看。 此次迁移以 wordpress 为例,但 typecho 搬迁方法也和这个一样。

如果使用宝塔面板,可以直接使用宝塔的免费一键迁移功能,应用商店搜索即可。

1. 安装lamp环境(以Ubuntu为例)

  1. 更新软件包列表:打开终端(Terminal),执行以下命令以更新软件包列表:
sudo apt update
  1. 安装Apache Web服务器:在终端中执行以下命令安装Apache:
sudo apt install apache2
  1. 验证Apache是否安装成功:安装完成后,Apache服务会自动启动。在浏览器中输入服务器的IP地址或域名,如果看到默认的Apache欢迎页面,表示安装成功。
  2. 安装MySQL数据库服务器:在终端中执行以下命令安装MySQL服务器:
sudo apt install mysql-server
  1. 安装PHP:在终端中执行以下命令安装PHP及常用扩展:
sudo apt install php libapache2-mod-php php-mysql
  1. 验证PHP是否安装成功:创建一个简单的PHP文件以验证PHP是否正常工作。在终端中执行以下命令:

sudo vim /var/www/html/info.php

2. 在打开的文件中,输入以下内容:

php phpinfo(); ?

7. 保存并关闭文件。然后,在浏览器中输入服务器的IP地址或域名,加上`/info.php`,如果看到PHP信息页面,表示安装成功。
## 2. 设置MySQL密码
1. 打开终端(Terminal),以root用户身份登录或使用具有sudo权限的用户。
2. 运行以下命令以连接到MySQL服务器:

mysql -u root

3. 进入MySQL命令行后,执行以下命令来更改root用户的密码(将`new\_password`替换为您要设置的密码):

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'new_password';

4. 刷新权限使更改生效:

FLUSH PRIVILEGES;

5. 退出MySQL命令行:

exit

## 3. 迁移博客
1. 在源服务器上将\*\*WordPress文件夹\*\*(即博客文件夹)打包为一个压缩文件(例如:wordpress.zip)。

zip -r wordpress.zip /path/to/wordpress

2. 将压缩文件通过scp命令拷贝到目标服务器上。(就是\*\*将数据库文件传送到目的服务器\*\*)

scp wordpress.zip user@目的ip:/path/to/destination_folder

3. 在目标服务器上\*\*解压缩\*\*WordPress文件。

unzip wordpress.zip

4. 将WordPress文件夹移动到\*\*Web服务器的文档根目录\*\*。

sudo mv /path/to/destination_folder/wordpress /var/www/html/

5. 授予适当的文件权限。

sudo chown -R www-data:www-data /var/www/html/wordpress sudo chmod -R 755 /var/www/html/wordpress

6. 连接到MySQL数据库,并创建一个新的数据库。

mysql -u root -p CREATE DATABASE wordpress_database;

7. \*\*导入\*\*源服务器上的\*\*数据库备份文件\*\*(source\\_server\\_backup.sql)到新创建的数据库。

mysql -u root -p wordpress_database < /path/to/source_server_backup.sql

8. 在WordPress的\*\*wp-config.php\*\*文件中更新数据库连接信息,包括数据库名称、用户名和密码。

vim wp-config.php define('DB_NAME', 'wordpress_database'); /* 数据库名 */ define('DB_USER', 'root'); /* 用户名 */ define('DB_PASSWORD', 'new_password'); /* 密码 */

9. 检查Apache的配置文件(通常是`/etc/apache2/sites-available`目录下的`000-default.conf.conf`文件)是否正确设置了WordPress的虚拟主机,并且指定了正确的文档根目录和文件权限。
在 `VirtualHost` 标签之间,DocumentRoot后面的改为你的\*\*博客绝对路径\*\*

ServerAdmin webmaster@localhost DocumentRoot /var/www/html/liveout.cn

10. 重启 Apache 以使配置生效:

sudo systemctl restart apache2

11. 打开网页浏览器,访问新服务器的地址,应该能够看到WordPress网站的动态页面。
12. 如果跳转博客其他页面请求失败,则检查WordPress文件里是否有一个 `.htaccess` 文件,并且具有正确的重写规则。
由于 `.htaccess` 文件是一个隐藏文件(文件名以点号开头),某些文件管理器默认情况下可能不会显示它。你需要在文件管理器中启用显示隐藏文件选项,或者通过命令行查看和编辑
`.htaccess` 文件。

BEGIN WordPress

RewriteEngine On RewriteBase / RewriteRule ^index.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L]

END WordPress