毫无技术含量,LAMP(Linux+Apache+Mysql+PHP)
所需软件,Xshell(ssh连接),Xftp(ftp连接),Chrome(安利)

首先购买VPS

阿里云学生认证过后,学生机110+一年,低配且够用,系统选择Ubuntu,顺手
购买后如下图所示
aliyun

基本配置

sudo apt update&&upgrade
后面也忘了,不重要

安装Apache

apache是Web服务器,作为Web服务器“最最基本”的功能就是接收请求并交给相应的后台应用处理并返回。
安装命令
sudo apt install apache2

安装PHP7

安装命令
sudo apt install php7.0
输入版本信息查看是否安装成功,直接用root了
如下图所示
php

安装Apache2 PHP7 module

sudo apt install libapache2-mod-php7.0

安装Mysql

sudo apt install mysql-server mysql-client
sudo apt install php7.0-mysql
需要输入两次密码,第一个是root的密码,第二个是确认第一个密码

重启Apache,Mysql,PHP

sudo service apache2 restart
sudo service mysql restart
sudo service php7.0-fpm restart
这一步是为了让自己安心。

测试

现在访问网站会有Apache的页面提示,可以在/var/www/html路径下写一个php文件测试一下
vim hello.php(vim使用方法自查)

<?php
    phpinfo();
?>

访问yoursite.com/hello.php,看能否输出phpinfo的信息
如下图所示
phpinfo

测试完成

完成后下载某个博客系统,wordpress或typecho等等,用typecho是因为习惯了markdown写博客的习惯而且当你全屏幕的时候会有这个效果比较方便。配置服务器之后开始搭建博客
typecho

下载Typecho

推荐官网下载http://typecho.org/
下载后通过ftp传入网站/var/www/html目录下
xftp图如下所示,将文件从本机拖拽到vps就好了
ftp

解压tar -zxvf 1.1-17.10.30-release.tar.gz
发现解压完之后所有文件都存放在build目录下,需要将所有文件从build目录取出来
cd build
cp -r * ../
最后再将build目录删除
rm -rf build

配置Typecho

在浏览器输入ip或域名(绑定后)
进入后发现,需要在mysql创建一个表
mysql -u root -p
输入密码后进入
> create database typecho;注意后面的分号
会显示one row effected说明创建成功
之后点击下一步,显示无法自己创建config.inc.php文件,需要自己添加
vim config.inc.php
按'a'开始编辑,使用Shift+Insert组合键粘贴,Esc+:+wq保存退出
再点击下一步即创建完成,后面可以找称心的主题。
Ps:config.inc.php文件存放着网站后台管理员信息。

若遇到调用未定义的utf8_decode()函数的错误

参考这个Issue的解决方案
sudo apt install php7.0-xml
即可解决。

安全配置(待续)

某些目录的访问权限:

cd /etc/apache2
vim apache2.conf
将如下代码添加到.conf文件中

<Directory /var/www/html/install>
    require all denied
</Directory>

这样再次访问就是403,但是关于图片路径还是很迷,待续。

Https

在看到这篇文章之后,才发现也有公共免费的SSL项目,并不需要付款向其他证书即构去买。这里选择第一个Lets Encrypt,在With Shell Access下选择Certbot这个自动化配置ssl的工具(这也许并不安全),选择Web服务器(Apache)与操作系统(Ubuntu 16.04),按照下面的做法安装

$ sudo apt-get update
$ sudo apt-get install software-properties-common
$ sudo add-apt-repository ppa:certbot/certbot
$ sudo apt-get update
$ sudo apt-get install python-certbot-apache 

在命令行输入sudo certbot --apache之后按提示输入邮箱,一路Agree与yes后,输入自己的域名,选择2(redirect),即遇到http均跳转到https,再访问自己的博客就会发现前面加上了绿色的小锁,这时https就配置好了

博客访问速度慢已解决,因为域名原来的解析没有删除,而原来的vps也以及废弃不用了,导致域名解析时间过长,拉低了访问速度。