ComusThumbz Documentation
Admin Login

Impostazioni server comuni

Panoramica

Questa guida copre la configurazione del server passo per passo per gli ambienti di hosting più comuni utilizzati con ComusThumbz. Ogni sezione fornisce istruzioni complete di configurazione, tra cui configurazione PHP, configurazione server web e requisiti specifici di ComusThumbz.

Configurazione richiesta:
Prima di procedere, assicurarsi che il server soddisfi i requisiti minimi indicati nel Guida ai requisiti.

Ambiente supportato

AmbienteComplessitàMigliore perAccesso alla configurazione PHP
HestiaCPFacileVPS, server dedicatiAccesso completo
cPanel/WHMFacileCondivisione, hosting VPSLimitato a MultiPHP
PleskFacileVPS, server dedicatiAccesso completo
Ubuntu + ApacheMediaVPS, server cloudAccesso completo
Ubuntu + NginxMediaVPS, server cloudAccesso completo
CentOS/AlmaLinuxMediaEnterprise, dedicataAccesso completo
DockerAvanzatoSviluppo, scalabileControllo completo
CloudwaysFacilecloud gestitoAccesso al pannello

HestiaCP Setup

HestiaCP è un popolare pannello di controllo libero per i server VPS. Questa guida di configurazione copre un'installazione completa di ComusThumbz.

Prerequisiti

  • Ubuntu 20.04/22.04 o Debian 10/11
  • HestiaCP installato
  • Dominio indicato al server
  • Accesso SSH

Passo 1: Creare un dominio Web

  1. Accedi a HestiaCP a https://your-server-ip:8083
  2. Vai a Sito web scheda
  3. Fare clic Aggiungi dominio Web
  4. Inserisci il tuo nome di dominio
  5. Abilitare Supporto SSL e controllare Crittografia
  6. Fare clic Salva

[Screenshot: hestiacp-add-domain]

Passo 2: Configurare PHP

  1. Vai a Sito web scheda
  2. Fare clic sull'icona chiave accanto al tuo dominio
  3. Seleziona PHP 8.3 dalla versione PHP
  4. Fare clic Salva

Passo 3: Abilitare le funzioni PHP richieste

Attenzione:
HestiaCP disabilita molte funzioni PHP per impostazione predefinita. Devi consentire loro di lavorare per ComusThumbz.

Opzione A: Via HestiaCP Pannello

  1. Vai a SERVIZI > Configurazione > PHP-FPM
  2. Trova la tua versione PHP (ad esempio, PHP 8.3)
  3. Ricerca disablefunctions nella configurazione
  4. Rimuovere queste funzioni dall'elenco dei disabili:

exec

  • shellexec
  • passthru
  • procopen
  • popen
  1. Fare clic Salva
  2. Riavviare PHP: In SSH, eseguire systemctl restart php8.3-fpm

Opzione B: Via SSH (Consigliato)

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

Trova disabilitarelinea funzioni (linea rotonda 314)

Cambiamento da:

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

Modifica A (rimuovi exec, passthru, shellexec, procaperto, popen):

disablefunctions = system,...

Salva e riavvia PHP-FPM

sudo systemctl restart php8.3-fpm

Passo 4: Regolare le impostazioni PHP

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

Aggiornare queste impostazioni:

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

Salva e riavvia

sudo systemctl restart php8.3-fpm

Passo 5: Installare FFmpeg

sudo apt update
sudo apt install ffmpeg

Verificare l'installazione

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

Passo 6: Installare ImageMagick (opzionale)

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

Passo 7: Caricare i file ComusThumbz

Via File Manager:

In HestiaCP, vai a FILI

  1. Navigare per /home/username/web/yourdomain.com/publichtml/
  2. Caricare ed estrarre i file ComusThumbz

Via SFTP:

# Connect with SFTP client (FileZilla, WinSCP)

Host: il tuo-server-ip
Nome utente: il tuo utente HestiaCP
Password: la tua password di HestiaCP
Upload to: /home/username/web/yourdomain.com/public_html/

Passo 8: Impostare le autorizzazioni

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

Impostazione della proprietà

chown -R username:username ct/

Impostare le autorizzazioni di base

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

Fai clic su upload/log directory

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

Passo 9: Impostare Cron lavoro

  1. SSH nel tuo server
  2. Correre: crontab -e
  3. Aggiungi questa linea:
/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

Passo 10: Eseguire Installer

  1. Navigare per https://yourdomain.com/install/
  2. Segui la procedura guidata di installazione
  3. Eliminare /install/ cartella dopo il completamento
Successo:
Il server HestiaCP è ora configurato per ComusThumbz!

