如何在 CentOS 8 上设置 Textpattern CMS
在此页
- 要求
- 第 1 步:安装所需软件
- 第 2 步:Textpattern CMS 安装
- 第 3 步:数据库设置
- 第 4 步:Apache 配置
- 第 5 步:Textpattern CMS 配置
- 更多信息
Textpattern 是一个免费的开源 PHP 内容管理系统。它相当轻巧、快速且易于使用,同时通过主题和插件提供了不错的可定制性。在本指南中,我们将在全新的 CentOS 8 系统上安装 Textpattern。
要求
- 一个全新的 CentOS 8 系统,您可以在该系统上访问 root 用户或任何具有 sudo 权限的用户。
- 指向您的服务器的注册域名。
如果以 sudo 用户身份登录,请切换到 root 用户进行此设置:
sudo su -
将 $VISUAL 环境变量设置为您喜欢的文本编辑器。例如,要使用纳米:
echo "export VISUAL=nano" >> ~/.bash_profile
. ~/.bash_profile
第 1 步:安装所需软件
首先,更新您的系统:
dnf update -y
然后安装 wget、tar、Apache、PHP、所需的 PHP 扩展、MariaDB 和用于管理 SELinux 的实用程序:
dnf install -y wget tar httpd mariadb-server php php-xml php-mysqli php-json php-mbstring php-zip php-zlib policycoreutils-python-utils
确保 Apache 和 MariaDB 服务已启用并正在运行:
systemctl enable --now httpd.service mariadb.service
由于 CentOS 8 存储库不包含 certbot,我们将使用脚本 certbot-auto 来安装它。下载并安装 certbot-auto,如下所示:
wget https://dl.eff.org/certbot-auto
mv certbot-auto /usr/local/bin/certbot-auto
chmod 0755 /usr/local/bin/certbot-auto
然后使用以下命令安装 certbot:
certbot-auto --install-only
在 dnf 提示安装依赖项时输入 y。
重新启动 Apache 服务:
systemctl restart httpd.service
第 2 步:Textpattern CMS 安装
从 Github 上的 Releases 复制最新 textpattern 版本的下载链接(.tar.gz 格式),然后使用 wget 将其下载到您的服务器,如下所示:
wget https://github.com/textpattern/textpattern/releases/download/4.7.3/textpattern-4.7.3.tar.gz
然后解压存档并将其内容移动到 web 根目录:
tar -xzf textpattern*.tar.gz
rm -f textpattern*.tar.gz
mv textpattern* /var/www/html/textpattern
为了让 Textpattern 正常工作,它需要对特定目录的写访问权限。要授予该访问权限,请授予 Apache 系统用户对整个目录的所有权:
chown -R apache:apache /var/www/html/textpattern
并使用以下命令用正确的 SELinux 上下文标记目录结构:
semanage fcontext -a -t httpd_sys_content_t "/var/www/html/textpattern(/.*)?"
semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/html/textpattern/themes(/.*)?"
semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/html/textpattern/images(/.*)?"
semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/html/textpattern/files(/.*)?"
restorecon -Rv /var/www/html
第 3 步:数据库设置
首先运行 mysql_secure_installation 脚本来执行基本的安全增强:
mysql_secure_installation
回答如下所示的问题,并确保为 root 用户选择一个安全的密码:
Enter current password for root (enter for none):
Set root password? [Y/n] y
New password: your_password
Re-enter new password: your_password
Remove anonymous users? [Y/n] y
Disallow root login remotely? [Y/n] y
Remove test database and access to it? [Y/n] y
Reload privilege tables now? [Y/n] y
接下来,我们将创建一个供 Textpattern 使用的数据库和用户。使用以下命令登录到 MySQL shell:
mysql -u root -p
输入您的 root 密码,然后发出以下语句。确保用正确的密码替换 textpattern_user_password。
MariaDB [(none)]> CREATE DATABASE textpattern_db;
MariaDB [(none)]> CREATE USER textpattern_user IDENTIFIED BY 'textpattern_user_password';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON textpattern_db.* TO textpattern_user;
MariaDB [(none)]> \q
第 4 步:Apache 配置
首先,启用通过主机防火墙的 HTTP 和 HTTPS 流量:
firewall-cmd --add-service http --add-service https --permanent
firewall-cmd --reload
然后为您的 Textpattern 站点创建一个新的虚拟主机:
$VISUAL /etc/httpd/conf.d/textpattern.conf
并输入以下配置,将 your_domain 替换为您的域名。
<VirtualHost *:80>
DocumentRoot "/var/www/html/textpattern"
ServerName your_domain
<Directory "/">
AllowOverride All
</Directory>
</VirtualHost>
保存退出,然后加载新的配置:
systemctl reload httpd.service
要为您的域获取 SSL 证书并将 Apache 配置为使用 HTTPS,请发出以下命令:
certbot-auto --apache -d "your_domain" -m "" --redirect
此命令将完成许多任务:
- 为您的域获取证书(保存在 /etc/letsencrypt/your_domain/ 下)。
- 创建一个名为 textpattern-le-ssl.conf 的 Apache 配置文件。
- 编辑 textpattern.conf 以将所有 HTTP 请求重定向到 HTTPS。
第 5 步:Textpattern CMS 配置
您的 Textpattern 安装现在应该可以访问,但尚未配置。浏览到 https://your_domain/textpattern/setup/ 以启动 Web 安装程序。选择语言后,输入数据库详细信息:
- MySQL 用户名:textpattern_user
- MySQL 密码:输入在第 2 步中为 textpattern_user 选择的密码。
- MySQL 服务器:localhost
- MySQL 数据库:textpattern_db
- 表前缀:留空
安装程序将在生成相应配置之前检查您输入的数据库凭据。创建所需的文件:
$VISUAL /var/www/html/textpattern/textpattern/config.php
粘贴生成的配置,保存文件并退出。继续 Web 安装程序中的下一步,您将被要求输入 CMS 管理员帐户和站点配置的信息。完成后,删除安装目录:
rm -rf /var/www/html/textpattern/textpattern/setup
您的 Textpattern 站点现在可以使用了。
更多信息
- 在本指南中了解如何使用 certbot 管理您的证书