Documentation ComusThumbz
Connexion Admin

Configurations communes des serveurs

Aperçu général

Ce guide couvre la configuration du serveur étape par étape pour les environnements d'hébergement les plus courants utilisés avec ComusThumbz. Chaque section fournit des instructions de configuration complètes incluant la configuration PHP, la configuration du serveur web et les exigences spécifiques de ComusThumbz.

Configuration requise :
Avant de procéder, assurez-vous que votre serveur répond aux exigences minimales énoncées dans le Guide des exigences.

Environnements soutenus

EnvironnementComplexitéMeilleur pourConnexion PHP
HestiaCPFacileVPS, serveurs dédiésAccès complet
cPanel/WHMFacileHébergement VPS partagéLimité à MultiPHP
PleskFacileVPS, serveurs dédiésAccès complet
Ubuntu + ApacheMoyenneVPS, serveurs cloudAccès complet
Ubuntu + NginxMoyenneVPS, serveurs cloudAccès complet
CentOS/AlmaLinuxMoyenneEntreprise dédiéeAccès complet
CoqAvancéDéveloppement évolutifContrôle complet
Voies nuageusesFacileCloud géréAccès aux panneaux

HestiaCP Configuration

HestiaCP est un panneau de contrôle libre populaire pour les serveurs VPS. Ce guide de configuration couvre une installation complète de ComusThumbz.

Préalables

  • Ubuntu 20.04/22.04 ou Debian 10/11
  • HestiaCP installé
  • Domaine orienté vers le serveur
  • Accès SSH

Étape 1: Créer un domaine Web

  1. Connectez-vous à HestiaCP à https://your-server-ip:8083
  2. Allez à WEB onglet
  3. Cliquez sur Ajouter un domaine Web
  4. Saisissez votre nom de domaine
  5. Activer Support SSL et vérifier Encryptons
  6. Cliquez sur Enregistrer

[Screenshot: hestiacp-add-domaine]

Étape 2: Configurer PHP

  1. Allez à WEB onglet
  2. Cliquez sur l'icône clé à côté de votre domaine
  3. Sélectionner PHP 8.3 à partir du menu déroulant de la version PHP
  4. Cliquez sur Enregistrer

Étape 3: Activer les fonctions PHP requises

Avertissement :
HestiaCP désactive par défaut de nombreuses fonctions PHP. Vous devez les permettre à ComusThumbz de travailler.

Option A: Via HestiaCP Groupe

  1. Allez à SERVICE > Configuration > PHP-FPM
  2. Trouvez votre version PHP (par exemple PHP 8.3)
  3. Localiser disablefunctions dans la configuration
  4. Supprimer ces fonctions de la liste désactivée :

exec

  • shellexec
  • passthru
  • procopen
  • popen
  1. Cliquez sur Enregistrer
  2. Redémarrer PHP : Dans SSH, lancer systemctl restart php8.3-fpm

Option B: Via SSH (Recommandé)

# Edit PHP configuration
sudo nano /etc/php/8.3/fpm/php.ini

Rechercher désactiverligne de fonctions (ligne 314)

Variation depuis:

disablefunctions = exec,passthru,shellexec,system,procopen,popen,...

Changer vers (supprimer exec, passthru, shellexec, procouvert, popen):

disablefunctions = system,...

Enregistrer et redémarrer PHP-FPM

sudo systemctl restart php8.3-fpm

Étape 4: Régler les paramètres PHP

# Edit PHP configuration
sudo nano /etc/php/8.3/fpm/php.ini

Mettre à jour ces paramètres :

memorylimit = 512M
maxexecutiontime = 600
uploadmaxfilesize = 500M
postmaxsize = 500M
maxinputvars = 10000

Enregistrer et redémarrer

sudo systemctl restart php8.3-fpm

Étape 5: Installer FFmpeg

sudo apt update
sudo apt install ffmpeg

Vérifier l'installation

ffmpeg -version
which ffmpeg  # Should return /usr/bin/ffmpeg

Étape 6: Installer ImageMagick (facultatif)

sudo apt install imagemagick php8.3-imagick
sudo systemctl restart php8.3-fpm