Setup cPanel/WHM

cPanel è il pannello di controllo di hosting condiviso più comune. Questa guida copre la configurazione sia per l'hosting condiviso che VPS con cPanel.

Prerequisiti

  • cPanel hosting account
  • PHP 8.0+ disponibile
  • Accesso SSH (opzionale ma consigliato)

Passo 1: Selezionare la versione PHP

  1. Accedi a cPanel
  2. Vai a Software software > MultiPHP Manager
  3. Seleziona il tuo dominio
  4. Scegli PHP 8.3 (o più alto disponibile 8.x)
  5. Fare clic Applicare

[Screenshot: cpanel-php-version]

Passo 2: Configurare le impostazioni PHP

  1. Vai a Software software > MultiPHP INI Editor
  2. Seleziona Modalità Editor
  3. Scegli il tuo dominio
  4. Aggiornare queste impostazioni:
  • memorylimit = 512M
  • maxexecutiontime = 600
  • uploadmaxfilesize = 500M
  • postmaxsize = 500M
  • maxinputvars = 10000
  1. Fare clic Salva

Passo 3: Attiva funzioni PHP

Attenzione:
Su hosting condiviso, non è possibile avere accesso per abilitare le funzioni disabilitate. Contatta il tuo host se queste funzioni sono disabilitate.

Se hai accesso a WHM:

  1. Accedi a WHM
  2. Vai a Configurazione dei servizi > Editor di configurazione PHP
  3. Trova disablefunctions
  4. Rimuovi: exec, shellexec, passthru, procopen, popen
  5. Salvare e ricostruire PHP

In hosting condiviso:
Contatta il provider di hosting per abilitare queste funzioni per il tuo account.

Passo 4: Carica file

Vai a File > Gestione file

  1. Navigare per publichtml/
  2. Fare clic Caricamento
  3. Caricare ed estrarre i file ComusThumbz

O usare FTP:

  • Host: yourdomain.com o ftp.yourdomain.com
  • Nome utente: il tuo nome utente cPanel
  • Password: la password di cPanel

Passo 5: Impostare il database

  1. Vai a Databases > Database MySQL
  2. Creare un nuovo database (ad esempio, usernamecomus)
  3. Creare un nuovo utente con una password forte
  4. Aggiungi utente al database con Tutti i prezzi

Passo 6: Impostare Cron lavoro

Vai a Avanzato > Lavoro Cron

  1. Impostare la pianificazione: (ogni minuto)
  2. Comando:
/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. Fare clic Aggiungi nuovo lavoro Cron

Passo 7: Eseguire Installer

Navigare per https://yourdomain.com/install/ e completare l'installazione.


Impostazione del plesk

Plesk è un popolare pannello di controllo per VPS e server dedicati.

Passo 1: Aggiungere il dominio

  1. Accedi a Plesk
  2. Vai a Siti web e domini
  3. Fare clic Aggiungi dominio
  4. Inserisci il tuo dominio e configura le impostazioni
  5. Abilitare Supporto SSL/TLS

Passo 2: Configurare PHP

  1. Vai a Siti web e domini > Il tuo dominio Impostazioni PHP
  2. Set Versione PHP a 8.3
  3. Configurazione:
  • memorylimit = 512M
  • maxexecutiontime = 600
  • uploadmaxfilesize = 500M
  • postmaxsize = 500M
  1. Fare clic Ok.

Passo 3: Attiva funzioni PHP

  1. Vai a Impostazioni PHP per il tuo dominio
  2. Trova Direttive complementari sezione
  3. Aggiungi:
disablefunctions =

(Valore vuoto rimuove tutte le funzioni disabilitate)

  1. Oppure abilitare selettivamente rimuovendo specifiche funzioni dall'elenco dei disabili

Passo 4: Installare FFmpeg

Via SSH:

# Ubuntu/Debian
sudo apt install ffmpeg

Cento

sudo yum install ffmpeg

Passo 5: Impostare lavoro Cron

  1. Vai a Siti web e domini > Il tuo dominio Compiti programmati
  2. Fare clic Aggiungi attività
  3. Orari: Ogni minuto ( )
  4. Comando:

/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

Passo 6: Caricare e installare

  1. Carica file tramite FTP o File Manager
  2. Impostare le autorizzazioni
  3. Eseguire il programma di installazione https://yourdomain.com/install/

Ubuntu + Apache (Configurazione manuale)

Per VPS o server dedicati senza pannello di controllo.

Passo 1: Sistema di aggiornamento

sudo apt update
sudo apt upgrade -y

Passo 2: Installare Apache

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

Passo 3: Installare 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