Vanilla est un simple forum de discussion écrit en PHP. Le code source de Vanilla est publiquement hébergé sur Github . Ce guide vous guidera à travers le processus d'installation de Vanilla sur une nouvelle instance de serveur FreeBSD 12 Vultr utilisant PHP, MariaDB comme base de données et Nginx comme serveur Web.
Exigences
Pile logicielle recommandée par Vanilla Forum:
- PHP version 7.2 ou supérieure avec les extensions suivantes:
mbstring
curl
gd
PDO
mysqli
openssl
- MySQL version 5.7 ou supérieure, ou équivalent MariaDB. Ce guide utilisera MariaDB
- Logiciel de serveur Web tel que Nginx ou Apache. Ce guide utilisera Nginx
- Le cryptage SSL est facultatif mais recommandé
Avant que tu commences
Vérifiez la version de FreeBSD.
uname -ro
# FreeBSD 12.0-RELEASE
Assurez-vous que votre système FreeBSD est à jour.
freebsd-update fetch install
pkg update && pkg upgrade -y
Installez certains packages d'administration système de base s'ils ne sont pas présents sur votre système.
pkg install -y sudo vim unzip wget curl bash socat git unzip
Créez un nouveau compte utilisateur avec votre nom d'utilisateur préféré (nous utiliserons 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!
Exécutez la visudo
commande et décommentez la %wheel ALL=(ALL) ALL
ligne pour permettre aux membres du wheel
groupe d'exécuter n'importe quelle commande.
visudo
# Uncomment by removing hash (#) sign
# %wheel ALL=(ALL) ALL
Maintenant, passez à votre nouvel utilisateur créé avec la su
commande.
su - johndoe
REMARQUE: remplacez johndoe
par votre nom d'utilisateur.
Configurez le fuseau horaire.
sudo tzsetup
Installer PHP
Installez PHP et les extensions 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
Vérifiez la version.
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
Lien logiciel php.ini-production
vers php.ini
.
sudo ln -s /usr/local/etc/php.ini-production /usr/local/etc/php.ini
Vérifiez les extensions PHP installées.
php -m
# mbstring
# curl
# gd
# PDO
# mysqli
# openssl
# . . .
Activez et démarrez PHP-FPM.
sudo sysrc php_fpm_enable=yes
sudo service php-fpm start
Installer MariaDB
Installez MariaDB.
sudo pkg install -y mariadb102-client mariadb102-server
Vérifiez la version.
mysql --version
# mysql Ver 15.1 Distrib 10.2.19-MariaDB, for FreeBSD12.0 (amd64) using readline 5.1
Démarrez et activez MariaDB.
sudo sysrc mysql_enable="yes"
sudo service mysql-server start
Exécutez le mysql_secure_installation
script pour améliorer la sécurité de votre installation.
sudo mysql_secure_installation
Connectez-vous à MariaDB en tant qu'utilisateur root.
mysql -u root -p
# Enter password:
Créez une nouvelle base de données et un nouvel utilisateur. N'oubliez pas les informations d'identification de ce nouvel utilisateur.
CREATE DATABASE dbname;
GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
exit;
Installer Nginx
Installez Nginx.
sudo pkg install -y nginx
Vérifiez la version.
nginx -v
# nginx version: nginx/1.14.2
Activez et démarrez Nginx.
sudo sysrc nginx_enable=yes
sudo service nginx start
Configurez Nginx pour une utilisation avec le forum Vanilla.
sudo vim /usr/local/etc/nginx/vanilla.conf
Remplissez le fichier avec les éléments suivants.
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;
}
}
Enregistrez le fichier et quittez avec :+ W+ Q.
Maintenant, nous devons inclure le vanilla.conf
fichier dans le nginx.conf
fichier principal .
Exécutez sudo vim /usr/local/etc/nginx/nginx.conf
et ajoutez la ligne suivante au http {}
bloc.
include vanilla.conf;
Testez la configuration.
sudo nginx -t
Recharger Nginx.
sudo service nginx reload
Forum d'installation de Vanilla
Créez un répertoire racine de document.
sudo mkdir -p /usr/local/www/vanilla
Changez la propriété du /usr/local/www/vanilla
répertoire en johndoe
.
sudo chown -R johndoe:johndoe /usr/local/www/vanilla
Accédez au répertoire racine du document.
cd /usr/local/www/vanilla
Téléchargez le dernier forum Vanilla .
wget https://open.vanillaforums.com/get/vanilla-core-2.6.4.zip
Décompressez-le et supprimez l'archive zip.
unzip vanilla-core-2.6.4.zip
rm vanilla-core-2.6.4.zip
Changez la propriété du /usr/local/www/vanilla
répertoire en www
.
sudo chown -R www:www /usr/local/www/vanilla
Redémarrez PHP-FPM.
sudo service php-fpm restart
Accédez au dossier dans lequel vous avez téléchargé Vanilla dans votre navigateur Web et suivez les instructions à l'écran pour terminer la configuration.