Hello,
I'm getting a 501 error after logging into SOGo using my administrator user
(only user so far). Nothing appears in the nginx logs, but in the sogo log I
get the following:
EXCEPTION: <NSException: 0x64a3ca410af0> NAME:NSInvalidArgumentException
REASON:GSCInlineString(instance) does not recognize allKeys INFO:(null)
OS: Ubuntu 24.04.3 LTS
Web Server: nginx 1.29.3
Database: MariaDB 12.0.2
SOGo: 5.12.4.20251115-1
Here's my SOGo configuration:
{
/* Authentication */
SOGoAuthenticationMethod = SQL;
SOGoPasswordChangeEnabled = YES;
/* MariaDB configuration */
SOGoProfileURL =
"mysql://sogo:{PASSWORD}@localhost:3306/sogo/sogo_user_profile";
OCSFolderInfoURL =
"mysql://sogo:{PASSWORD}@localhost:3306/sogo/sogo_folder_info";
OCSEMailAlarmsFolderURL =
"mysql://sogo:{PASSWORD}@localhost:3306/sogo/sogo_alarms_folder";
OCSSessionsFolderURL =
"mysql://sogo:{PASSWORD}@localhost:3306/sogo/sogo_sessions_folder";
OCSAdminURL = "mysql://sogo:{PASSWORD}@localhost:3306/sogo/sogo_admin";
SOGoUserSources = (
{
type = sql;
id = directory;
viewURL = "mysql://sogo:{PASSWORD}@localhost:3306/sogo/sogo_users";
canAuthenticate = YES;
isAddressBook = YES;
displayName = "SOGo Users";
MailFieldNames = ("mail");
searchFields = ("Mail", "cn", "uid");
userPasswordAlgorithm = md5;
prependPasswordScheme = YES;
}
);
/* MariaDB Encoding */
MySQL4Encoding = "utf8mb4";
/* SMTP */
SOGoMailingMechanism = smtp;
SOGoSMTPMasterUserEnabled = YES;
SOGoSMTPMasterUserUsername = "wheel";
SOGoSMTPMasterUserPassword = "{PASSWORD}";
/* IMAP */
SOGoDraftsFolderName = Drafts;
SOGoSentFolderName = Sent;
SOGoTrashFolderName = Trash;
SOGoJunkFolderName = Spam;
SOGoMailSpoolPath = /var/spool/sogo;
NGImap4ConnectionStringSeparator = "/";
/* Web Interface */
SOGoPageTitle = "SOGo";
SOGoSieveScriptsEnabled = YES;
SOGoVacationEnabled = YES;
SOGoForwardEnabled = YES;
SOGoNotificationEnabled = YES;
SOGoRefreshViewCheck = every_minute;
SOGoMailAuxiliaryUserAccountsEnabled = YES;
SOGoFirstDayOfWeek = 1;
SOGoTimeFormat = "%H:%M:%S";
SOGoCalendarCategoriesColors = "#FF0083";
SOGoCalendarEventsDefaultClassification = PRIVATE;
SOGoCalendarTasksDefaultClassification = PRIVATE;
SOGoMailComposeWindow = inline;
SOGoEnableEMailAlarms = YES;
/* General Settings */
WOPidFile = "/var/run/sogo/sogo.pid";
SOGoSuperUsernames = (administrator); // This is an array - keep the parens!
SOGoLanguage = English;
/* Calendar */
SOGoCalendarDefaultRoles = (
PublicDAndTViewer,
ConfidentialDAndTViewer
);
/* Notifications */
SOGoAppointmentSendEMailNotifications = YES;
SOGoACLsSendEMailNotifications = NO;
SOGoFoldersSendEMailNotifications = NO;
/* ActiveSync */
WOWorkersCount = 15;
WOWatchDogRequestTimeout = 59;
SOGoMaximumPingInterval = 3540;
SOGoMaximumSyncInterval = 3540;
SOGoInternalSyncInterval = 30;
/* Domains */
domains = {
{DOMAIN} = {
SOGoMailDomain = {DOMAIN};
SOGoTimeZone = Pacific/Honolulu;
SOGoSMTPServer = "smtp://mail.{DOMAIN}:587";
SOGoIMAPServer = "imap://mail.{DOMAIN}:993";
SOGoSieveServer = "sieve://mail.{DOMAIN}:4190/?tls=YES";
};
...
...
... };
/* Debug */
SOGoDebugRequests = YES;
SoDebugBaseURL = YES;
ImapDebugEnabled = YES;
LDAPDebugEnabled = YES;
PGDebugEnabled = YES;
MySQL4DebugEnabled = YES;
SOGoUIxDebugEnabled = YES;
WODontZipResponse = YES;
WOLogFile = /var/log/sogo/sogo.log;
}
And here is my nginx vhost for SOGo:
server {
listen 443 ssl;
http2 on;
server_name mail.{DOMAIN};
root /usr/lib/GNUstep/SOGo/WebServerResources/;
server_tokens off;
index index.php index.html index.htm
index.nginx-debian.html;
autoindex off;
ssl_certificate
/etc/letsencrypt/live/mail.{DOMAIN}/fullchain.pem
<http://mail.strangequark.dev/fullchain.pem>;
ssl_certificate_key /etc/letsencrypt/live/mail.{DOMAIN}/privkey.pem
<http://mail.strangequark.dev/privkey.pem>;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 1440m;
ssl_session_tickets off;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers
"ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384";
ssl_prefer_server_ciphers on;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
add_header Strict-Transport-Security "max-age=31536000"
always;
error_page 404 /404.php;
# redirect server error pages to the static page /50x.php
error_page 500 502 503 504 /50x.php;
location = /50x.php {
root /path/to/www/50x;
}
error_log /var/log/nginx/{DOMAIN}/webmail/error.log
<http://strangequark.dev/webmail/error.log>;
access_log /var/log/nginx/{DOMAIN}/webmail/access.log
<http://strangequark.dev/webmail/access.log>;
client_max_body_size 100M;
client_body_buffer_size 512k;
client_header_timeout 360;
client_body_timeout 360;
send_timeout 360;
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/run/php/php8.5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location / {
proxy_pass http://127.0.0.1:20000;
proxy_redirect http://127.0.0.1:20000 default;
# forward user's IP address
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
proxy_set_header x-webobjects-server-protocol HTTP/1.0;
proxy_set_header x-webobjects-remote-host 127.0.0.1;
proxy_set_header x-webobjects-server-name $server_name;
proxy_set_header x-webobjects-server-url $scheme://$host;
proxy_connect_timeout 360;
proxy_send_timeout 360;
proxy_read_timeout 360;
proxy_buffer_size 128k;
proxy_buffers 64 512k;
proxy_busy_buffers_size 512k;
proxy_temp_file_write_size 512k;
client_max_body_size 50m;
client_body_buffer_size 1024k;
break;
}
# For IOS 7
location = /principals/ {
rewrite ^ https://$server_name/dav;
allow all;
}
location /.woa/WebServerResources/ {
alias /usr/lib/GNUstep/SOGo/WebServerResources/;
}
location /SOGo.woa/WebServerResources/
<http://SOGo.woa/WebServerResources/> {
alias /usr/lib/GNUstep/SOGo/WebServerResources/;
allow all;
}
location /SOGo/WebServerResources/ {
alias /usr/lib/GNUstep/SOGo/WebServerResources/;
allow all;
}
location ^/SOGo/so/ControlPanel/Products/([^/]*)/Resources/(.*)$ {
alias /usr/lib/GNUstep/SOGo/$1.SOGo/Resources/$2
<http://1.SOGo/Resources/$2>;
}
location
^/SOGo/so/ControlPanel/Products/[^/]*UI/Resources/.*\.(jpg|png|gif|css|js)$ {
alias /usr/lib/GNUstep/SOGo/$1.SOGo/Resources/$2
<http://1.SOGo/Resources/$2>;
}
location /plugins {
autoindex on;
}
location ^~ /Microsoft-Server-ActiveSync {
proxy_pass https://127.0.0.1:20000/Microsoft-Server-ActiveSync;
proxy_redirect https://127.0.0.1:20000/Microsoft-Server-ActiveSync /;
}
location ^~ /SOGo/Microsoft-Server-ActiveSync {
proxy_pass https://127.0.0.1:20000/Microsoft-Server-ActiveSync;
proxy_redirect https://127.0.0.1:20000/Microsoft-Server-ActiveSync /;
}
}
Please let me know if anything stands out as not being correct.
Cheers
--
Secured with Tuta Mail:
https://tuta.com/free-email