Étape 7: Télécharger les fichiers ComusThumbz

Via Gestionnaire de fichiers & #160;:

Dans HestiaCP, allez à FICHIERS

  1. Naviguez vers /home/username/web/yourdomain.com/publichtml/
  2. Télécharger et extraire les fichiers ComusThumbz

Par SFTP :

# Connect with SFTP client (FileZilla, WinSCP)

Hôte : votre serveur-ip
Nom d'utilisateur : votre utilisateur HestiaCP
Mot de passe : votre mot de passe HestiaCP
Upload to: /home/username/web/yourdomain.com/public_html/

Étape 8: Définir les autorisations

# SSH into your server
cd /home/username/web/yourdomain.com/publichtml

Propriété définie

chown -R username:username ct/

Définir les permissions de base

find ct/ -type d -exec chmod 755 {} \;
find ct/ -type f -exec chmod 644 {} \;

Rendre les répertoires de téléchargement/log enregistrables

chmod -R 775 ct/logs ct/uploads ct/cache
chmod 777 ct/uploads/temp ct/uploads/temp/useruploads

Étape 9: Mettre en place Cron Job

  1. SSH dans votre serveur
  2. Exécuter : crontab -e
  3. Ajouter cette ligne :
/usr/bin/php /home/username/web/yourdomain.com/publichtml/ct/admin/cron/sitecron.php >> /home/username/web/yourdomain.com/publichtml/ct/logs/cron/sitecron.log 2>&1
OR
php /home/username/web/yourdomain.com/publichtml/ct/admin/cron/sitecron.php >> /home/username/web/yourdomain.com/publichtml/ct/logs/cron/sitecron.log 2>&1

Étape 10: Exécuter l'installateur

  1. Naviguez vers https://yourdomain.com/install/
  2. Suivez l'assistant d'installation
  3. Supprimer /install/ dossier après achèvement
Succès :
Votre serveur HestiaCP est maintenant configuré pour ComusThumbz !

cConfiguration du panneau/WHM

cPanel est le panneau de contrôle d'hébergement partagé le plus commun. Ce guide couvre la configuration pour l'hébergement partagé et VPS avec cPanel.

Préalables

  • compte d'hébergement cPanel
  • PHP 8.0+ disponible
  • Accès SSH (facultatif mais recommandé)

Étape 1: Sélectionnez la version PHP

  1. Connectez-vous à cPanel
  2. Allez à Logiciel > Gestionnaire MultiPHP
  3. Sélectionnez votre domaine
  4. Choisir PHP 8.3 (ou le plus haut disponible 8.x)
  5. Cliquez sur Appliquer

[Screenshot: cpanel-php-version]

Étape 2: Configurer les paramètres PHP

  1. Allez à Logiciel > Éditeur INI MultiPHP
  2. Sélectionner Mode éditeur
  3. Choisissez votre domaine
  4. Mettre à jour ces paramètres :
  • memorylimit = 512M
  • maxexecutiontime = 600
  • uploadmaxfilesize = 500M
  • postmaxsize = 500M
  • maxinputvars = 10000
  1. Cliquez sur Enregistrer

Étape 3: Activer les fonctions PHP

Avertissement :
Sur l'hébergement partagé, vous n'avez peut-être pas accès pour activer les fonctions désactivées. Contactez votre hôte si ces fonctions sont désactivées.

Si vous avez accès à WHM:

  1. Connectez-vous à WHM
  2. Allez à Configuration du service > Éditeur de configuration PHP
  3. Rechercher disablefunctions
  4. Supprimer : exec, shellexec, passthru, procopen, popen
  5. Enregistrer et reconstruire PHP

Sur l'hébergement partagé:
Contactez votre fournisseur d'hébergement pour activer ces fonctions pour votre compte.

Étape 4: Télécharger des fichiers

Allez à Fichiers > Gestionnaire de fichiers

  1. Naviguez vers publichtml/
  2. Cliquez sur Envoi
  3. Télécharger et extraire les fichiers ComusThumbz

Ou utilisez FTP:

  • Hôte: votredomaine.com ou ftp.votredomaine.com
  • Nom d'utilisateur : votre nom d'utilisateur cPanel
  • Mot de passe : votre mot de passe cPanel

