Requisits
Abans que comencis
Instal·leu PHP
Instal·leu MariaDB
Instal·leu Nginx
Instal·leu el fòrum Vanilla
Vanilla és un senzill fòrum de discussió escrit en PHP. El codi font de Vanilla està allotjat públicament a Github . Aquesta guia us guiarà pel procés d'instal·lació de Vanilla en una nova instància del servidor FreeBSD 12 Vultr utilitzant PHP, MariaDB com a base de dades i Nginx com a servidor web.
Requisits
Pila de programari recomanada del Vanilla Forum:
- PHP versió 7.2 o superior amb les extensions següents:
mbstring
curl
gd
PDO
mysqli
openssl
- MySQL versió 5.7 o superior, o equivalent a MariaDB. Aquesta guia utilitzarà MariaDB
- Programari de servidor web com Nginx o Apache. Aquesta guia utilitzarà Nginx
- El xifratge SSL és opcional però recomanat
Abans que comencis
Comproveu la versió de FreeBSD.
uname -ro
# FreeBSD 12.0-RELEASE
Assegureu-vos que el vostre sistema FreeBSD estigui actualitzat.
freebsd-update fetch install
pkg update && pkg upgrade -y
Instal·leu alguns paquets bàsics d'administració del sistema si no estan presents al vostre sistema.
pkg install -y sudo vim unzip wget curl bash socat git unzip
Creeu un compte d'usuari nou amb el vostre nom d'usuari preferit (farem servir 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!
Executeu l' visudoordre i descomenteu la %wheel ALL=(ALL) ALLlínia per permetre que els membres del wheelgrup executin qualsevol ordre.
visudo
# Uncomment by removing hash (#) sign
# %wheel ALL=(ALL) ALL
Ara, canvieu al vostre usuari acabat de crear amb l' suordre.
su - johndoe
NOTA: Substituïu-lo johndoepel vostre nom d'usuari.
Configura la zona horària.
sudo tzsetup
Instal·leu PHP
Instal·leu extensions PHP i 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
Comproveu la versió.
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
Enllaç suau php.ini-productiona php.ini.
sudo ln -s /usr/local/etc/php.ini-production /usr/local/etc/php.ini
Comproveu les extensions PHP instal·lades.
php -m
# mbstring
# curl
# gd
# PDO
# mysqli
# openssl
# . . .
Activeu i inicieu PHP-FPM.
sudo sysrc php_fpm_enable=yes
sudo service php-fpm start
Instal·leu MariaDB
Instal·leu MariaDB.
sudo pkg install -y mariadb102-client mariadb102-server
Comproveu la versió.
mysql --version
# mysql Ver 15.1 Distrib 10.2.19-MariaDB, for FreeBSD12.0 (amd64) using readline 5.1
Inicieu i activeu MariaDB.
sudo sysrc mysql_enable="yes"
sudo service mysql-server start
Executeu l' mysql_secure_installationscript per millorar la seguretat de la vostra instal·lació.
sudo mysql_secure_installation
Inicieu sessió a MariaDB com a usuari root.
mysql -u root -p
# Enter password:
Crea una base de dades i un usuari nous. Recordeu les credencials d'aquest nou usuari.
CREATE DATABASE dbname;
GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
exit;
Instal·leu Nginx
Instal·leu Nginx.
sudo pkg install -y nginx
Comproveu la versió.
nginx -v
# nginx version: nginx/1.14.2
Activeu i inicieu Nginx.
sudo sysrc nginx_enable=yes
sudo service nginx start
Configureu Nginx per utilitzar-lo amb el fòrum Vanilla.
sudo vim /usr/local/etc/nginx/vanilla.conf
Omple el fitxer amb el següent.
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;
}
}
Deseu el fitxer i sortiu amb :+ W+ Q.
Ara hem d'incloure el vanilla.conffitxer al nginx.conffitxer principal .
Executeu sudo vim /usr/local/etc/nginx/nginx.confi afegiu la línia següent al http {}bloc.
include vanilla.conf;
Proveu la configuració.
sudo nginx -t
Torna a carregar Nginx.
sudo service nginx reload
Instal·leu el fòrum Vanilla
Creeu un directori arrel del document.
sudo mkdir -p /usr/local/www/vanilla
Canvia la propietat del /usr/local/www/vanilladirectori a johndoe.
sudo chown -R johndoe:johndoe /usr/local/www/vanilla
Navegueu al directori arrel del document.
cd /usr/local/www/vanilla
Descarrega l' últim fòrum de Vanilla .
wget https://open.vanillaforums.com/get/vanilla-core-2.6.4.zip
Descomprimiu-lo i suprimiu l'arxiu zip.
unzip vanilla-core-2.6.4.zip
rm vanilla-core-2.6.4.zip
Canvia la propietat del /usr/local/www/vanilladirectori a www.
sudo chown -R www:www /usr/local/www/vanilla
Reinicieu PHP-FPM.
sudo service php-fpm restart
Navegueu a la carpeta on heu penjat Vanilla al vostre navegador web i seguiu les instruccions de la pantalla per completar la configuració.