前因
最近由于武汉疫情严重,春节的假期一延再延,经过今天一天的折腾,终于复活了挂了太久的博客,特此一记^_^
记得最早接触wordpress是在群晖上,那会儿的我真的是萌新一个(虽然现在也是个门外汉,只是比那会儿离门稍微近点儿了2333),在群晖上安装部署wordprss后,我拥有了第一个属于自己的博客,那会儿域名用的是群晖的ddns,由于大陆家用宽带统一封禁了80和443端口,无奈只能在ddns后加上一个端口号╮(╯▽╰)╭一直这么用着也就过来了,直到碰到那次被电信查水表后
无奈只好关闭所有在路由上的NAT,很多日常服务都受到了影响,当然也包括我的博客,于是我把我的博客部署在局域网中
后来忙着考试工作也就没再折腾了,这几天正好空着就想着尝试一下在vps上手动搭建一个博客,开干!
过程
前面讲到群晖上部署wordpress还是非常容易的,只要跟着提示下一步到底就搞定了,但在vps上从头搭建一个wordpress就没这么简单了,我全网搜了很久大多都是依靠脚本一键搭建的那种,我还是比较偏向全程手动搭建,这样如果出问题也容易排查,我基本是按照落木萧萧大神的这篇文章来部署的,文章写得很好很仔细,给个赞这里!接下来开始正文:
1、安装apache2以及开启ssl访问
这部分我不多说了,主要以我这篇为主
这边主要注意的点是重定向的问题,打开apache2位于/etc/apache2/
的apache2.conf
,修改如图:
ps:这个步骤如果不做,最后会导致迁移数据库后的博客无法更改固定链接且文章无法正常访问!!!
2、安装MySQL
博客的数据库使用MySQL来存储和操作。代码如下:
sudo apt install mysql-server
3、安装PHP
由于WordPress是使用php来编写的博客框架,所以我们需要安装php相关的套件,以支持WordPress的运行。代码如下:
sudo apt install php libapache2-mod-php php-mysql
4、安装phpMyadmin
phpMyadmin是一个基于Web页面管理MySQL的工具,在其上面可以方便的建立、修改、删除数据库。代码如下:
sudo apt install phpmyadmin php-mbstring php-gettext
安装过程中第一次弹出框后通过空格选中apache2,按tab键跳到ok后按回车。第二次弹出框后选择是来确认使用dbconfig-common来设置数据库,接着输入两遍数据库密码,等代码跑完结束这个步骤的安装
4.1、安装php的扩展插件
sudo phpenmod mbstring
4.2、重启apache2服务
service apache2 restart
4.3、浏览器登录数据库后台
浏览器输入https://域名/phpmyadmin/即可登录,账号:phpmyadmin;密码是刚才上文设置的数据库密码
5、添加数据库及相关的权限
前面我已经可以通过phpmyadmin登录数据库管理后台了,但这个用户仅对其自身数据库拥有操作权限,而没有权限对整个博客其他数据库进行操作设置,所以需要创建使用root账号来管理整个博客的后台数据库
在运行高于MySQL 5.7版本以上的Ubuntu系统上,root用户被设置成默认使用auth_socket而不是使用密码登录。这虽然在某些情况下更安全和更实用,但是对于使用外部程序管理数据库(比如phpMyAdmin)的软件来讲,却变得非常复杂。所以,为了能够使用root账号登录MySQL,我们需要把root用户的认证方式从auth_socket切换成mysql_native_password。
5.1、查看当前认证方式
sudo mysql
mysql> SELECT user,authentication_string,plugin,host FROM mysql.user;
root用户那行显示”auth_socket”
5.2、设置root用户密码并且换认证方式
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
mysql> FLUSH PRIVILEGES;
mysql> SELECT user,authentication_string,plugin,host FROM mysql.user;
修改完后可以看到root用户那行显示”mysql_native_password”,修改完成!下次如果还要通过ssh连接mysql的话记得使用带密码的登陆命令 注意一下
第一行的password设置成自己的密码,别就password输进去,我踩了个坑这里= =。。。
mysql -u root -p
,输入上面设置的密码即可。
接着就可用通过https://域名/phpmyadmin/登录,账号:root;密码依然是上文设置的数据库密码,可以看到左边的数据库列表比最开始多了几个,右下角可以看到当前数据库的版本。
5.3、为博客创建一个数据库
左上角新建,输入数据库名称,最后点击创建
6、安装wordpress主程序
6.1、下载最新版wordpress主程序
wget https://cn.wordpress.org/latest-zh_CN.tar.gz
国内服务器有可能出现429 Too Many Requests,所以这里也可以先离线下载再上传服务器解压
6.2、解压复制并设置权限
由于我是在/var/www/html/wordpress下解压的,所以我在apache2的配置文件中在默认路径后加上了/wordpress
sudo rm /var/www/html/index.html
tar zxvf latest.tar.gz
sudo cp -rf wordpress/* /var/www/html
sudo chown -R www-data:www-data /var/www
完成上述操作后,博客已经部署完成,可以通过https://域名/进入了
6.3、连接数据库及基本设置
输入5.3中的数据库名字,账户以及密码后,点击现在安装。最后填写一下博客的基本信息以及后台账密就可以进入后台了!搭建完成!
7、后续的问题
7.1、数据库界面点击导入按键报错
由于我们之前是在update源之后通过命令安装的phpMyAdmin,在不修改源的情况下,是没有办法通过命令更新到较新版本的。所以这里需要手动下载安装phpmyadmin版本。注意,重新安装不能卸载之前的版本!
1. 使用命令sudo rm -rf /usr/share/phpmyadmin
删掉phpmyadmin的安装目录(一般是在/usr/share下)
2. 打开phpMyAdmin官网下载页,查找最新版本的下载链接,使用wget下载最新安装包。
wget https://files.phpmyadmin.net/phpMyAdmin/4.9.4/phpMyAdmin-4.9.4-all-languages.tar.gz
3. 使用下列命令解压上述文件,并将其复制到/usr/share下。
cd ~/Downloads
unzip phpMyAdmin-4.8.5-all-languages.zip
sudo cp -rf phpMyAdmin-4.8.5-all-languages /usr/share/phpmyadmin
sudo mv /usr/share/phpmyadmin/config.sample.inc.php /usr/share/phpmyadmin/config.inc.php
执行完上述操作后,再打开phpmyadmin,点击导入发现原来的错误没有了。
7.2、首页最下方出现两个新错误
1. the configuration file now needs a secret passphrase (blowfish_secret). phpmyadmin
2. The $cfg['TempDir'] (./tmp/) is not accessible. phpMyAdmin is not able to cache templates and will be slow because of this.
1.第一个错误是要我们在/usr/share/phpmyadmin/config.inc.ph
中的$cfg['blowfish_secret']
填写一个密码,我在这个网站,生成了随机的密码填入相应位置后,错误消失
2.第二个错误是要我们为phpMyadmin建立一个临时目录,使用命令sudo mkdir /usr/share/phpmyadmin/tmp
来建立缓存文件夹,并通过sudo chown -R www-data:www-data /usr/share/phpmyadmin
赋予相应权限。
上述操作完成后,再次进入phpMyadmin后台不会再有报错,右下角的版本号也会升到最新版本。
7.3、添加媒体默认2M
现在如果想在文章中添加图片或者其他媒体时php默认的限制大小是2M,这对我来说有点小,所以要改下这个默认限制大小。由于我是使用apache2来管理网页的,所以和网上的众多教程的php.ini的路径不同,我的是在/etc/php/7.2/apache2/php.ini中,修改upload_max_filesize以及post_max_size的大小为20M,保存修改并重启下apache2服务后,再次在编辑文章中添加媒体就会发现原来的2M限制扩大为20M。
7.4、http重定向
在/etc/apache2/sites-available/000-default.conf
添加Redirect permanent / https://域名/
即可实现80重定向到443的重定向
8、迁移
经过前面这一顿操作,一个全新的博客搭建完成了,接下来我要把我的局域网博客数据库导出到刚新建的博客中,我使用的是”All-in One WP Migration”插件进行迁移。在原博客中使用该插件导出整个数据库,大小大约在200m左右,在新建的站点上安装该插件以及其配套的突破大小限制的辅助工具,最后把内网导出的数据库上传导入到新站中,导入完成后他会提示要重新保存固定链接,顺着他的链接点进去就能到文章固定链接设置处,点击保存即可更新所有文章的固定链接(如果更改固定链接后仍然无法正常访问文章,请对照上文”安装apache2″处修改相应配置文件)
9、最后
全部完成后,顺便帮我的mdx主题升个级,这个主题真的很喜欢,很符合我的material design审美23333 哦对了,原来在内网中由于是http访问,无法使用的PWA插件也能正常使用了,博客终于满血复活,开心!!!
本文参考:https://luomuxiaoxiao.com/
发表回复