Étape 5: Configuration de la base de données

  1. Allez à Bases de données > Bases de données MySQL
  2. Créer une nouvelle base de données (par exemple, usernamecomus)
  3. Créer un nouvel utilisateur avec un mot de passe fort
  4. Ajouter un utilisateur à la base de données avec TOUS LES PRIVILÈGES

Étape 6: Mettre en place Cron Job

Allez à Avancé > Cron Emplois

  1. Régler le calendrier & #160;: (toutes les minutes)
  2. Commande :
/usr/bin/php /home/username/web/yourdomain.com/publichtml/ct/admin/cron/sitecron.php >> /home/username/web/yourdomain.com/publichtml/ct/logs/cron/sitecron.log 2>&1
OR
php /home/username/web/yourdomain.com/publichtml/ct/admin/cron/sitecron.php >> /home/username/web/yourdomain.com/publichtml/ct/logs/cron/sitecron.log 2>&1
  1. Cliquez sur Ajouter un nouveau Cron Job

Étape 7: Exécuter l'installateur

Naviguez vers https://yourdomain.com/install/ et compléter l'installation.


Configuration de Plesk

Plesk est un panneau de contrôle populaire pour les serveurs VPS et dédiés.

Étape 1: Ajouter un domaine

  1. Connectez-vous à Plesk
  2. Allez à Sites Web et domaines
  3. Cliquez sur Ajouter un domaine
  4. Saisissez votre domaine et configurez les paramètres
  5. Activer Assistance SSL/TLS

Étape 2: Configurer PHP

  1. Allez à Sites Web et domaines > Votre domaine > Paramètres PHP
  2. Jeu Version PHP à 8.3
  3. Configuration & #160;:
  • memorylimit = 512M
  • maxexecutiontime = 600
  • uploadmaxfilesize = 500M
  • postmaxsize = 500M
  1. Cliquez sur Très bien.

Étape 3: Activer les fonctions PHP

  1. Allez à Paramètres PHP pour votre domaine
  2. Rechercher Directives complémentaires rubrique
  3. Ajouter :
disablefunctions =

(La valeur vide supprime toutes les fonctions désactivées)

  1. Ou activer sélectivement en supprimant des fonctions spécifiques de la liste désactivée

Étape 4: Installer FFmpeg

Par SSH :

# Ubuntu/Debian
sudo apt install ffmpeg

CentOS

sudo yum install ffmpeg

Étape 5 : Mettre en place un travail de tron

  1. Allez à Sites Web et domaines > Votre domaine > Tâches programmées
  2. Cliquez sur Ajouter une tâche
  3. Horaire : Chaque minute ( )
  4. Commande :

/usr/bin/php /home/username/web/yourdomain.com/publichtml/ct/admin/cron/sitecron.php >> /home/username/web/yourdomain.com/publichtml/ct/logs/cron/sitecron.log 2>&1
OR
php /home/username/web/yourdomain.com/publichtml/ct/admin/cron/sitecron.php >> /home/username/web/yourdomain.com/publichtml/ct/logs/cron/sitecron.log 2>&1

Étape 6: Télécharger et installer

  1. Télécharger des fichiers via FTP ou File Manager
  2. Définir les permissions
  3. Exécuter l'installateur à https://yourdomain.com/install/

Ubuntu + Apache (configuration manuelle)

Pour VPS ou serveurs dédiés sans panneau de contrôle.

Étape 1: Mise à jour du système

sudo apt update
sudo apt upgrade -y

Étape 2: Installer Apache

sudo apt install apache2 -y
sudo systemctl enable apache2
sudo systemctl start apache2

Étape 3: Installer PHP 8.3

# Add PHP repository
sudo add-apt-repository ppa:ondrej/php -y
sudo apt update

Install PHP and extensions

sudo apt install php8.3 php8.3-fpm php8.3-mysql php8.3-gd php8.3-curl \
    php8.3-mbstring php8.3-xml php8.3-zip php8.3-imagick php8.3-intl -y

Enable PHP-FPM with Apache

sudo a2enmod proxyfcgi setenvif
sudo a2enconf php8.3-fpm
sudo systemctl restart apache2

