如何在Fedora 30上用Nginx安装Phorum

如何在Fedora 30上用Nginx安装Phorum

Phorum是基于PHP和MySQL的开源论坛软件。本指南将指导您使用acme.sh和Let’s Encrypt for HTTPS(以Nginx作为Web服务器,以MariaDB作为数据库,

要求条件

运行Phorum的要求如下:

  • Nginx的
  • PHP 5.2或更高版本
  • MySQL 5.0或更高版本

先决条件

  • Fedora 30操作系统。
  • 非root用户 sudo 特权。

第一步

检查您的Fedora系统版本:

cat /etc/fedora-release# Fedora release 30 (Thirty)

设置时区。

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

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

sudo dnf upgrade -y

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

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

第1步-安装PHP

安装PHP和所需的PHP扩展。

sudo dnf install -y php php-cli php-fpm php-common php-mysqlnd

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

php -mctypecurlexiffileinfo. . .. . .

检查PHP版本。

php --version# PHP 7.3.5 (cli) (built: Apr 30 2019 08:37:17) ( NTS )# Copyright (c) 1997-2018 The PHP Group# Zend Engine v3.3.5, Copyright (c) 1998-2018 Zend Technologies

启动并启用PHP-FPM服务。

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

步骤2-安装ariaMariaDB并创建数据库

安装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

回答每个问题:

Would you like to setup VALIDATE PASSWORD plugin? NNew 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数据库”和“ Phorum”用户,并记住他们的凭据。

mysql> CREATE DATABASE dbname;mysql> GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';mysql> FLUSH PRIVILEGES;

退出MariaDB。

mysql> 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步-安装和配置INNGINX

安装NGINX。

sudo dnf install -y nginx

检查NGINX版本。

nginx -v# nginx version: nginx/1.16.0

启动并启用NGNGX服务。

sudo systemctl start nginx.servicesudo systemctl enable nginx.service

配置NGINX for Phorum。跑 sudo vim /etc/nginx/conf.d/phorum.conf 添加以下配置:

server {
  listen 80;
  listen 443 ssl;
  server_name example.com;
  root /var/www/phorum;
  ssl_certificate /etc/letsencrypt/example.com/fullchain.pem;  ssl_certificate_key /etc/letsencrypt/example.com/private.key;  ssl_certificate /etc/letsencrypt/example.com_ecc/fullchain.pem;  ssl_certificate_key /etc/letsencrypt/example.com_ecc/private.key;
  index index.php index.html;

  location / {
    try_files $uri $uri/ /index.php?$query_string;
  }

  location ~ .php$ {
    include default.d/php.conf;    try_files $uri $uri/ /index.php?$query_string;    fastcgi_split_path_info ^(.+.php)(/.+)$;    fastcgi_pass unix:/run/php-fpm/www.sock;    fastcgi_index index.php;    include fastcgi_params;    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;    fastcgi_param PATH_INFO $fastcgi_path_info;
  }
}

检查您的NGNGX配置是否存在语法错误。

sudo nginx -t

重新加载NGINX服务:

sudo systemctl reload nginx.service

步骤4-安装Phorum

为Phorum创建文档根目录。

sudo mkdir -p /var/www/phorum

更改所有权 /var/www/phorum 到目录 [jour_user]:

sudo chown -R [your_user]:[your_user] /var/www/phorum

转到文档根目录。

cd /var/www/phorum

从下载最新的稳定的Phorum发行版 官方网站

wget https://www.phorum.org/downloads/phorum-5.2.23.tar.gz

解压缩下载的档案并将文件移动到文档根目录。

tar xvzf phorum-5.2.23.tar.gzrm phorum-5.2.23.tar.gzmv Core-phorum_5_2_23/* . && mv Core-phorum_5_2_23/.* .rmdir Core-phorum_5_2_23

配置数据库访问。

cp include/db/config.php.sample include/db/config.php

编辑和配置数据库设置 include/db/config.php 档案:

vim include/db/config.php

更改所有权 /var/www/craft 到目录 nginx:

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

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

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

要完成安装,请从以下网站运行基于Web的安装程序: http://forum.example.com/admin.php 使用网络浏览器。

Sidebar