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 upgradeVé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-zipVérifier que pour Apache, Modrewrite est acitf (pour le fonctionnement du fichier .htaccess) :
sudo a2enmod rewrite
sudo systemctl restart apache2Vérifier que Let's Encrypt est bien installé pour pouvoir générer des certificat SSL gratuits :
sudo apt install certbot python3-certbot-apacheet 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-imagickaprès l'installation, éditer le fichier de configuration :
sudo nano /etc/ImageMagick-6/policy.xmlet remplacer
par
Redémarrer Apache pour la prise en compte :
sudo systemctl restart apache2Procé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 wgetPuis télécharger le binaire deb de Chrome :
sudo wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.debpuis l'installer :
sudo apt install ./google-chrome-stable_current_amd64.deb2° puis installer Chrome PHP à partir de composer (dans le répertoire de votre site)
composer require chrome-php/chromeParamé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.iniet modifier les paramètres suivants :
upload_max_filesize = 50M
post_max_size = 50MPuis pour la prise en compte faire :
sudo systemctl restart php8.1-fpm.serviceMySql
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.cnfet ajouter les 3 lignes suivantes :
[mysqld]
max_heap_table_size=128M
tmp_table_size=128Mpuis redemarrer MySql :
sudo service mysql restartCron
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.davec la commande :
crontab -einstaller 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