Step 4: Install MySQL/MariaDB

sudo apt install mariadb-server -y
sudo mysqlsecureinstallation

Create database and user

sudo mysql -u root -p

CREATE DATABASE comusthumbz CHARACTER SET utf8mb4 COLLATE utf8mb4unicodeci;
CREATE USER 'comususer'@'localhost' IDENTIFIED BY 'YourSecurePassword123!';
GRANT ALL PRIVILEGES ON comusthumbz. TO 'comususer'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Step 5: Install FFmpeg

sudo apt install ffmpeg -y
which ffmpeg  # Should return /usr/bin/ffmpeg

Step 6: Configure PHP

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

Update these settings:

memorylimit = 512M
maxexecutiontime = 600
uploadmaxfilesize = 500M
postmaxsize = 500M
maxinputvars = 10000
date.timezone = America/NewYork
; Ensure exec and related functions are NOT in disablefunctions
sudo systemctl restart php8.3-fpm

Step 7: Configure Apache Virtual Host

sudo nano /etc/apache2/sites-available/yourdomain.com.conf
<VirtualHost :80>
    ServerName yourdomain.com
    ServerAlias www.yourdomain.com
    DocumentRoot /var/www/yourdomain.com
<Directory /var/www/yourdomain.com>
AllowOverride All
Require all granted
</Directory>
<FilesMatch \.php$>
SetHandler "proxy:unix:/var/run/php/php8.3-fpm.sock|fcgi://localhost"
</FilesMatch>
ErrorLog ${APACHELOGDIR}/yourdomain.com-error.log
CustomLog ${APACHELOGDIR}/yourdomain.com-access.log combined
</VirtualHost>
# Enable site and required modules
sudo a2ensite yourdomain.com.conf
sudo a2enmod rewrite headers expires deflate
sudo systemctl restart apache2

Step 8: Install SSL (Let's Encrypt)

sudo apt install certbot python3-certbot-apache -y
sudo certbot --apache -d yourdomain.com -d www.yourdomain.com

Step 9: Upload ComusThumbz

# Create document root
sudo mkdir -p /var/www/yourdomain.com

Upload files (via SCP, SFTP, or wget)

cd /var/www/yourdomain.com

... upload files ...

Set ownership

sudo chown -R www-data:www-data /var/www/yourdomain.com

Set permissions

sudo find /var/www/yourdomain.com -type d -exec chmod 755 {} \;
sudo find /var/www/yourdomain.com -type f -exec chmod 644 {} \;
sudo chmod -R 775 /var/www/yourdomain.com/ct/logs /var/www/yourdomain.com/ct/uploads

Step 10: Set Up Cron Job

sudo crontab -e

Add:

/usr/bin/php /home/username/web/yourdomain.com/publichtml/ct/admin/cron/sitecron.php >> /home/username/web/yourdomain.com/publichtml/ct/logs/cron/sitecron.log 2>&1
OR
php /home/username/web/yourdomain.com/publichtml/ct/admin/cron/sitecron.php >> /home/username/web/yourdomain.com/publichtml/ct/logs/cron/sitecron.log 2>&1

Ubuntu + Nginx Setup

Nginx is recommended for high-traffic sites due to its efficient handling of static files and concurrent connections.

Step 1: Install Nginx and PHP

sudo apt update
sudo apt install nginx -y

Install PHP-FPM

sudo add-apt-repository ppa:ondrej/php -y
sudo apt update
sudo apt install php8.3-fpm php8.3-mysql php8.3-gd php8.3-curl \
    php8.3-mbstring php8.3-xml php8.3-zip php8.3-imagick -y

Step 2: Configure Nginx

sudo nano /etc/nginx/sites-available/yourdomain.com
server {
    listen 80;
    listen [::]:80;
    servername yourdomain.com www.yourdomain.com;
    root /var/www/yourdomain.com;
    index index.php index.html;
	
# Security headers
addheader X-Frame-Options "SAMEORIGIN" always;
addheader X-Content-Type-Options "nosniff" always;
addheader X-XSS-Protection "1; mode=block" always;

# Main location block
location / {
tryfiles $uri $uri/ /index.php?$querystring;
}

# REST API rewrite
location /ct/api/v1 {
tryfiles $uri $uri/ /ct/api/v1/index.php?$querystring;
}

# PHP processing
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgipass unix:/var/run/php/php8.3-fpm.sock;
fastcgiparam SCRIPTFILENAME $documentroot$fastcgiscriptname;
include fastcgiparams;
}

# Deny access to sensitive directories
location ~ ^/ct/(dat|logs)/ {
deny all;
return 404;
}

# Cache static files
location ~ \.(jpg|jpeg|png|gif|webp|ico|css|js|mp4|webm|m3u8|ts)$ {
expires 30d;
addheader Cache-Control "public, immutable";
}

# Deny access to hidden files
location ~ /\. {
deny all;
}
}

 

