bug fix: snappymail on ubuntu 24

This commit is contained in:
usmannasir
2025-08-31 13:16:22 +05:00
parent a85e5bd261
commit f1f779c618
3 changed files with 50 additions and 21 deletions

View File

@@ -1372,14 +1372,15 @@ else
echo -e "[$(date +"%Y-%m-%d %H:%M:%S")] WARNING: lscpd user not found, skipping ownership change" | tee -a /var/log/cyberpanel_upgrade_debug.log
fi
# Set proper permissions for SnappyMail data directories
chmod -R 755 /usr/local/lscp/cyberpanel/snappymail/data/
echo -e "[$(date +"%Y-%m-%d %H:%M:%S")] Set SnappyMail data directory permissions to 755" | tee -a /var/log/cyberpanel_upgrade_debug.log
# Set proper permissions for SnappyMail data directories (group writable)
chmod -R 775 /usr/local/lscp/cyberpanel/snappymail/data/
echo -e "[$(date +"%Y-%m-%d %H:%M:%S")] Set SnappyMail data directory permissions to 775 (group writable)" | tee -a /var/log/cyberpanel_upgrade_debug.log
# Ensure SnappyMail temp and cache directories are writable
chmod -R 775 /usr/local/lscp/cyberpanel/snappymail/data/_data_/_default_/temp/
chmod -R 775 /usr/local/lscp/cyberpanel/snappymail/data/_data_/_default_/cache/
echo -e "[$(date +"%Y-%m-%d %H:%M:%S")] Set SnappyMail temp/cache permissions to 775" | tee -a /var/log/cyberpanel_upgrade_debug.log
# Ensure web server users are in the lscpd group for access
usermod -a -G lscpd nobody 2>/dev/null || true
usermod -a -G lscpd www-data 2>/dev/null || true
usermod -a -G lscpd systemd-network 2>/dev/null || true
echo -e "[$(date +"%Y-%m-%d %H:%M:%S")] Added web server users to lscpd group" | tee -a /var/log/cyberpanel_upgrade_debug.log
systemctl restart lscpd

View File

@@ -816,15 +816,13 @@ password="%s"
command = "chown -R lscpd:lscpd /usr/local/lscp/cyberpanel/snappymail/"
preFlightsChecks.call(command, self.distro, command, command, 1, 0, os.EX_OSERR)
# Set proper permissions early
command = "chmod -R 755 /usr/local/lscp/cyberpanel/snappymail/data/"
# Set proper permissions - make all data directories group writable
command = "chmod -R 775 /usr/local/lscp/cyberpanel/snappymail/data/"
preFlightsChecks.call(command, self.distro, command, command, 1, 0, os.EX_OSERR)
# Ensure temp and cache directories are writable
command = "chmod -R 775 /usr/local/lscp/cyberpanel/snappymail/data/_data_/_default_/temp/"
preFlightsChecks.call(command, self.distro, command, command, 1, 0, os.EX_OSERR)
command = "chmod -R 775 /usr/local/lscp/cyberpanel/snappymail/data/_data_/_default_/cache/"
# Ensure the web server user (nobody) can access the directories
# Note: lscpd is already added to nobody group earlier in the installation
command = "usermod -a -G lscpd nobody 2>/dev/null || true"
preFlightsChecks.call(command, self.distro, command, command, 1, 0, os.EX_OSERR)
snappymailinipath = '/usr/local/lscp/cyberpanel/snappymail/data/_data_/_default_/configs/application.ini'
@@ -1454,8 +1452,19 @@ $cfg['Servers'][$i]['LogoutURL'] = 'phpmyadminsignin.php?logout';
command = "chown -R lscpd:lscpd /usr/local/lscp/cyberpanel/snappymail/"
preFlightsChecks.call(command, self.distro, command, command, 1, 0, os.EX_OSERR)
# Set proper permissions for SnappyMail data directories
command = "chmod -R 755 /usr/local/lscp/cyberpanel/snappymail/data/"
# Set proper permissions for SnappyMail data directories (group writable)
command = "chmod -R 775 /usr/local/lscp/cyberpanel/snappymail/data/"
preFlightsChecks.call(command, self.distro, command, command, 1, 0, os.EX_OSERR)
# Ensure web server users are in the lscpd group for access
command = "usermod -a -G lscpd nobody 2>/dev/null || true"
preFlightsChecks.call(command, self.distro, command, command, 1, 0, os.EX_OSERR)
command = "usermod -a -G lscpd www-data 2>/dev/null || true"
preFlightsChecks.call(command, self.distro, command, command, 1, 0, os.EX_OSERR)
# Additional fix for Ubuntu 24.04: ensure systemd user has access
command = "usermod -a -G lscpd systemd-network 2>/dev/null || true"
preFlightsChecks.call(command, self.distro, command, command, 1, 0, os.EX_OSERR)
command = "mkdir -p /usr/local/lscp/cyberpanel/rainloop/data"
@@ -2901,6 +2910,21 @@ echo $oConfig->Save() ? 'Done' : 'Error';
command = "chown -R lscpd:lscpd /usr/local/lscp/cyberpanel/snappymail/data"
subprocess.call(shlex.split(command))
# Ensure all data directories have group write permissions
command = "chmod -R 775 /usr/local/lscp/cyberpanel/snappymail/data"
subprocess.call(shlex.split(command))
# Ensure web server users are in the lscpd group
command = "usermod -a -G lscpd nobody 2>/dev/null || true"
subprocess.call(shlex.split(command))
command = "usermod -a -G lscpd www-data 2>/dev/null || true"
subprocess.call(shlex.split(command))
# Additional fix for Ubuntu 24.04: ensure systemd user has access
command = "usermod -a -G lscpd systemd-network 2>/dev/null || true"
subprocess.call(shlex.split(command))
except:
pass

View File

@@ -1565,15 +1565,19 @@ milter_default_action = accept
command = "chown -R lscpd:lscpd /usr/local/lscp/cyberpanel/snappymail/"
ProcessUtilities.executioner(command)
# Set proper permissions for data directories
command = "chmod -R 755 /usr/local/lscp/cyberpanel/snappymail/data/"
# Set proper permissions for data directories (group writable)
command = "chmod -R 775 /usr/local/lscp/cyberpanel/snappymail/data/"
ProcessUtilities.executioner(command)
# Ensure temp and cache directories are writable
command = "chmod -R 775 /usr/local/lscp/cyberpanel/snappymail/data/_data_/_default_/temp/"
# Ensure web server users are in the lscpd group for access
command = "usermod -a -G lscpd nobody 2>/dev/null || true"
ProcessUtilities.executioner(command)
command = "chmod -R 775 /usr/local/lscp/cyberpanel/snappymail/data/_data_/_default_/cache/"
command = "usermod -a -G lscpd www-data 2>/dev/null || true"
ProcessUtilities.executioner(command)
# Additional fix for Ubuntu 24.04: ensure systemd user has access
command = "usermod -a -G lscpd systemd-network 2>/dev/null || true"
ProcessUtilities.executioner(command)
command = "chmod 700 /usr/local/CyberCP/cli/cyberPanel.py"