GNU/Linux >> Belajar Linux >  >> Fedora

Cara Menginstal Phorum dengan Nginx di Fedora 30

Phorum adalah perangkat lunak forum Open Source berbasis PHP dan MySQL. Dalam panduan ini, kami akan memandu Anda langkah demi langkah melalui proses penginstalan Phorum di sistem operasi Fedora 30 menggunakan Nginx sebagai server web, MariaDB sebagai database, serta acme.sh dan Let's Encrypt untuk HTTPS.

Persyaratan

Persyaratan untuk menjalankan Phorum adalah:

  • Nginx
  • PHP versi 5.2 atau lebih baru
  • MySQL versi 5.0 atau lebih baru

Prasyarat

  • Sistem operasi Fedora 30.
  • Pengguna non-root dengan sudo hak istimewa.

Langkah awal

Periksa versi sistem Fedora Anda:

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

Siapkan zona waktu:

timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'

Perbarui paket sistem operasi Anda (perangkat lunak). Ini adalah langkah pertama yang penting karena memastikan Anda memiliki pembaruan dan perbaikan keamanan terbaru untuk paket perangkat lunak default sistem operasi Anda:

sudo dnf upgrade -y

Instal beberapa paket penting yang diperlukan untuk administrasi dasar sistem operasi Fedora:

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

Langkah 1 - Instal PHP

Instal PHP, serta ekstensi PHP yang diperlukan:

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

Untuk menampilkan PHP yang dikompilasi dalam modul, Anda dapat menjalankan:

php -m

ctype
curl
exif
fileinfo
. . .
. . .

Periksa versi 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

Mulai dan aktifkan layanan PHP-FPM:

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

Langkah 2 - Instal MariaDB dan buat database

Instal server database MariaDB:

sudo dnf install -y mariadb-server

Periksa versi MariaDB:

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

Memulai dan mengaktifkan layanan MariaDB:

sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service

Jalankan mysql_secure installation skrip untuk meningkatkan keamanan MariaDB dan menyetel sandi untuk MariaDB root pengguna:

sudo mysql_secure_installation

Jawab setiap pertanyaan:

Would you like to setup VALIDATE PASSWORD plugin? N
New password: your_secure_password
Re-enter new password: your_secure_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

Hubungkan ke Shell MariaDB sebagai pengguna root:

sudo mysql -u root -p
# Enter password

Buat database MariaDB dan pengguna kosong untuk Phorum dan ingat kredensialnya:

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

Keluar dari MariaDB:

mysql> exit

Ganti dbnameusername dan password dengan nama Anda sendiri.

Langkah 3 - Instal acme.sh klien dan dapatkan sertifikat Let's Encrypt (opsional )

Mengamankan forum Anda dengan HTTPS tidak diperlukan, tetapi merupakan praktik yang baik untuk mengamankan lalu lintas situs Anda. Untuk mendapatkan sertifikat TLS dari Let's Encrypt, kami akan menggunakan klien acme.sh. Acme.sh adalah software shell UNIX murni untuk mendapatkan sertifikat TLS dari Let's Encrypt tanpa ketergantungan.

Unduh dan instal acme.sh:

sudo su - root
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh 
./acme.sh --install --accountemail [email protected]
source ~/.bashrc
cd ~

Periksa versi acme.sh :

acme.sh --version
# v2.8.0

Dapatkan RSA dan ECC/ECDSA sertifikat untuk domain/hostname Anda:

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

Jika Anda menginginkan sertifikat palsu untuk pengujian, Anda dapat menambahkan --staging tandai perintah di atas.

Setelah menjalankan perintah di atas, sertifikat your Anda dan kunci akan di:

  • Untuk RSA/home/username/example.com direktori.
  • Untuk ECC/ECDSA/home/username/example.com_ecc direktori.

Untuk membuat daftar sertifikat yang dikeluarkan, Anda dapat menjalankan:

acme.sh --list

Buat direktori untuk menyimpan sertifikat Anda. Kami akan menggunakan /etc/letsencrypt direktori.

mkdir -p /etc/letsecnrypt/example.com
sudo mkdir -p /etc/letsencrypt/example.com_ecc

Instal/salin sertifikat ke direktori /etc/letsencrypt.

# RSA
acme.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/ECDSA
acme.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"

Semua sertifikat akan diperpanjang secara otomatis setiap 60 hari.

Setelah mendapatkan sertifikat keluar dari pengguna root dan kembali ke pengguna sudo normal:

exit

Langkah 4 - Instal dan konfigurasikan NGINX

Instal NGINX:

sudo dnf install -y nginx

Periksa versi NGINX:

nginx -v
# nginx version: nginx/1.16.0

Mulai dan aktifkan layanan NGINX:

sudo systemctl start nginx.service
sudo systemctl enable nginx.service

Konfigurasikan NGINX untuk Phorum. Jalankan sudo vim /etc/nginx/conf.d/phorum.conf dan tambahkan konfigurasi berikut.

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; } }

Periksa konfigurasi NGINX untuk mengetahui kesalahan sintaks:

sudo nginx -t

Muat ulang layanan NGINX:

sudo systemctl reload nginx.service

Langkah 4 - Instal Phorum

Buat direktori root dokumen untuk Phorum:

sudo mkdir -p /var/www/phorum

Ubah kepemilikan /var/www/phorum direktori ke [jour_user]:

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

Arahkan ke direktori root dokumen:

cd /var/www/phorum

Download distribusi Phorum stabil terbaru dari situs resmi:

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

Buka paket arsip yang diunduh dan pindahkan file ke root dokumen:

tar xvzf phorum-5.2.23.tar.gz
rm phorum-5.2.23.tar.gz
mv Core-phorum_5_2_23/* . && mv Core-phorum_5_2_23/.* .
rmdir Core-phorum_5_2_23

Konfigurasikan akses database:

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

Konfigurasikan setelan database dengan mengedit include/db/config.php berkas:

vim include/db/config.php

Ubah kepemilikan /var/www/craft direktori ke nginx:

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

Jalankan sudo vim /etc/php-fpm.d/www.conf dan setel pengguna dan grup ke nginx . Awalnya, mereka akan disetel ke apache:

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

Untuk menyelesaikan penginstalan, jalankan penginstal berbasis web dengan mengunjungi http://forum.example.com/admin.php di browser web Anda.


Fedora
  1. Cara Menginstal Phorum dengan Nginx di Ubuntu 18.04 LTS

  2. Cara Menginstal Phorum dengan Nginx di CentOS 7

  3. Cara Menginstal PHP 8 di Fedora 35

  1. Cara Menginstal InvoicePlane dengan Nginx di CentOS 7

  2. Cara Menginstal Phorum dengan Nginx di Debian 9

  3. Cara menginstal PHP 7.4 Dengan Nginx di Ubuntu 20.04

  1. Cara Memasang Bolt CMS di Fedora 29

  2. Cara Memasang Anchor CMS di Fedora 29

  3. Cara Menginstal CMS Pagekit dengan Nginx di Fedora 29