Installation de BlogThèque sur votre serveur

Avertissement

En l'état actuel, l'installation de BlogThèque nécessite des compétances en webmastering.

Préconisations

Je préconise un serveur avec :

  • Apache
  • PHP 8.xx
  • MySql 8.xx
  • 50 Go d'espace disque
  • 8 Go de RAM
  • 2 coeurs minimum

A noter que cette configuration sera suffisante pour héberger une cinquantaine de sites à faible ou moyen traffic.

Vérifications

Faites une mise à jour de votre système.

sudo apt-get update
sudo apt-get upgrade

Vérifier que les modules PHP suivants sont bien installés :

sudo apt install php-curl php-gd php-intl php-json php-mbstring php-xml php-zip

Vérifier que pour Apache, Modrewrite est acitf (pour le fonctionnement du fichier .htaccess) :

sudo a2enmod rewrite
sudo systemctl restart apache2

Vérifier que Let's Encrypt est bien installé pour pouvoir générer des certificat SSL gratuits :

sudo apt install certbot python3-certbot-apache

et que le port 443 est bien ouvert sur le firewall :

sudo ufw allow 'Apache Full'

Prévoir un serveur stmp avec le login et mot de passe pour pouvoir envoyer des messages à partir de votre site.

Traitement des fichiers PDF

Afin de transformer les pages des fichiers PDF en images pour la visionneuse, il est nécessaire d'installer imagick.

sudo apt install php-imagick

après l'installation, éditer le fichier de configuration :

sudo nano /etc/ImageMagick-6/policy.xml

et remplacer 

par

Redémarrer Apache pour la prise en compte :

sudo systemctl restart apache2

Procéder à l'installation des scripts

Bientôt disponible !


Composer

Composer est un logiciel gestionnaire de dépendances libre qui permet de déclarer et d'installer les bibliothèques dont le projet principal a besoin. 

Dans le répertoire de votre site web, procéder à l'installation de composer :

sudo php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer
sudo php -r "unlink('composer-setup.php');"

Création des vignettes de sites web

La fonction annuaire de BlogTheque permet d'effectuer des captures écran de sites web.

1° Installer wget si cela n'a pas déjà été fait.

sudo apt install wget

Puis télécharger le binaire deb de Chrome  :

sudo wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb

puis l'installer :

sudo apt install ./google-chrome-stable_current_amd64.deb

2° puis installer Chrome PHP à partir de composer (dans le répertoire de votre site)

composer require chrome-php/chrome

Paramétrage de PHP

Vous devez modifier la limite de taille des fichiers en upload.

Pour cela, modifier le fichier php.ini situé dans : 

sudo nano /etc/php/8.1/fpm/php.ini

et modifier les paramètres suivants :

upload_max_filesize = 50M
post_max_size = 50M

Puis pour la prise en compte faire :

sudo systemctl restart php8.1-fpm.service

MySql

Le module de statistiques, pour des raisons de performance, nécessite de modifier certains paramètres de MySql afin de charger en mémoire une table de la base de données.

nano /etc/mysql/conf.d/mysql.cnf

et ajouter les 3 lignes suivantes :

[mysqld]
max_heap_table_size=128M
tmp_table_size=128M

puis redemarrer MySql :

sudo service mysql restart

Cron

Un certain nombre de taches sont exécutées régulièrement à des fins de statistiques et de maintenance.

Dans le répoertoire :

cd /etc/cron.d

avec la commande :

crontab -e

installer les taches suivantes (utilisateur www-data) :

0,5,10,15,20,25,30,35,40,45,50,55 * * * * curl https://monsite.com/bt-cron/pays.php
0 6 * * * curl https://monsite.com/bt-cron/crontab.php
45 4 * * * curl https://monsite.com/bt-cron/sitemap.php
45 1 * * * curl https://monsite.com/bt-cron/purge.php
45 2 * * * curl https://monsite.com/bt-cron/stats_date_id.php
0 3 * * * mysqldump --user=TOTO --password=XXXXXXXX --all-databases > /var/www/mysql_sav/all_`date "+%Y-%m-%d"`.sql
* 4 * * * bash /var/www/rsynk.sh
0,30 6-23 * * * curl https://monsite.com/bt-cron/blog_flux.php
5 * * * * curl https://monsite.com/bt-cron/blog_meteo.php
35  * * * *  curl https://anshare.net/bt-cron/bt_maj.php