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

Reply via email to