ComusThumbz Documentation
Admin Login

Wspólne konfiguracje serwerów

Przegląd

Ten przewodnik obejmuje konfigurację serwera krok-by-krok dla najpopularniejszych środowisk hostingowych używanych w ComusThumbz. Każda sekcja zawiera kompletne instrukcje konfiguracji, w tym konfigurację PHP, konfigurację serwera WWW oraz specyficzne wymagania ComusThumbz.

Konfiguracja wymagana:
Przed rozpoczęciem, upewnij się, że serwer spełnia minimalne wymagania określone w Wytyczne dotyczące wymagań.

Obsługiwane środowiska

ŚrodowiskoKompleksowośćNajlepsze dlaDostęp do konfiguracji PHP
HestiaCPSpokojnie.VPS, dedykowane serweryPełny dostęp
cPanel / WHMSpokojnie.Wspólne, VPS hostingOgraniczone do MultiPHP
PleskSpokojnie.VPS, dedykowane serweryPełny dostęp
Ubuntu + ApacheŚredniVPS, serwery w chmurzePełny dostęp
Ubuntu + NginxŚredniVPS, serwery w chmurzePełny dostęp
CentOS / AlmaLinuxŚredniEnterprise, dedykowanyPełny dostęp
DockerZaawansowaneRozwój, skalowalnyPełna kontrola
ChmurySpokojnie.Zarządzanie chmurąDostęp do panelu

Ustawienia HestiaCP

HestiaCP jest popularnym darmowym panelem sterowania dla serwerów VPS. Ten przewodnik zawiera kompletną instalację ComusThumbz.

Warunki wstępne

  • Ubuntu 20.04 / 22.04 lub Debian 10 / 11
  • Zainstalowane HestiaCP
  • Domena skierowana do serwera
  • Dostęp do SSH

Krok 1: Tworzenie domeny internetowej

  1. Zaloguj się do HestiaCP https://your-server-ip:8083
  2. Idź do WEB tab
  3. Kliknij Dodaj domenę Web
  4. Podaj nazwę domeny
  5. Włącz Wsparcie SSL i sprawdzić Zaszyfrujmy
  6. Kliknij Zapisz

[Screenshot: hestiacp- add- domain]

Krok 2: Konfiguracja PHP

  1. Idź do WEB tab
  2. Kliknij ikonę klucza obok domeny
  3. Wybierz PHP 8.3 z wersji PHP rozwijanej
  4. Kliknij Zapisz

Krok 3: Włącz wymagane funkcje PHP

Ostrzeżenie:
HestiaCP domyślnie wyłącza wiele funkcji PHP. Musisz umożliwić im działanie ComusThumbz.

Wariant A: Via HestiaCP Panel

  1. Idź do SERVER > Konfiguracja > PHP- FPM
  2. Znajdź wersję PHP (np. PHP 8.3)
  3. Zlokalizować disablefunctions w konfiguracji
  4. Usuń te funkcje z listy wyłączonych:

exec

  • shellexec
  • passthru
  • procopen
  • popen
  1. Kliknij Zapisz
  2. Przywróć PHP: W SSH, uruchom systemctl restart php8.3-fpm

Wariant B: Via SSH (zalecane)

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

Znajdź wyłączonylinia funkcji (linia 314)

Zmiana od:

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

Zmień TO (usuń exec, passthru, powłokiexec, procopen, popen):

disablefunctions = system,...

Zapisz i ponownie uruchom PHP- FPM

sudo systemctl restart php8.3-fpm

Krok 4: Dostosowanie ustawień PHP

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

Aktualizuj te ustawienia:

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

Zapisz i uruchom ponownie

sudo systemctl restart php8.3-fpm

Krok 5: Zainstaluj FFmpeg

sudo apt update
sudo apt install ffmpeg

Weryfikacja instalacji

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

Krok 6: Instalacja imageMagick (opcjonalnie)

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

Krok 7: Wyślij pliki ComusThumbz

Via File Manager:

W HestiaCP, przejdź do FILES

  1. Przejdź do /home/username/web/yourdomain.com/publichtml/
  2. Wysyłanie i wyciąganie plików ComusThumbz

Via SFTP:

# Connect with SFTP client (FileZilla, WinSCP)

Host: your-server- ip
Nazwa użytkownika: użytkownika HestiaCP
Hasło: hasło HestiaCP
Upload to: /home/username/web/yourdomain.com/public_html/

Krok 8: Ustaw uprawnienia

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

Ustaw własność

chown -R username:username ct/

Ustaw uprawnienia bazowe

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

Wpisz katalogi wysyłania / dziennika

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

