Blog搭建小记
国内服务器需要备案,相应的域名也要备案,不想折腾,于是乎。。。搞了个国外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