This guide covers configuration of Sentora web hosting control panel after installation.
After installation, access Sentora via web browser:
URL: https://sentora.example.com/ or http://sentora.example.com:8080/
Default Username: admin
Default Password: (set during installation)
| File | Purpose | Location |
|---|---|---|
init.inc.php |
Core initialization, session config | /etc/sentora/panel/inc/ |
db_mysql.php |
Database connection settings | /etc/sentora/panel/inc/ |
config.php |
General panel configuration | /etc/sentora/panel/ |
httpd.conf |
Apache configuration | /etc/sentora/panel/etc/ |
Edit /etc/sentora/panel/inc/db_mysql.php:
<?php
// Database connection settings
$DB_HOST = 'localhost';
$DB_USER = 'sentora';
$DB_PASS = 'your_secure_password';
$DB_NAME = 'sentora';
// Connection charset
$DB_CHARSET = 'utf8mb4';
?>
Type Name Value TTL
A @ 192.168.1.100 14400
A www 192.168.1.100 14400
A mail 192.168.1.100 14400
MX @ mail.example.com 14400
TXT @ "v=spf1 mx ~all" 14400
CNAME webmail mail.example.com 14400
IMAP Settings:
Incoming Server: mail.example.com
Port: 993 (IMAPS) or 143 (IMAP)
SSL/TLS: Yes
Username: user@example.com
SMTP Settings:
Outgoing Server: mail.example.com
Port: 465 (SMTPS) or 587 (Submission)
SSL/TLS: Yes
Authentication: Yes
Username: user@example.com
Host: ftp.example.com or IP address
Port: 21 (FTP) or 990 (FTPS)
Protocol: FTP over TLS (recommended)
Username: ftp_user
Password: (your password)
Edit /etc/proftpd/proftpd.conf:
# Enable TLS for secure transfers
<IfModule mod_tls.c>
TLSEngine on
TLSLog /var/log/proftpd/tls.log
TLSProtocol TLSv1.2 TLSv1.3
TLSOptions NoCertRequest EnableDiags
TLSRSACertificateFile /etc/ssl/certs/proftpd.crt
TLSRSACertificateKeyFile /etc/ssl/private/proftpd.key
TLSVerifyClient off
TLSRequired on
</IfModule>
# Limit user to home directory
DefaultRoot ~
Sentora v2.0.2 uses PHP 7.4 by default.
Edit /etc/php/7.4/apache2/php.ini:
[PHP]
; Resource limits
max_execution_time = 30
max_input_time = 60
memory_limit = 256M
post_max_size = 64M
upload_max_filesize = 64M
max_file_uploads = 20
; Error handling
display_errors = Off
log_errors = On
error_log = /var/log/php/error.log
; Security
expose_php = Off
allow_url_fopen = Off
allow_url_include = Off
disable_functions = exec,passthru,shell_exec,system
; Session security
session.cookie_httponly = 1
session.cookie_secure = 1
session.use_only_cookies = 1
# Install common extensions
sudo apt install php7.4-mysql php7.4-curl php7.4-gd \
php7.4-mbstring php7.4-xml php7.4-zip \
php7.4-intl php7.4-bz2 php7.4-soap
# Restart Apache
sudo systemctl restart apache2
# Install Certbot
sudo apt install certbot python3-certbot-apache
# Obtain certificate
sudo certbot --apache -d example.com -d www.example.com
# Auto-renewal (already configured by certbot)
sudo certbot renew --dry-run
Edit /etc/sentora/panel/etc/httpd.conf:
<VirtualHost *:443>
ServerName sentora.example.com
DocumentRoot /etc/sentora/panel
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/sentora.example.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/sentora.example.com/privkey.pem
# Security headers
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"
Header always set X-Content-Type-Options "nosniff"
Header always set X-Frame-Options "DENY"
Header always set X-XSS-Protection "1; mode=block"
</VirtualHost>
# Redirect HTTP to HTTPS
<VirtualHost *:80>
ServerName sentora.example.com
Redirect permanent / https://sentora.example.com/
</VirtualHost>
| Role | Permissions |
|---|---|
| Administrator | Full panel access |
| Reseller | Create/manage users, limited admin |
| User | Manage own domains, email, databases |
# Backup Sentora database
mysqldump -u root -p sentora > /backup/sentora-db-$(date +%Y%m%d).sql
# Backup Sentora files
tar -czf /backup/sentora-files-$(date +%Y%m%d).tar.gz /etc/sentora
# Backup user data
tar -czf /backup/sentora-users-$(date +%Y%m%d).tar.gz /var/sentora
# Restore database
mysql -u root -p sentora < /backup/sentora-db-20260311.sql
# Restore files
tar -xzf /backup/sentora-files-20260311.tar.gz -C /
# Restore user data
tar -xzf /backup/sentora-users-20260311.tar.gz -C /
| Log File | Location |
|---|---|
| Panel Access | /etc/sentora/panel/logs/access.log |
| Panel Errors | /etc/sentora/panel/logs/error.log |
| Apache Access | /var/log/apache2/access.log |
| Apache Error | /var/log/apache2/error.log |
| MySQL Error | /var/log/mysql/error.log |
| Mail Log | /var/log/mail.log |
| FTP Log | /var/log/proftpd/ |
# Check disk usage
df -h
# Check memory usage
free -m
# Check CPU load
top
# Check Sentora services
systemctl status apache2 mysql named proftpd
Edit /etc/logrotate.d/sentora:
/etc/sentora/panel/logs/*.log {
daily
rotate 30
compress
delaycompress
missingok
notifempty
create 0640 www-data www-data
postrotate
systemctl reload apache2
endscript
}
Edit /etc/apache2/mods-available/mpm_prefork.conf:
<IfModule mpm_prefork_module>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxRequestWorkers 150
MaxConnectionsPerChild 0
</IfModule>
Edit /etc/mysql/mysql.conf.d/mysqld.cnf:
[mysqld]
# Memory settings
key_buffer_size = 256M
max_allowed_packet = 64M
thread_stack = 256K
thread_cache_size = 8
# Query cache
query_cache_limit = 1M
query_cache_size = 32M
# Connections
max_connections = 150
max_connect_errors = 100
# InnoDB settings
innodb_buffer_pool_size = 256M
innodb_log_file_size = 64M
innodb_flush_log_at_trx_commit = 2
# Install and enable OPcache
sudo apt install php7.4-opcache
# Configure OPcache
echo "opcache.enable=1" >> /etc/php/7.4/apache2/conf.d/10-opcache.ini
echo "opcache.memory_consumption=128" >> /etc/php/7.4/apache2/conf.d/10-opcache.ini
echo "opcache.interned_strings_buffer=8" >> /etc/php/7.4/apache2/conf.d/10-opcache.ini
echo "opcache.max_accelerated_files=4000" >> /etc/php/7.4/apache2/conf.d/10-opcache.ini
sudo systemctl restart apache2
Panel Not Accessible:
# Check Apache status
sudo systemctl status apache2
# Check configuration
sudo apache2ctl configtest
# Check firewall
sudo ufw status
Database Connection Errors:
# Check MySQL status
sudo systemctl status mysql
# Verify credentials
cat /etc/sentora/panel/inc/db_mysql.php
# Test connection
mysql -u sentora -p sentora
Email Not Working:
# Check mail services
sudo systemctl status postfix
sudo systemctl status dovecot
# Check mail logs
sudo tail -f /var/log/mail.log
DNS Not Resolving:
# Check BIND status
sudo systemctl status named
# Test DNS resolution
dig @localhost example.com
# Check zone files
ls -la /etc/bind/zones/
Every deployment is unique. We provide consulting for:
Get personalized assistance: office@linux-server-admin.com | Contact Page