如何在Fedora 29上安装Vanilla Forum

如何在Fedora 29上安装Vanilla Forum

Vanilla是一个用PHP编写的免费开源讨论论坛。 Vanilla论坛软件是根据GNU GPL2许可发行的。其源代码可在Github上获得。它具有丰富的附加系统,可以利用在Vanilla论坛中添加自定义功能的优势。可以使用Markdown语言创建Vanilla论坛内容。在本教程中,您将在Fedora 29系统上安装并设置Vanilla论坛,使用Nginx作为Web服务器,使用MySQL作为数据库服务器,还可以选择使用acme.sh客户端和Let’s Encrypt证书颁发机构创建传输层。添加可以保护的SSL支持。

要求条件

Vanilla需要一台具有PHP,MySQL和Web服务器软件(例如Apache和NGINX)的服务器。您可能需要拥有该域,并且如果将其安装在生产服务器上,则该域已经在使用DNS的服务器上进行了配置,否则不需要域。

香草论坛的最低要求是:

  • PHP 7.0或更高版本。
  • PHP扩展mbstring,cURL,GD和PDO,MySQLi,OpenSSL。
  • MySQL 5.0或更高版本(或等效于Percona / MariaDB)。
  • Web服务器软件(Nginx,Apache …)。
  • MySQL严格模式已禁用。

香草论坛强烈推荐:

  • PHP 7.2或更高版本。
  • PHP扩展mbstring,cURL,GD和PDO,MySQLi,OpenSSL。
  • MySQL 5.7或更高版本(或等效于Percona / MariaDB)。
  • Web服务器软件(Nginx,Apache …)。
  • SSL加密。

注意事项:不赞成使用PHP 7.0,并且不再接收安全补丁,因此我们强烈建议您使用更新版本的PHP。 对PHP 7.0的Vanilla支持即将推出!

先决条件

  • 运行Fedora 29的操作系统。
  • 具有sudo特权的非root用户。

第一步

检查您的Fedora系统版本:

cat /etc/fedora-release# Fedora release 29 (Twenty Nine)

设置时区。

timedatectl list-timezonessudo timedatectl set-timezone 'Region/City'

更新操作系统软件包(软件)。这是重要的第一步,它确保您具有操作系统默认软件包的最新更新和安全修补程序。

sudo dnf upgrade -y

安装一些Fedora操作系统基本管理所需的重要软件包。

sudo dnf install -y curl wget vim git sudo zip unzip socat bash-completion

第1步-安装PHP和所需的PHP扩展

安装PHP和所需的PHP扩展。

sudo dnf install -y php-cli php-fpm php-common php-mbstring php-curl php-gd php-mysqlnd php-json

要查看编​​译成模块的PHP:

php -mctypecurlexiffileinfo. . .. . .

检查PHP版本。

php --version# PHP 7.2.16 (cli) (built: Mar  5 2019 11:05:59) ( NTS )# Copyright (c) 1997-2018 The PHP Group# Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies

启动并启用PHP-FPM服务。

sudo systemctl start php-fpm.servicesudo systemctl enable php-fpm.service

您可以继续执行下一步,安装和设置数据库。

步骤2-安装“ MariaDB”并创建“ Vanilla论坛”数据库

Vanilla论坛支持MySQL,MariaDB和Percona数据库。本教程使用MariaDB作为数据库服务器。

执行以下步骤安装MariaDB。

sudo dnf install -y mariadb-server

检查MariaDB版本。

mysql --version# mysql  Ver 15.1 Distrib 10.3.12-MariaDB, for Linux (x86_64) using readline 5.1

启动并启用MariaDB服务。

sudo systemctl start mariadb.servicesudo systemctl enable mariadb.service

mysql_secure installation 用于提高MariaDB安全性并设置MariaDB密码的脚本 root 使用者:

sudo mysql_secure_installation

回答每个问题:

Enter current password for root (enter for none): Press EnterSet root password? [Y/n] YNew password: your_secure_passwordRe-enter new password: your_secure_passwordRemove anonymous users? [Y/n] YDisallow root login remotely? [Y/n] YRemove test database and access to it? [Y/n] YReload privilege tables now? [Y/n] Y

以root用户身份连接到MariaDB shell。

sudo mysql -u root -p# Enter password

创建一个空的“ MariaDB”数据库和“ Vanilla论坛”用户,并记住您的凭据

MariaDB [(none)]> CREATE DATABASE dbname;MariaDB [(none)]> GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';MariaDB [(none)]> FLUSH PRIVILEGES;

退出ariaMariaDB。

MariaDB [(none)]> exit

交换 dbnameusernamepassword 用你自己的名字。

第3步安装 acme.sh 使用客户端获取“让我们加密证书”(可选)

您不需要使用HTTPS保护您的网站,但是我们建议您保护网站流量。要从Let’s Encrypt获得TLS证书,请使用acme.sh客户端。 Acme.sh是纯UNIX Shell软件,用于获取TLS证书,而无需来自Let’s Encrypt。

下载并安装acme.sh。

sudo su - rootgit clone https://github.com/Neilpang/acme.sh.gitcd acme.sh ./acme.sh --install --accountemail [email protected]source ~/.bashrccd ~

检查acme.sh版本。

acme.sh --version# v2.8.0

得到 RSAECC / ECDSA 域/主机名证书:

