博客载体经历树莓派、工控机,现已转移至云服务器。云服务器在腾讯云购入,首年和次年均79,之后原价600,不知道到时候有没有一些优惠卷能减点。域名也在腾讯云购入,4年330。在这里记录一下博客的搭建过程,供想玩博客的同学参考 icon_rolleyes.png
由于比较习惯LAMP,没用官方搭建好的镜像,需要自己从头配。

(0)安装Ubuntu,以及响应的换源,更新,联网,ssh开关
(1)安装apache2
sudo apt-get install apache2
(2)安装php
sudo apt-get install php
(3)安装mysql
sudo apt-get install mysql-server
(4)使php支持mysql
sudo apt-get install php-mysql
(5)使apache2支持php
sudo apt-get install libapache2-mod-php
(6)安装typecho,先到/var/www/html路径下(下载链接,在google网页右键->查看网页源代码,然后代码里找到下载链接即可)
sudo wget https://github.com/typecho/typecho/releases/latest/download/typecho.zip
sudo unzip typecho.zip -d /var/www/html/typecho
(7)给typecho 的uploads上权限
sudo chmod 777 /var/www/html/typecho/usr/uploads
(8)改一下apache2的网站文件指向目录
编辑 /etc/apache2/sites-available/000-default.conf
指向 /var/www/html/typecho
(9)配置mysql数据库(mysql内部指令的末尾记得加上;)
0)进入数据库
mysql -u root -p
1)更改root密码(一开始root是空密码)
ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'new_password';
FLUSH PRIVILEGES;
EXIT;
2)可重新登陆验证密码是否更改成功(尤其是直接回车验证不是空密码了),或者使用一下命令查看用户和密码的情况也可,不过好像密码是哈希码,看不到
SELECT user, host, authentication_string FROM mysql.user;
3)建立新数据库(给typecho用)
CREATE DATABASE typecho_yuuki;
4)可以用下面的命令验证数据库是否建立成功
SHOW DATABASES;
(10)数据库弄利索了,直接进公网ip或者域名就可以了,根据typecho的安装指引来就可以了
*(11)可能需要手动创建config.inc.php,按照提示创建即可,touch命令可以新建文件
ps:可以使用 sudo systemctl enable xxx, 让apache2,mysql等需要的软件开机启动(网云穿内网穿透软件也可以写脚本用systemctl管理)
访问公网IP或者局域网访问内网IP,就能看到博客首页啦 icon_mrgreen.png
首页.jpg

*(12)然后根据兴趣安装主题和插件,写文章吧(插件直接FTP传到服务器显示有问题的话,多半是权限的事,也可以找下载地址然后直接wget)
主题放在 /var/www/html/typecho/usr/themes 里
插件放在 /var/www/html/typecho/usr/plugins 里
最终折腾成自己想要的样子
折腾好.jpg

*(13)gravatar换国内源
根目录下的config.inc.php,添加
define('__TYPECHO_GRAVATAR_PREFIX__', 'http://dn-qiniu-avatar.qbox.me/avatar/');

*(14)遗留问题,标签云弄不出来,邮件提醒用不了(可能是typecho1.3不兼容,暂未解决)

(15)Ssl

0)先把ssl证书申请好下载到本地
1)将其放到/etc/apache2/ssl(需要建一下这个文件夹,mkdir)
2)安装一下ssl模块
3)启用ssl模块
sudo a2enmod ssl
4)去/etc/apache2/sites-available目录下编辑default-ssl.conf,补充更改以下内容
ServerName example.com #请将example.com替换为您证书绑定的域名。部分服务器,没有该配置参数,您需要手动添加。
SSLCertificateFile /etc/apache2/ssl/domain_name_public.crt #证书文件路径。请替换为实际证书文件路径。
SSLCertificateKeyFile /etc/apache2/ssl/domain_name.key #证书私钥文件路径。请替换为实际证书私钥文件路径。
SSLCertificateChainFile /etc/apache2/ssl/domain_name_chain.crt #证书链文件路径。请替换为实际证书链文件路径。
5)将default-ssl.conf映射至/etc/apache2/sites-enabled目录,实现两者之间的自动关联(备注:available里面放的是可用的虚拟主机,enabled里面放的是已经启用的虚拟主机)
sudo ln -s /etc/apache2/sites-available/default-ssl.conf /etc/apache2/sites-enabled/001-ssl.conf
6)重新加载Apache2配置文件
sudo /etc/init.d/apache2 force-reload
7)重启Apache2服务
sudo /etc/init.d/apache2 restart

*(16)换域名改数据库

0)进入数据库
mysql -u root -p
1)选typecho_yuuki数据库
use typecho_yuuki;
2)替换数据库内容(改了第一条就可以ssl访问了,但是主题外观没改全,需要手动在typecho 的admin界面再改一下)
UPDATE \`typecho_options\` SET \`value\` = '新IP' WHERE \`typecho_options\`.\`name\` = 'siteUrl' AND \`typecho_options\`.\`user\` = 0;

UPDATE \`typecho_contents\` SET \`text\` = REPLACE(\`text\`,'旧IP','新IP');

UPDATE \`typecho_comments\` SET \`url\` = replace (\`url\`,'旧IP','新IP');

UPDATE \`typecho_users\` SET \`url\` = REPLACE(\`url\`,'旧IP', '新IP');

*(17)改typecho上传文件限制
修改php.ini这个文件中的upload_max_filesize = 4M,就行
定位文件可以装一个plocate包,然后用locate命令搜就行,真好使

其余博客有意思的东西,欢迎交流~