# Enable site
sudo ln -s /etc/nginx/sites-available/yourdomain.com /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx

Step 3: Configure PHP-FPM

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

Update settings as shown in the Apache section, then:

sudo systemctl restart php8.3-fpm

Step 4: Install SSL

sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com

Step 5: Continue with Steps 4-10 from Apache Guide

(Database setup, FFmpeg, upload files, permissions, cron)


CentOS / AlmaLinux Setup

Step 1: Install EPEL and Required Repositories

# CentOS/RHEL 8+
sudo dnf install epel-release -y
sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm -y

Enable Remi PHP 8.3

sudo dnf module reset php -y
sudo dnf module enable php:remi-8.3 -y

Step 2: Install Apache, PHP, and Extensions

sudo dnf install httpd php php-fpm php-mysqlnd php-gd php-curl \
    php-mbstring php-xml php-zip php-imagick -y
sudo systemctl enable httpd php-fpm

sudo systemctl start httpd php-fpm

Step 3: Install MariaDB

sudo dnf install mariadb-server -y
sudo systemctl enable mariadb
sudo systemctl start mariadb
sudo mysqlsecureinstallation

Step 4: Install FFmpeg

# Enable RPM Fusion
sudo dnf install https://download1.rpmfusion.org/free/el/rpmfusion-free-release-$(rpm -E %rhel).noarch.rpm -y
sudo dnf install ffmpeg -y

Step 5: Configure PHP

sudo nano /etc/php.ini

Update settings as described in previous sections.

sudo systemctl restart php-fpm

Step 6: Configure SELinux (if enabled)

# Allow Apache to connect to network (for API calls)
sudo setsebool -P httpdcannetworkconnect 1

Allow Apache to write to upload directories

sudo chcon -R -t httpdsysrwcontentt /var/www/yourdomain.com/ct/uploads
sudo chcon -R -t httpdsysrwcontentt /var/www/yourdomain.com/ct/logs

Step 7: Configure Firewall

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload

 

Troubleshooting Common Setup Issues

"exec() has been disabled" Error

Error:
Symptoms: Video processing fails, FFmpeg errors.

 

Solution: Enable exec() in PHP configuration. See platform-specific instructions above.

"Permission denied" Errors

Error:
Symptoms: Cannot upload files, cannot save settings.

Solution:

chown -R www-data:www-data /path/to/ct/

chmod -R 775 /path/to/ct/logs /path/to/ct/uploads

Cron Job Not Running

Error:
Symptoms: Videos stay in "pending" status.

Verify cron:

# Check cron is running

systemctl status cron

Check cron log

grep CRON /var/log/syslog

Test manually

php /path/to/ct/admin/cron/sitecron.php

500 Internal Server Error

Error:
Symptoms: Blank page or 500 error.

Solutions:

  1. Check PHP error log: tail -f /path/to/ct/logs/php-error.log
  2. Check Apache/Nginx error log
  3. Verify .htaccess is valid
  4. Check file permissions

API Returns 404

Error:
Symptoms: REST API endpoints return 404.

 

Apache: Ensure modrewrite is enabled and AllowOverride All is set.

Nginx: Ensure the API rewrite rule is in your server block:

location /ct/api/v1 {

    tryfiles $uri $uri/ /ct/api/v1/index.php?$querystring;

}


Changelog

Date Version Changes
2026-01-02 1.0.0 Initial server setups guide