# RSA 2048acme.sh --issue --standalone -d example.com --keylength 2048# ECDSAacme.sh --issue --standalone -d example.com --keylength ec-256

如果您需要伪造的证书进行测试,则可以添加 --staging 以上命令的标志。

执行上述命令后,“证书”和“密钥”将如下所示。

  • 对于 RSA/home/username/example.com 目录。
  • 对于 ECC / ECDSA/home/username/example.com_ecc 目录。

要列出颁发的证书,您可以:

acme.sh --list

创建一个“目录”以存储证书。我们将使用 /etc/letsencrypt 目录。

mkdir -p /etc/letsecnrypt/example.comsudo mkdir -p /etc/letsencrypt/example.com_ecc

将证书安装/复制到/ etc / letsencrypt目录中。

# RSAacme.sh --install-cert -d example.com --cert-file /etc/letsencrypt/example.com/cert.pem --key-file /etc/letsencrypt/example.com/private.key --fullchain-file /etc/letsencrypt/example.com/fullchain.pem --reloadcmd "sudo systemctl reload nginx.service"# ECC/ECDSAacme.sh --install-cert -d example.com --ecc --cert-file /etc/letsencrypt/example.com_ecc/cert.pem --key-file /etc/letsencrypt/example.com_ecc/private.key --fullchain-file /etc/letsencrypt/example.com_ecc/fullchain.pem --reloadcmd "sudo systemctl reload nginx.service"

所有证书每60天自动更新一次。

从root用户获取证书并退出,然后返回普通的sudo用户。

exit

第4步-安装NGINX并配置NGINX for Vanilla论坛

Vanilla论坛可以与许多流行的Web服务器软件配合使用。在本教程中,选择了NGINX。如果您更喜欢Apache Web服务器而不是webNGINX, https://docs.vanillaforums.com/developer/backend/server-apache/ 了解更多。

从Fedora存储库下载并安装NGINX。

sudo dnf install -y nginx

检查NGINX版本。

nginx -v# nginx version: nginx/1.14.2

启动并启用NGNGX服务。

sudo systemctl start nginx.servicesudo systemctl enable nginx.service

通过执行以下操作来配置Vanilla的NGINX:

sudo vim /etc/nginx/conf.d/vanilla.conf

然后将以下配置添加到文件中:

server {  listen 80;  listen 443 ssl http2;  server_name example.com;  root /var/www/vanilla;  index index.php;  # RSA  ssl_certificate /etc/letsencrypt/example.com/fullchain.pem;  ssl_certificate_key /etc/letsencrypt/example.com/private.key;  # ECC/ECDSA  ssl_certificate /etc/letsencrypt/example.com_ecc/fullchain.pem;  ssl_certificate_key /etc/letsencrypt/example.com_ecc/private.key;  location ~* /.git { deny all; return 403; }  location /build/ { deny all; return 403; }  location /cache/ { deny all; return 403; }  location /cgi-bin/ { deny all; return 403; }  location /uploads/import/ { deny all; return 403; }  location /conf/ { deny all; return 403; }  location /tests/ { deny all; return 403; }  location /vendor/ { deny all; return 403; }  location ~* ^/index.php(/|$) {    include default.d/php.conf;    fastcgi_param SCRIPT_NAME /index.php;    fastcgi_param SCRIPT_FILENAME $realpath_root/index.php;    fastcgi_param X_REWRITE 1;    fastcgi_pass unix:/run/php-fpm/www.sock;  }  location ~* .php(/|$) {    rewrite ^ /index.php$uri last;  }  location / {    try_files $uri $uri/ @vanilla;  }  location @vanilla {    rewrite ^ /index.php$uri last;  }}

注意事项:Nginx完成Vanilla访问的完整配置准备 https://docs.vanillaforums.com/developer/backend/server-nginx/

检查NGINX配置是否存在语法错误。

sudo nginx -t

重新加载NGINX服务:

sudo systemctl reload nginx.service

步骤5-安装香草论坛

创建Vanilla论坛所在的文档根目录。

sudo mkdir -p /var/www/vanilla

更改所有权 /var/www/vanilla 目录{jour_user}:

sudo chown -R {your_user}:{your_user} /var/www/vanilla

注意事项:交换{jour_user} 使用创建的第一个非root用户的用户名。

转到文档根目录。

cd /var/www/vanilla

下载香草论坛zip存档。

wget https://open.vanillaforums.com/get/vanilla-core-2.8.1.zip

解压缩并删除Vanilla zip存档。

unzip vanilla-core-2.8.1.ziprm vanilla-core-2.8.1.zipmv vanilla-2.8.1/* . && mv vanilla-2.8.1/.* .

提供适当的所有权。

sudo chown -R nginx:nginx /var/www/vanilla

sudo vim /etc/php-fpm.d/www.conf 以及用户和组 nginx。首先,将它们设置为 apache:

sudo vim /etc/php-fpm.d/www.conf# user = nginx# group = nginx

在网络浏览器中导航到上载Vanilla的文件夹,然后按照屏幕上的说明进行操作。

第6步-完成Vanilla论坛的安装和设置

在Web浏览器中打开网站后,您将被重定向到下一页。

输入所需的信息,然后单击 “继续→” 单击按钮完成安装和设置。然后,您将看到Vanilla论坛管理界面。

Ubuntu 18.04 LTS Vanilla论坛

Sidebar