Ubuntu 22.04上使用Apache和SQLite搭建Typecho站点
Ubuntu 22.04上有apt包管理器,并且我们需要的Apache2和php8.x在此版本的Ubuntu软件仓库中都有预编译好的适合生产环境的版本,因此部署Web环境十分方便,只需要你有常用的Linux CLI操作基础就能迅速上线你的网站。
准备工作
为了搭建这样一个公开可供访问的个人博客网站,首先需要拥有一台具有公网独立IP的云服务器以及一个合乎自己心意的域名,将域名做A记录到你服务器的IP上。因为是个人网站,流量不是很大,主要是满足类似于QQ空间的个人记录的作用,并且我们所使用的博客程序Typecho也是相当快速且轻量化的,所以1核心1-3Mbps的云服务器就完全够用了,建站时也没必要使用MySQL作为站点数据库,直接使用多数Linux发行版原生支持的SQLite就行。
搭建过程
安装Apache2 & PHP8.x
使用开通服务器设置的密码在终端SSH登录到root用户,然后顺序执行以下指令。
apt update
apt install apache -y
apt install php libapache2-mod-php php-sqlite3 -y
等待安装结束,然后使用
php -v
php -m | grep sqlite3
a2enmod php8.x # 将php8.x替换为实际安装的PHP版本
systemctl restart apache2
确认所安装的PHP版本,同时验证Apache2、PHP和SQLite扩展是否安装成功并确保Apache启用了PHP支持。
到此Web环境就已经准备就绪,下一步就是新建你的站点了。
站点配置
通过apt包管理器安装的Apache配置文件目录在/etc/apache2
,站点目录在/var/www
,任何新建的站点都是在/var/www
下新建一个目录作为相应站点的根目录,这里需要注意的是,如果站点用到了php,对应站点的目录的所有者须设置为www-data
,权限设置为“644”。
在/etc/apache2
中的sites-available
目录下就是站点配置文件,新建站点和编辑站点配置在这里进行,要启用和禁用站点可以通过a2ensite
和a2dissite
指令进行,安装好Apache后默认在80端口启用了名为000-default的站点,可以籍由此访问服务器的IP测试Apache是否安装好,服务器端口是否正常开放。
# 新建自己的站点配置文件及站点根目录
mkdir /var/www/example.com
touch /etc/apache2/sites-available/example-com.conf # or cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/example-com.conf
nano /etc/apache2/sites-available/example-com.conf
# 修改站点目录权限
chown -R www-data:www-data /var/www/example.com
chmod -R 644 /var/www/example.com
站点配置文件参考
<VirtualHost *:80>
DocumentRoot /var/www/example-com
ServerAdmin admin@example.com
ServerName example.com
ServerAlias www.example.com
# Rewrite部分内容涉及https的配置,在新建的时候建议先使用#把对应行的内容注释掉,在80端口通过http能正常访问网站的之后再进行https的配置
#RewriteEngine On
#RewriteCond %{HTTPS} off
#RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R=301,L]
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
现在将网站代码上传或下载到服务器的网站目录,然后调试你的网页代码,在浏览器访问你的域名确认显示正常后到此你的站点就新建好了。上传网站代码可以直接用SSH的方式,scp
命令或者WinSCP软件都可以。
我们建的是Typecho博客,去Typecho 官网下载打包好的网站源码,上传到服务器后解压,通过浏览器访问网站完成站点安装过程。
# 使用scp命令上传Typecho网页源码到服务器
scp Downloads/typecho.zip root@SERVER_IP:/var/www/example-com
站点HTTPS配置(可选,推荐)
在网站都设置好能正常访问使用过后,接下来就可以进行网站的https配置了,这里主要涉及SSL证书的获取,我这里用的是通过certbot获取的免费证书,完整的设置步骤可以看它的官网,我按照官网的步骤成功设置好了网站的HTTPS。
证书获取好了之后别忘了去网站配置文件中将最开始注释了的Rewrite相关的代码
暂时就这些了,后续对网站的更新和维护基本都是通过浏览器在Typecho网页后台中进行的,还有些值得分享的点想到再补充。