====== Installer flarum ====== [[https://flarum.org/|Flarum]] est un moteur de forums web. ===== Jail ===== Préparez une [[jails:zfs|jail]], nommée ''flarum''. C'est une application PHP, suivez la documentation [[ports:web:php|à ce sujet]]. ===== Installation ===== Installez votre environnement //php//: # pkg -j flarum install php81 databases/php81-pdo_mysql lang/php81-extensions misc/php81-calendar Puis la [[ports:db:mariadb|base de donnée]]: # pkg install -j flarum mariadb106-server mariadb106-client # sysrc -j flarum mysql_enable="yes" ===== Base de donnée ===== Entrez à l’intérieur de la jail: root@popeye:# jexec flarum Finissez l'installation de mariadb: root@flarum:# mysql_secure_installation Créez la base: root@flarum:# mysql -u root -p # Enter password: CREATE DATABASE flarum; CREATE USER 'patron'@'192.168.0.x' IDENTIFIED BY 'flarum_pass'; GRANT ALL PRIVILEGES ON flarum.* TO 'patron'@'192.168.0.x'; FLUSH PRIVILEGES; exit; Notez que vous devez associer votre utilisateur à l'adresse de la //jail//, ou de la //jail// qui fait tourner //mariadb//, le cas échéant. ===== Flarum ===== Installez le logiciel composer pour simplifier l'installation: root@flarum:# php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" root@flarum:# php -r "if (hash_file('sha384', 'composer-setup.php') === 'a5c698ffe4b8e849a443b120cd5ba38043260d5c4023dbf93e1558871f1f07f58274fc6f4c93bcfd858c6bd0775cd8d1') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" root@flarum:# php composer-setup.php root@flarum:# php -r "unlink('composer-setup.php');" root@flarum:# mv composer.phar /usr/local/bin/composer Puis le logiciel lui-même: root@flarum:# mkdir -p /usr/local/www/flarum root@flarum:# chown -R www:www /usr/local/www/flarum root@flarum:# cd /usr/local/www/flarum root@flarum:# composer create-project flarum/flarum . --stability=beta root@flarum:# chown -R www:www /usr/local/www/flarum ===== Nginx ===== Après avoir configuré votre nom de domaine et installé des clefs //https//, configurez le serveur web comme suit: server { listen [::]:443 ssl http2 ; listen 443 ssl http2 ; server_name flarum.lapinbilly.eu ; root /jails/flarum/usr/local/www/flarum/public; index index.php; ssl_certificate /usr/local/etc/letsencrypt/live/flarum.lapinbilly.eu/fullchain.pem; ssl_certificate_key /usr/local/etc/letsencrypt/live/flarum.lapinbilly.eu/privkey.pem; keepalive_requests 10; keepalive_timeout 60 60; client_max_body_size 15M; client_body_buffer_size 128k; location / { try_files $uri $uri/ /index.php?$query_string; } location ~ \.php$ { try_files $uri $uri/ /doku.php; fastcgi_pass unix:/jails/flarum/var/run/php-fpm.sock; fastcgi_param REDIRECT_STATUS 200; include fastcgi_params; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /usr/local/www/flarum/public/$fastcgi_script_name; fastcgi_param QUERY_STRING $query_string; fastcgi_param REQUEST_METHOD $request_method; fastcgi_param CONTENT_TYPE $content_type; fastcgi_param CONTENT_LENGTH $content_length; fastcgi_intercept_errors on; fastcgi_ignore_client_abort off; fastcgi_connect_timeout 60; fastcgi_send_timeout 180; fastcgi_read_timeout 180; fastcgi_buffer_size 128k; fastcgi_buffers 4 256k; fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k; } # Block access to .htaccess files location ~ /\.ht { deny all; } }