Blog搭建小记

Author Avatar
Righteous 5月 15, 2017

国内服务器需要备案,相应的域名也要备案,不想折腾,于是乎。。。搞了个国外vps,采用了Typecho框架、handsome主题搭建了此Blog。
配置LAMP
服务器:Ubuntu17.04

1.更新

sudo apt-get update             # 获取最新资源包
sudo apt-get upgrade           # 本机软件全部更新
sudo apt-get dist-upgrade    # 本机系统软件更新

2.安装Apache

sudo apt-get install apache2

测试: 浏览器访问http://Ubuntu的IP(即http://localhost),出现It Works!网页。
查看状态: service apache2 status/start/stop/restart
Web目录:/var/www
安装目录: /etc/apache2/
全局配置: /etc/apache2/apache2.conf
监听端口: /etc/apache2/ports.conf
虚拟主机: /etc/apache2/sites-enabled/000-default.conf

3.安装MySQL

sudo apt-get install mysql-server mysql-client

4.安装PHP及其它模块

sudo apt-get install php7.0
sudo apt-get install php7.0-fpm php7.0-mysql php7.0-common php7.0-mbstring php7.0-gd php7.0-json php7.0-curl libapache2-mod-php7.0

重启服务

service apache2 restart
service mysql restart

5.安装phpMyAdmin

sudo apt-get install phpmyadmin

安装:选择apache2,点击确定。下一步选择是要配置数据库,并输入密码。
创建phpMyAdmin快捷方式:

sudo ln -s /usr/share/phpmyadmin /var/www/html

启用Apache mod_rewrite模块:

sudo a2enmod rewrite

重启服务:

service php7.0-fpm restart
service apache2 restart

安装Typecho
下载安装包(http://typecho.org/),解压,放到/var/www/html目录下,上传完毕后使用浏览器直接访问安装目录即可看到Typecho的安装程序。
1)若无数据库报错,自己创建typecho数据库即可

mysql -u root -p
CREATE DATABASE typecho;

2)若无config.inc.php文件,手动创建即可

安装主题&插件
主题安装:将主题上传至typecho的/usr/themes目录下;
插件安装:将插件上传至typecho的/usr/plugins/目录下。

附:启用Links友链插件报错:数据表建立失败,友情链接插件启用失败。错误号:42S01
解决方案:
先把typecho_links这张表备份到本地(或者把整个数据库备份)
然后把typecho_links这张表删除(DROP TABLE typecho_links)
在后台重新启用插件
最后把备份到本地的typecho_links这张表导入数据库

服务器环境:Ubuntu17.04 LAMP

为了使网站支持https访问,并将http网址重定向到https,开始了遇坑之旅。。。

获取SSL证书
使用的是阿里云SSL免费证书。到阿里云控制台,购买证书,申请证书即可。
下载证书上传至服务器

加载SSL模块到Apache2
执行以下命令确保SSL模块已经加载进Apache2中:

a2enmod ssl

如果出现“Module ssl already enabled”这样的信息就说明SSL模块已经加载到 Apache2 中,如果出现“Enabling module ssl”,重启Apache2:

service apache2 restart

修改Apache2配置文件

修改/etc/apache2/ports.conf文件:

Listen 80
<IfModule ssl_module>
        Listen 443
</IfModule>

<IfModule mod_gnutls.c>
        Listen 443
</IfModule>

修改/etc/apache2/sites-available/000-default.conf文件:

<VirtualHost *:443>
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html
    SSLEngine on
    SSLCertificateFile cert/admin/public.pem
    SSLCertificateKeyFile cert/admin/21424xxxxxxx.key
    SSLCertificateChainFile cert/admin/chain.pem
</VirtualHost>

修改/etc/apache2/sites-available/default-ssl.conf文件:
添加

SSLCertificateFile cert/admin/public.pem
SSLCertificateKeyFile cert/admin/21424xxxxxxx.key
SSLCertificateChainFile cert/admin/chain.pem

附:将文中其余SSLCertificateFile、SSLCertificateKeyFile等注释掉

启用ssl,重启apache

a2ensite default-ssl 
/etc/init.d/apache2 restart

重定向http请求到https
在apache2.conf文件里添加:

#Load rewrite_module
LoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.so
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

再将apache2.conf中所有的AllowOverride:None修改为AllowOverride:All。
修改之后重启Apache2,http请求都将重定向到https。

sudo a2enmod rewrite
service apache2 restart