Krok 9: Ustawienie zadania Cron

  1. SSH do serwera
  2. Biegnij: crontab -e
  3. Dodaj ten wiersz:
/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

Krok 10: Uruchom Instalator

  1. Przejdź do https://yourdomain.com/install/
  2. Podążaj za asystentem instalacji
  3. Usuń /install/ folder po zakończeniu
Sukces:
Twój serwer HestiaCP jest teraz skonfigurowany dla ComusThumbz!

Konfiguracja cPanel / WHM

cPanel to najpowszechniejszy wspólny panel kontroli hostingu. Przewodnik ten obejmuje konfigurację zarówno współdzielonego jak i VPS hostingu z cPanel.

Warunki wstępne

  • Konto hostingowe cPanel
  • Dostępne PHP 8.0 +
  • Dostęp do SSH (opcjonalny, ale zalecany)

Krok 1: Wybierz wersję PHP

  1. Zaloguj się do cPanel
  2. Idź do Oprogramowanie > Menedżer multiPHP
  3. Wybierz domenę
  4. Wybierz PHP 8.3 (lub najwyższy dostępny 8,x)
  5. Kliknij Zastosuj

[Screenshot: cpanel- php- version]

Krok 2: Konfiguracja ustawień PHP

  1. Idź do Oprogramowanie > Edytor multiPHP INI
  2. Wybierz Tryb edytora
  3. Wybierz domenę
  4. Aktualizuj te ustawienia:
  • memorylimit = 512M
  • maxexecutiontime = 600
  • uploadmaxfilesize = 500M
  • postmaxsize = 500M
  • maxinputvars = 10000
  1. Kliknij Zapisz

Krok 3: Włącz funkcje PHP

Ostrzeżenie:
W przypadku współdzielonego hostingu możesz nie mieć dostępu do funkcji niepełnosprawnych. Skontaktuj się z hostem, jeśli te funkcje są wyłączone.

Jeśli masz dostęp do WHM:

  1. Zaloguj się do WHM
  2. Idź do Konfiguracja usługi > Edytor konfiguracji PHP
  3. Znajdź disablefunctions
  4. Usuń: exec, shellexec, passthru, procopen, popen
  5. Zapisz i odbuduj PHP

Na wspólne hosting:
Skontaktuj się z dostawcą hostingu, aby włączyć te funkcje do konta.

Krok 4: Wysyłanie plików

Idź do Pliki > Menedżer plików

  1. Navigate to publichtml/
  2. Click Upload
  3. Upload and extract ComusThumbz files

Or use FTP:

  • Host: yourdomain.com or ftp.yourdomain.com
  • Username: your cPanel username
  • Password: your cPanel password

Step 5: Set Up Database

  1. Go to Databases > MySQL Databases
  2. Create a new database (e.g., usernamecomus)
  3. Create a new user with a strong password
  4. Add user to database with ALL PRIVILEGES

Step 6: Set Up Cron Job

Go to Advanced > Cron Jobs

  1. Set schedule: (every minute)
  2. Command:
/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. Click Add New Cron Job

Step 7: Run Installer

Navigate to https://yourdomain.com/install/ and complete the installation.


Plesk Setup

Plesk is a popular control panel for VPS and dedicated servers.

Step 1: Add Domain

  1. Log in to Plesk
  2. Go to Websites & Domains
  3. Click Add Domain
  4. Enter your domain and configure settings
  5. Enable SSL/TLS support

Step 2: Configure PHP

  1. Go to Websites & Domains > Your domain > PHP Settings
  2. Set PHP version to 8.3
  3. Configure:
  • memorylimit = 512M
  • maxexecutiontime = 600
  • uploadmaxfilesize = 500M
  • postmaxsize = 500M
  1. Click OK

Step 3: Enable PHP Functions

  1. Go to PHP Settings for your domain
  2. Find Additional directives section
  3. Add:
disablefunctions =

(Empty value removes all disabled functions)

  1. Or selectively enable by removing specific functions from the disabled list

Step 4: Install FFmpeg

Via SSH:

# Ubuntu/Debian
sudo apt install ffmpeg

CentOS

sudo yum install ffmpeg

Step 5: Set Up Cron Job

  1. Go to Websites & Domains > Your domain > Scheduled Tasks
  2. Click Add Task
  3. Schedule: Every minute ( )
  4. Command:

/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

Step 6: Upload and Install

  1. Upload files via FTP or File Manager
  2. Set permissions
  3. Run installer at https://yourdomain.com/install/

Ubuntu + Apache (Manual Setup)

For VPS or dedicated servers without a control panel.

Step 1: Update System

sudo apt update
sudo apt upgrade -y

Step 2: Install Apache

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

Step 3: Install 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