动态博客搭建
0.前言
原本个人是打算继续用hexo来实现静态博客的,hexo好就好在一来不需要域名,可以利用github进行搭建,二是部署起来的确是方便快捷,参考一下别人的搭建教程能够很快地搭建好。(这里推荐一下小伙伴的教程 )但是方便快捷的背后则是低自由性。另外也可能是我实在用不来node.js吧,想在hexo上自定义一些东西很困难,基本上你就只能用别人现成的模板来做一点微小层面的修改,导致如果你使用hexo来搭建博客, 你会发现真正看起来舒服的模板就那么几套,大家的网站都长得大同小异。显然这是非常让人不能接受的事情,不然我为什么不去用csdn和博客园呢?另外也是考虑到未来的可扩展性,我还是倾向于使用动态博客的工具进行搭建。
先解释一下这个静态动态的区别吧。简单点说就是静态的没有用脚本即时生成的内容,也没有后端。所以你用hexo生成后是什么样你的博客就是什么样,实现评论什么的都是外接的各种插件,只能利用别人的评论服务。但是一个动态的博客可以有后端,就可以有交互,评论什么的也能存在数据库当中,这样搭出来的博客就不仅仅是一个展示内容的地方了,可以有更多你自己的想法比如一些看板娘或者小游戏什么的。
1.环境搭建
制作一个网站,还包括前后端的交互、数据库通讯等等,如果你想要将这些功能都交给自己实现,那我觉得你为什么不先从制作半导体开始呢那样真是个大工程啊。所以为了方便快捷的搭建网站,并且考虑到sup-project的风格,我们需要一个能够实现主题部署的工具来进行快速建站。
目前支持动态网站搭建的工具有 WordPress emlog typecho ,各有各的优点。不过我看中了typecho的轻量化和结构的简单,~~(用的还是全世界最好的php语言)~~所以这里使用的工具就是typecho了。
然而首先你想使用typecho就要先安装php,而为了安装php的环境你又要会用apache。apache作为目前使用最广泛的网站服务器还是很好使的。多的不说了直接上ubuntu环境下的指令吧。
sudo apt-get install apache2
sudo apt-get install php7
sudo apt-get install libapache2-mod-php
sudo apt-get install mysql-server mysql-client
MySQL在安装好后需要设置root用户的密码。然而有时候并不能正确弹出设置mysql的窗口,这个时候可以使用sudo mysql_secure_installation
来进入初始化配置,设置密码等东西。
sudo apt-get install php-mysql
之后你可能还需要各种插件。插件这个东西要用的时候再随便装装吧。
接下来就要去下载typecho了。这里推荐一下wget指令,wget addr 就能进行下载了。目前的最新版本是1.1(17.10.30),直接执行指令:
wget typecho.org/downloads/1.1-17.10.30-release.tar.gz
就能够下载下来了。下载下来之后就是普通的解压指令:
tar -zxvf 1.1-17.10.30-release.tar.gz
进行typecho的安装是在网页上执行的,所以我们首先需要让自己的apache打开typecho的界面。
首先检查apache2有没有正常运行。你可以访问服务器的地址或者在你的服务器端访问localhost,如果出现了apache2的默认页面就说明服务正常启动了。
如果是想要研究apache如何使用,建议好好读一下这个页面的内容,相当于是apache的一个使用指南。但是作为一份教程,我们的重心并不是apache的使用,apache只是typecho的启动环境而已。所以我们需要给typecho文件夹能被apache访问的权限,并且把typecho所在的文件夹设为默认目录。
-
设置访问权限:
vim /etc/apache2/apache2.conf
之后在里面寻找到
<directory>
标签包裹的地方,并在里面添加以下内容:<Directory /home/ubuntu/typecho/build/>#记得修改成自己的typecho地址 Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory>
由于文件是只读属性,你可能需要sudo才能进行修改。保存并退出的时候也可能会需要:wq!指令
-
修改默认地址:
sudo vim /etc/apache2/sites-available/000-default.conf #修改DocumentRoot的值为typecho的目录
-
重启apache 服务以确定修改:
sudo systemctl restart apache2
之后再打开Localhost就能看到typecho的安装界面了。
mysql这个问题当时折磨了我很久,目前发现的问题有两种情况:
- 不允许远程登陆到root用户下(即必须sudo才能登陆root数据库)
- 没有创建typecho数据库
由于root用户可以修改mysql的密码等信息,所以建议各位还是新建一个用户专门分配给typecho。
mysql -uroot -p
create user "username"@"host" identified by "password";
#注意密码要求有大小写字母+特殊字符+数字
#如果不想要这么复杂的密码可以查看一下mysql的密码策略
show variables like 'validate_password%';
#之后就会显示长度、大小写字符数、数字个数、检查强度、特殊字符数几个参数
#可以直接将检查强度设为low来使得它只验证长度
set global validate_password_length=6;
#如果对用户密码不满意可以直接修改
alter user 'username'@'host' identified by 'password';
mysql -uroot -p
#以下为打开mysql后输入的指令
SHOW DATABASES;
CREATE DATABASE typecho;
#再把权限赋给你的用户
grant all privileges on typecho.* to 'username'@'host';
flush privileges;#更新权限
更多的还是自己去学习如何使用MySQL指令吧。
创建文件也没什么好说的,复制粘贴一下就好了。
然后就安装成功了。
2.待定