apache2-on-ubuntu.jpg
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目录下就是站点配置文件,新建站点和编辑站点配置在这里进行,要启用和禁用站点可以通过a2ensitea2dissite指令进行,安装好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网页后台中进行的,还有些值得分享的点想到再补充。