Sempet melakukan 5 steps penyelamatan kasus SSL + Webmail (Roundcube) gara-gara override config? Kita atasi langsung disini secara otomatis via script bash :
Kuncinya yaitu…
Script All-in-One: fix-roundcube-webmail.sh
Bash
#!/bin/bash
# ==========================================
# HestiaCP Roundcube & SSL Auto-Fix Script
# ==========================================
DOMAIN="webmail.domainmu.com"
USER_WEB="hestiauser"
PHP_VER="8.3"
CONF_FILE="/etc/php/${PHP_VER}/fpm/pool.d/${DOMAIN}.conf"
WEB_DIR="/home/${USER_WEB}/web/${DOMAIN}/public_html"
echo "🚀 Starting Full Auto-Fix for ${DOMAIN}..."
echo "--------------------------------------------------"
# Step 1: Rebuild Domain & Renew SSL via Hestia CLI
echo "[1/5] Rebuilding Web Domain & Force Renew SSL..."
/usr/local/hestia/bin/v-rebuild-web-domain "$USER_WEB" "$DOMAIN"
/usr/local/hestia/bin/v-add-web-domain-ssl-force "$USER_WEB" "$DOMAIN"
# Step 2: Symlink public_html ke Core Roundcube
echo "[2/5] Setting Symlink public_html -> Roundcube..."
if [ -d "$WEB_DIR" ] && [ ! -L "$WEB_DIR" ]; then
rm -rf "$WEB_DIR"
fi
if [ ! -L "$WEB_DIR" ]; then
ln -s /var/lib/roundcube "$WEB_DIR"
fi
# Step 3: Inject open_basedir ke Config PHP-FPM
echo "[3/5] Injecting Roundcube paths into PHP-FPM open_basedir..."
if [ -f "$CONF_FILE" ]; then
# Jika belum ada path /var/lib/roundcube, tambahkan di open_basedir
if ! grep -q "/var/lib/roundcube" "$CONF_FILE"; then
sed -i 's|php_admin_value\[open_basedir\] = |php_admin_value[open_basedir] = /var/lib/roundcube:/etc/roundcube:/usr/share/roundcube:|g' "$CONF_FILE"
fi
else
echo "⚠️ Warning: File $CONF_FILE tidak ditemukan!"
fi
# Step 4: Fix Ownership & Permission Folder Temp/Logs
echo "[4/5] Fixing Permissions for Temp & Logs..."
chown -R hestiamail:www-data /var/lib/roundcube/temp /var/lib/roundcube/logs
chmod -R 775 /var/lib/roundcube/temp /var/lib/roundcube/logs
# Step 5: Restart Web & PHP Services
echo "[5/5] Restarting PHP-FPM ${PHP_VER} & Web Server..."
systemctl restart php${PHP_VER}-fpm
systemctl restart nginx 2>/dev/null || systemctl restart apache2 2>/dev/null
echo "--------------------------------------------------"
echo "✅ ALL DONE! SSL, Symlink, open_basedir, & Permissions fixed."
Cara Menggunakannya di VPS:
- Buat filenya di
/usr/local/bin/:Bashnano /usr/local/bin/fix-roundcube-webmail.sh - Tempelkan (paste) isi script di atas, lalu simpan.
- Beri izin akses eksekusi:Bash
chmod +x /usr/local/bin/fix-roundcube-webmail.sh - Kapan pun ada masalah SSL atau 500 Error di Webmail, tinggal panggil 1 perintah ini sebagai
root:Bashfix-roundcube-webmail.sh
Terselesaikan langsung ya, wow!