从零开始搭建属于自己的博客

概述

吸引用户的是内容,而不是平台。但一个优秀的平台可以让内容增色不少,大幅提升用户的阅读体验。那么,本篇文章就意在让潜在的作者不被博客平台所困扰,从零开始搭建属于自己的博客。
本文需要用户具备基本信息素养及学习查询能力

服务器

首先先租一台虚拟专用服务器VPS,记录IP并连上它(不同操作系统系统所需工具与方法不同,谷歌一下登进去就行,在此不再赘述)。因为笔者喜好,选用 LAMP 这一套主流软件(Ubuntu 18 + Apache2 + MySQL5.7 + PHP7.2),分别代表操作系统、网站服务器软件,数据库以及超文本预处理器。
操作系统在租用 VPS 的时候会提供选择,如果有 Ubuntu 18.04 则选择它,如果没有就选择 Ubuntu 16/14.04 然后执行 do-release-upgrade升级至 18.04。

apt update
apt upgrade

执行基本软件升级操作,根据屏幕提示输入y
一般互联网内容提供商IDC直接允许root登陆,若不然则需在每条命令前加上sudo,可以参照这篇文章为服务器设置密钥登陆增强安全性。

域名

去阿里云之类的域名商买一个心仪的域名,去 DNS 管理器中设置一个@A解析至IP

LAMP

apt install apache2
apt install mysql-server
apt install php7.2 php7.2-mysql php7.2-mbstring php7.2-curl libapache2-mod-php7.2
apt install nano git unzip

利用包管理器(APT)安装软件,十分迅速。

mysql_secure_installation

设置 MySQL 密码,并进行安全加固(建议全部应用)
非 root 身份执行 mysql_secure_installation时请使用sudo

cd /var/www/html

切换到网站默认目录,

nano info.php

用文本编辑器nano创建info.php

<?php
phpinfo();
?>

并输入以上内容,CTRL+O保存,CTRL+X退出。
浏览器中访问IP/info.php,若正常显示相关信息则配置正常。

Typecho

Typecho 是一款轻量级的博客软件,而且插件与外观颇丰。

cd /var/www
wget http://typecho.org/downloads/1.1-17.10.30-release.tar.gz
tar zxvf 1.1-17.10.30-release.tar.gz
rm 1.1-17.10.30-release.tar.gz
mv build typecho

下载 Typecho 并解压。

Vhost

cd /etc/apache2/sites-available
nano typecho.conf

进入 Apache2 网站目录并创建typecho.conf

<VirtualHost *:80>
        ServerName sorx.tech
        ServerAdmin i@sor.moe
        DocumentRoot /var/www/typecho

        <Directory "/var/www/typecho/">
                Options FollowSymLinks
                AllowOverride All
                Order deny,allow
        </Directory>

        ErrorLog ${APACHE_LOG_DIR}/typecho.error.log
        CustomLog ${APACHE_LOG_DIR}/typecho.access.log combined
</VirtualHost>

写入以上内容,替换域名与邮箱,并保存退出。

a2enmod rewrite
a2ensite typecho.conf
systemctl restart apache2

开启重写插件并启用网站。

MySQL

mysql -u root -p

输入密码进入MySQL控制台,输入create database typecho;创建新数据库,exit退出。

安装

随后浏览器打开域名,按照提示安装即可。

进阶

地址重写

cd /var/www/typecho
nano .htaccess

创建.htaccess文件,

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php [L,E=PATH_INFO:$1]

写入如上内容,然后在https://blog.sorx.tech/admin/options-permalink.php 界面中开启(不用理会错误提示)

SSL

HTTPS 协议可以有效防止被运营商劫持等流氓问题,因此建议为博客配置 SSL。

curl https://get.acme.sh | bash

acme.shLet's Encrypt 的一款第三方工具,可以提供免费 SSL 证书。

cd ~/.acme.sh
./acme.sh --issue -d *.sorx.tech -d sorx.tech --dns dns_azure

使用acme.sh签发证书,DNS API 配置说明见

nano /etc/apache2/sites-available/typecho.conf

然后编辑 Vhost 配置文件,

<VirtualHost *:443>
        ServerName sorx.tech
        ServerAdmin i@sor.moe
        DocumentRoot /var/www/sorx.tech

        <Directory "/var/www/sorx.tech/">
                Options FollowSymLinks
                AllowOverride All
                Order deny,allow
        </Directory>

        ErrorLog ${APACHE_LOG_DIR}/sorx.tech.error.log
        CustomLog ${APACHE_LOG_DIR}/sorx.tech.access.log combined

        SSLCertificateFile /home/sor/.acme.sh/*.sorx.tech/fullchain.cer
        SSLCertificateKeyFile /home/sor/.acme.sh/*.sorx.tech/*.sorx.tech.key
        Include /etc/ssl/options-ssl-apache.conf
</VirtualHost>

参照示例更改,并systemctl reload apache2刷新 Apache2

robots.txt

cd /var/www/typcheo
nano robots.txt

robots.txt 告诉搜索引擎哪些可以收录,并告知其站点地图。

User-agent: *
Disallow: /admin/
Disallow: /install/
Allow: /
sitemap: https://blog.sorx.tech/sitemap.xml

写入以上内容,保存退出。

外观与插件

https://github.com/zgq354/typecho-theme-next
https://github.com/journey-ad/MDRuby-Typecho-Plugin
https://github.com/journey-ad/HyperMD-Typecho-Plugin
https://github.com/kokororin/typecho-plugin-Access

本站目前使用的如上,在 repo 页都有详细说明,可以自行选择安装。


添加新评论