Vanillaเป็นฟอรัมการสนทนาทั่วไปที่เขียนด้วย PHP รหัสที่มาวานิลลาเป็นเจ้าภาพสาธารณะบนGithub คู่มือนี้จะนำคุณสู่กระบวนการติดตั้ง Vanilla บนอินสแตนซ์ของเซิร์ฟเวอร์ FreeBSD 12 Vultr ใหม่โดยใช้ PHP, MariaDB เป็นฐานข้อมูลและ Nginx เป็นเว็บเซิร์ฟเวอร์
ความต้องการ
ฟอรัมซอฟต์แวร์ที่แนะนำของ Vanilla Forum:
- PHP เวอร์ชัน 7.2 หรือสูงกว่าที่มีส่วนขยายต่อไปนี้:
mbstring
curl
gd
PDO
mysqli
openssl
- MySQL เวอร์ชัน 5.7 หรือสูงกว่าหรือเทียบเท่า MariaDB คู่มือนี้จะใช้ MariaDB
- ซอฟต์แวร์เว็บเซิร์ฟเวอร์เช่น Nginx หรือ Apache คำแนะนำนี้จะใช้ Nginx
- การเข้ารหัส SSL เป็นตัวเลือก แต่แนะนำ
ก่อนที่จะเริ่ม
ตรวจสอบเวอร์ชั่น FreeBSD
uname -ro
# FreeBSD 12.0-RELEASE
ตรวจสอบให้แน่ใจว่าระบบ FreeBSD ของคุณทันสมัย
freebsd-update fetch install
pkg update && pkg upgrade -y
ติดตั้งแพ็กเกจการดูแลระบบพื้นฐานบางตัวหากแพ็กเกจดังกล่าวไม่ปรากฏในระบบของคุณ
pkg install -y sudo vim unzip wget curl bash socat git unzip
สร้างบัญชีผู้ใช้ใหม่ด้วยชื่อผู้ใช้ที่คุณต้องการ (เราจะใช้johndoe
)
adduser
# Username: johndoe
# Full name: John Doe
# Uid (Leave empty for default): <Enter>
# Login group [johndoe]: <Enter>
# Login group is johndoe. Invite johndoe into other groups? []: wheel
# Login class [default]: <Enter>
# Shell (sh csh tcsh nologin) [sh]: bash
# Home directory [/home/johndoe]: <Enter>
# Home directory permissions (Leave empty for default): <Enter>
# Use password-based authentication? [yes]: <Enter>
# Use an empty password? (yes/no) [no]: <Enter>
# Use a random password? (yes/no) [no]: <Enter>
# Enter password: your_secure_password
# Enter password again: your_secure_password
# Lock out the account after creation? [no]: <Enter>
# OK? (yes/no): yes
# Add another user? (yes/no): no
# Goodbye!
รันvisudo
คำสั่งและยกเลิกหมายเหตุ%wheel ALL=(ALL) ALL
บรรทัดเพื่ออนุญาตให้สมาชิกของwheel
กลุ่มเรียกใช้งานคำสั่งใด ๆ
visudo
# Uncomment by removing hash (#) sign
# %wheel ALL=(ALL) ALL
ตอนนี้เปลี่ยนเป็นผู้ใช้ที่สร้างขึ้นใหม่ด้วยsu
คำสั่ง
su - johndoe
หมายเหตุ: แทนที่johndoe
ด้วยชื่อผู้ใช้ของคุณ
ตั้งค่าเขตเวลา
sudo tzsetup
ติดตั้ง PHP
ติดตั้งส่วนขยาย PHP และ PHP
sudo pkg install -y php72 php72-mbstring php72-curl php72-gd php72-pdo php72-mysqli php72-pdo_mysql php72-json php72-openssl php72-ctype php72-dom php72-hash php72-iconv php72-tokenizer php72-calendar php72-fileinfo php72-session php72-simplexml php72-xml php72-filter
ตรวจสอบเวอร์ชั่น
php --version
# PHP 7.2.14 (cli) (built: Jan 15 2019 01:14:39) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
ซอฟท์เชื่อมโยงไปยังphp.ini-production
php.ini
sudo ln -s /usr/local/etc/php.ini-production /usr/local/etc/php.ini
ตรวจสอบส่วนขยาย PHP ที่ติดตั้ง
php -m
# mbstring
# curl
# gd
# PDO
# mysqli
# openssl
# . . .
เปิดใช้งานและเริ่ม PHP-FPM
sudo sysrc php_fpm_enable=yes
sudo service php-fpm start
ติดตั้ง MariaDB
ติดตั้ง MariaDB
sudo pkg install -y mariadb102-client mariadb102-server
ตรวจสอบเวอร์ชั่น
mysql --version
# mysql Ver 15.1 Distrib 10.2.19-MariaDB, for FreeBSD12.0 (amd64) using readline 5.1
เริ่มและเปิดใช้งาน MariaDB
sudo sysrc mysql_enable="yes"
sudo service mysql-server start
รันmysql_secure_installation
สคริปต์เพื่อปรับปรุงความปลอดภัยของการติดตั้งของคุณ
sudo mysql_secure_installation
ล็อกอินเข้าสู่ MariaDB ในฐานะผู้ใช้รูท
mysql -u root -p
# Enter password:
สร้างฐานข้อมูลและผู้ใช้ใหม่ จำข้อมูลประจำตัวสำหรับผู้ใช้ใหม่นี้
CREATE DATABASE dbname;
GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
exit;
ติดตั้ง Nginx
ติดตั้ง Nginx
sudo pkg install -y nginx
ตรวจสอบเวอร์ชั่น
nginx -v
# nginx version: nginx/1.14.2
เปิดใช้งานและเริ่ม Nginx
sudo sysrc nginx_enable=yes
sudo service nginx start
กำหนดค่า Nginx สำหรับใช้กับฟอรัม Vanilla
sudo vim /usr/local/etc/nginx/vanilla.conf
เติมไฟล์ด้วยข้อมูลต่อไปนี้
server {
listen 80;
server_name example.com;
root /usr/local/www/vanilla;
index index.php;
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(/|$) {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
try_files $fastcgi_script_name =404;
set $path_info $fastcgi_path_info;
fastcgi_param PATH_INFO $path_info;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_NAME /index.php;
fastcgi_param SCRIPT_FILENAME $realpath_root/index.php;
fastcgi_param X_REWRITE 1;
fastcgi_pass 127.0.0.1:9000;
}
location ~* \.php(/|$) {
rewrite ^ /index.php$uri last;
}
location / {
try_files $uri $uri/ @vanilla;
}
location @vanilla {
rewrite ^ /index.php$uri last;
}
}
บันทึกไฟล์และออกด้วย:+ +WQ
ตอนนี้เราต้องรวมvanilla.conf
ไฟล์ไว้ในnginx.conf
ไฟล์หลัก
เรียกใช้sudo vim /usr/local/etc/nginx/nginx.conf
และเพิ่มบรรทัดต่อไปนี้ในhttp {}
บล็อก
include vanilla.conf;
ทดสอบการกำหนดค่า
sudo nginx -t
โหลดซ้ำ Nginx
sudo service nginx reload
ติดตั้งฟอรั่มวานิลลา
สร้างไดเรกทอรีรากของเอกสาร
sudo mkdir -p /usr/local/www/vanilla
เปลี่ยนความเป็นเจ้าของของไดเรกทอรีไป/usr/local/www/vanilla
johndoe
sudo chown -R johndoe:johndoe /usr/local/www/vanilla
นำทางไปยังไดเร็กทอรี root ของเอกสาร
cd /usr/local/www/vanilla
ดาวน์โหลดฟอรั่มล่าสุดของวานิลลา
wget https://open.vanillaforums.com/get/vanilla-core-2.6.4.zip
เปิดเครื่องรูดมันและลบไฟล์ zip
unzip vanilla-core-2.6.4.zip
rm vanilla-core-2.6.4.zip
เปลี่ยนความเป็นเจ้าของของไดเรกทอรีไป/usr/local/www/vanilla
www
sudo chown -R www:www /usr/local/www/vanilla
รีสตาร์ท PHP-FPM
sudo service php-fpm restart
นำทางไปยังโฟลเดอร์ที่คุณอัปโหลดวานิลลาในเว็บเบราว์เซอร์และทำตามคำแนะนำบนหน้าจอเพื่อทำการตั้งค่าให้เสร็จสิ้น