OpenBSD Handbook

    Theme
    • Part I. Install & Configure
      • Introduction to OpenBSD
      • Installing OpenBSD
      • The X Window System
      • Networking on OpenBSD
      • System Configuration
      • OpenBSD Basics
      • Managing Software: Packages and Ports
    • Part II. Daily Operations
      • OpenBSD Desktop Environments
      • Multimedia
      • Printing
      • Linux Compatibility
      • Windows Compatibility
      • Games
    • Part III. System Administration
      • Virtualization
      • Storage and File Systems
      • Updating and Upgrading
      • Localization
      • The OpenBSD Boot Process
      • Security
    • Part IV. Networking & Daemons
      • Services
        • Database
          • MariaDB
          • PostgreSQL
          • Redis
          • memcached
        • Directory
          • YP (NIS)
          • LDAP
        • File
          • NFS
          • Samba
        • FTP Services
          • ftpd
          • ProFTPD
          • vsftpd
          • Pure-FTPd
          • TFTP
        • Mail
          • OpenSMTPD Mail Server
          • Dovecot IMAP and POP3 Server
          • Postfix
          • Exim
          • Rspamd
        • Name
          • Unbound DNS Resolver
          • NSD Authoritative DNS Server
          • BIND DNS Server
        • Networking
          • OpenBGPD
          • rad
          • DHCP on OpenBSD
          • slaacd
        • Web
          • Apache HTTP Server
          • nginx Web Server
          • OpenBSD httpd Web Server
          • relayd Reverse Proxy
        • Logging
          • syslogd
        • Monitoring
          • SNMP
        • Remote Access
          • Audit OpenSSH
          • OpenSSH Server
        • File Synchronization
          • rsync
        • Messaging
          • RabbitMQ Message Broker
        • Time
          • NTP Time Synchronization
      • PF
        • pfctl cheat sheet
        • PF Anchors
        • PF Filter Rules
        • PF Forwarding
        • PF Lists and Macros
        • PF Load Balancing
        • PF Logging
        • PF NAT
        • PF Options
        • PF Policies
        • PF Shortcuts
        • PF Tables
      • Advanced Networking
        • High Availability and State Replication
        • Multi-WAN and Policy-Based Routing
        • VPN and Cryptographic Tunneling
        • Classic and Lightweight Tunnels
        • IPv6 at Scale
        • QoS and Traffic Shaping
        • MPLS and Label Distribution
        • Network Services at Scale
        • Virtualization and Host Networking
        • Large-Scale L2 and L3 Design
        • Telemetry, Logging, and Flow Export
        • Hardening and Operational Safety
        • Reference Architectures
        • Troubleshooting Playbooks
      • Serial Communication
    • Part V. Miscellaneous
      • Virtualization Cheat Sheet
      • OpenBSD Cheatsheet
      • How-to Guides
        • Complete the First 30 Minutes After Installation
        • Check Hardware Compatibility Before Installing
        • Bootstrap Wi-Fi Firmware Without Ethernet
        • Set Up OpenBSD as a Laptop or Workstation
        • Configure Laptop Power Management
        • Run OpenBSD as a Virtual Machine Guest
        • Install OpenBSD on a VPS or Cloud Server
        • Install OpenBSD with Full-Disk Encryption
        • Troubleshoot Web Browsers on OpenBSD
        • Create an Administrator Account with doas and SSH Keys
        • Establish a Conservative Security Baseline
        • Manage OpenBSD with Ansible
        • Recover Access and Reset the Root Password
        • Collect OpenBSD Diagnostic Evidence
        • Configure Secure Remote Access with OpenSSH
        • Set Up WordPress on OpenBSD
        • Build Third-Party Software from Ports
        • Use FIDO Security Keys with OpenSSH
        • Build OpenBSD from Source
        • Configure Wi-Fi Roaming and Wired Failover
        • Dual-Boot OpenBSD on a UEFI System
        • Troubleshoot PF, NAT, and Routing
        • Automate OpenBSD Installation with Autoinstall and PXE
        • Route Multiple VLANs with PF
        • Configure a Road-Warrior WireGuard VPN
        • Troubleshoot Package Installation and Update Failures
        • Route IPv6 Networks without NAT
        • Schedule Recurring Maintenance
        • Plan a Docker Workload Migration to OpenBSD
        • Build a Mail Server with OpenSMTPD, Dovecot, and Rspamd
        • Build a Simple Router and Firewall
        • Monitor an OpenBSD System
        • Back Up and Restore an OpenBSD System
        • Configure softraid RAID1
        • Recover an OpenBSD System That Does Not Boot
        • Install Z shell (zsh)
      • OpenBSD for Linux Users
      • OpenBSD for FreeBSD Users
      • OpenBSD for macOS Users
    • OpenBSD FAQ
    • OpenBSD Architectures
      • OpenBSD Package Search

        sogo-5.12.11

        Package search / Categories / Current snapshot
        โ† Back to search
        OpenBSD branch
        OpenBSD 8.0 releaseCurrent snapshot

        Current snapshot ยท amd64

        web based groupware server

        Project homepage: https://sogo.nu/

        Description

        SOGo is a groupware server built around OpenGroupware.org (OGo) and the SOPE application server, with a focus on scalability. It provides the usual groupware functionality as E-Mail, Calendaring, and Contacts management.

        Package information

        Ports path
        www/sogo
        Package architecture
        amd64
        Maintainer
        The OpenBSD ports mailing-list <ports@openbsd.org>
        Categories
        www, x11/gnustep
        Available flavors
        None listed
        Only for architectures
        aarch64, amd64, arm, i386, powerpc, powerpc64, riscv64, sparc64

        Ports list build and test dependencies as well as runtime dependencies. pkg_add selects those needed for installation.

        Direct dependencies

        Library

        • archivers/libzip
        • converters/libytnef
        • devel/libmemcached
        • net/curl
        • security/libsodium
        • security/oath-toolkit
        • www/sope STEM->=5.12.11
        • x11/gnustep/base

        Runtime

        • www/sope,-postgres sope-postgres-*|sope-mysql-*
        • archivers/zip
        • shells/bash
        • x11/gnustep/make

        Build

        • x11/gnustep/make
        • devel/gmake
        OpenBSD README

        This README contains unresolved ports variables; replace them before using its commands.

        +-----------------------------------------------------------------------
        | Running sogo on OpenBSD
        +-----------------------------------------------------------------------
        
        General setup and configuration information about SOGo can be found
        in ${TRUEPREFIX}/share/doc/sogo/.
        
        SOGo is designed with scalability in mind. All of the dependent components
        like mail-, database-, or web server can run on different hosts, and
        you can even choose to install your preferred software to fulfill those tasks.
        You have to install those components manually on the servers where you
        want to run them. An overview is given in the list below.
        
        For your SOGo installation you would need the following components installed
        somewhere. Either on the same host where you install SOGo, or distributed
        over multiple systems, related to your needs:
        - Memcached to speed up SOGo:
          * install the memcached package
        - Web Server:
          * install the nginx or the apache-httpd package
        - Database Server:
          * install postgresql-server package
          - or install mariadb-server package
        - LDAP Server for user authentication shared addressbooks:
          * install openldap-server package
          - or use ldapd from base
        - IMAP Server:
          * install cyrus-imapd package
          - or install dovecot package
          - or install courier-imap package
          - or install imap-uw package
        - SMTP Server or local sendmail compatible binary:
          * install postfix package
          - or use smtpd from base
          - or install sendmail package
        The alternatives marked with * are recommended. They are tested and verified
        to work together by the SOGo port maintainer.
        For the configuration of those components you should take a look at their
        respective documentation.
        
        The SOGo system user
        ====================
        The system user and group intended to run the SOGo application server
        is called _sogo. The users home directory is ${LOCALSTATEDIR}/sogo.
        
        The SOPE database adaptor
        =========================
        The SOPE PostgreSQL database adaptor is automatically installed.
        If you want to use a MySQL database as backend, you have to install
        the sope-mysql package on the host where SOPE and SOGo are installed.
        
        SOGo with nginx
        ===============
        Since nginx configuration is not explained in the SOGo Manual, here is an example.
        It's assumed that nginx(8) and SOGo run on the same host. Nginx(8) listens on port 80,
        and SOGo is listening on its default port 20000.
        
        Nginx runs in a chroot environment on OpenBSD, therefore you have to
        copy some files into the server's chroot environment:
        
        # mkdir -p ${LOCALSTATEDIR}/www/lib/sogo
        # cp -R ${TRUEPREFIX}/lib/GNUstep/SOGo/WebServerResources ${LOCALSTATEDIR}/www/lib/sogo/www
        
        Edit /etc/nginx/nginx.conf
        
        server {
        
            listen 80;
            root ${LOCALSTATEDIR}/www/lib/sogo/www/;
            proxy_http_version 1.1;
        
            location = /
            {
                rewrite ^ http://$server_name/SOGo;
                allow all;
            }
        
            # For IOS 7
            location = /principals/
            {
                rewrite ^ http://$server_name/SOGo/dav;
                allow all;
            }
        
            location = /.well-known/caldav/
            {
                rewrite ^ http://$server_name/SOGo/dav;
            }
        
            location = /.well-known/carddav/
            {
                rewrite ^ http://$server_name/SOGo/dav;
                allow all;
            }
        
            location ^~/SOGo
            {
                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_set_header x-webobjects-server-port $server_port;
                proxy_connect_timeout 90;
                proxy_send_timeout 90;
                proxy_read_timeout 90;
                proxy_buffer_size 64k;
                proxy_buffers 8 64k;
                proxy_busy_buffers_size 64k;
                proxy_temp_file_write_size 64k;
                client_max_body_size 50m;
                client_body_buffer_size 128k;
                break;
            }
        
            location /SOGo.woa/WebServerResources/
            {
                alias ${LOCALSTATEDIR}/www/lib/sogo/www/;
                allow all;
            }
        
            location /SOGo/WebServerResources/
            {
                alias ${LOCALSTATEDIR}/www/lib/sogo/www/;
                allow all;
            }
        
            location ^/SOGo/so/ControlPanel/Products/([^/]*)/Resources/(.*)$
            {
                alias ${LOCALSTATEDIR}/www/lib/sogo/$1.SOGo/Resources/$2;
            }
        
            location ^/SOGo/so/ControlPanel/Products/[^/]*UI/Resources/.*\.(jpg|png|gif|css|js)$
            {
                alias ${LOCALSTATEDIR}/www/lib/sogo/$1.SOGo/Resources/$2;
            }
        }
        
        SOGo with apache-httpd package
        ==============================
        The configuration of SOGo behind Apache is described in the manual.
        
        A note on using CAS
        ===================
        Using CAS is not tested by the maintainer. You have to copy
        ${TRUEPREFIX}/share/doc/sogo/cas-proxy-validate.py to
        ${LOCALSTATEDIR}/www/cgi-bin. Within the script, you have to edit the config
        array and the path to your python to fit your configurtaion.
        The script also requires Python memcached, provided by
        the py-memcached package.
        
        A note on using Thunderbird integrator
        ======================================
        If you are going to use Thunderbird integrator you will need the php
        script installed on ${TRUEPREFIX}/share/doc/sogo/updates.php.
        You should copy it under ${LOCALSTATEDIR}/www/htdocs, install the php package and
        follow the instuctions in the SOGo manual.
        
        SOGo configuration example
        ==========================
        Below you see an example SOGo configuration. The example assumes you have
        the recommended server components installed as mentioned above.
        You have to apply them as user _sogo using the defaults command, i.e:
        defaults write sogod <key> <value>
        In the example below it is assumed that all components run on the same host.
        For details to each of the defaults consult the SOGo Administration manual.
        
        sogod SOGoUserSources '(
            {
                CNFieldName = cn;
                IDFieldName = uid;
                IMAPHostFieldName = mailHost;
                UIDFieldName = uid;
                baseDN = "ou=people,dc=intern";
                bindDN = "cn=Manager,dc=intern";
                bindPassword = ManagerLDAPPassword;
                canAuthenticate = YES;
                displayName = "SOGo Accounts";
                hostname = localhost;
                id = public;
                isAddressBook = YES;
                port = 389;
            }
        )'
        sogod SOGoSMTPServer localhost
        sogod SOGoIMAPServer localhost
        sogod SOGoLanguage English
        sogod SOGoTimeZone Europe/Berlin
        sogod SOGoFoldersSendEMailNotifications YES
        sogod SOGoMemcachedHost localhost
        sogod SOGoMailingMechanism smtp
        sogod WOLogFile ${LOCALSTATEDIR}/log/sogo/sogod.log
        sogod WOPidFile ${LOCALSTATEDIR}/sogo/sogod.pid
        sogod SOGoMailDomain my-domain.com
        sogod OCSFolderInfoURL postgresql://_sogo:sogo@localhost:5432/sogo/sogo_folder_info
        sogod SOGoProfileURL postgresql://_sogo:sogo@localhost:5432/sogo/sogo_user_profile
        sogod OCSSessionsFolderURL postgresql://_sogo:sogo@localhost:5432/sogo/sogo_sessions_folder
        sogod SOGoACLsSendEMailNotifications YES
        sogod SOGoAppointmentSendEMailNotifications YES
        sogod WOWorkersCount 4
        sogod WOPort 127.0.0.1:20000
        sogod SOGoDraftsFolderName INBOX.Drafts
        sogod SOGoTrashFolderName INBOX.Trash
        sogod SOGoSentFolderName INBOX.Sent
        sogod SOGoZipPath ${LOCALBASE}/bin/zip
        
        Upgrading from older SOGo versions
        ==================================
        Update the files in the chroot environment of apache as root:
        
        # rm -rf ${LOCALSTATEDIR}/www/lib/sogo
        # mkdir -p ${LOCALSTATEDIR}/www/lib/sogo
        # cp -R ${TRUEPREFIX}/lib/GNUstep/SOGo/WebServerResources ${LOCALSTATEDIR}/www/lib/sogo/www
        
        Upgrade SOGo from < 2.3.0
        ==========================
        With version 2.3.0, the database schema needs to be extended.
        
        Run one of the following scripts as the SOGo system user _sogo.
        Choose the script based on your database backend.
        The scripts will ask you for the database credentials.
        
        # su _sogo "${TRUEPREFIX}/share/doc/sogo/sql-update-2.2.17_to_2.3.0.sh"
        # su _sogo "${TRUEPREFIX}/share/doc/sogo/sql-update-2.2.17_to_2.3.0-mysql.sh"
        
        Upgrade SOGo from < 3.0.0
        =========================
        With version 3.X you can update the database schema to the optional
        9-table model. The conversion is not required, and you should only do it
        when you are sure you know what you are doing.
        The scripts require you have configured sogo via /etc/sogo/sogo.conf.
        Use at your own risk.
        
        # su _sogo "${TRUEPREFIX}/share/doc/sogo/sql-update-3.0.0-to-combined.sh"
        # su _sogo "${TRUEPREFIX}/share/doc/sogo/sql-update-3.0.0-to-combined-mysql.sh"
        
        Upgrade SOGo from < 4.0.0
        =========================
        Updating SOGo from version 3.X to 4.X requires an update of the database schema.
        
        Run one of the following scripts as the SOGo system user _sogo.
        Choose the script based on your database backend.
        The scripts will ask you for the database credentials.
        
        # su _sogo "${TRUEPREFIX}/share/doc/sogo/sql-update-3.2.10_to_4.0.0.sh"
        # su _sogo "${TRUEPREFIX}/share/doc/sogo/sql-update-3.2.10_to_4.0.0-mysql.sh"
        
        Upgrade SOGo from < 5.7.1
        =========================
        With version 5.7.1, the WOPort default has to be set, as it now tries to 
        listen on IPv4 and IPv6 in parallel, which fails on OpenBSD.
        The prior default was to listen on 127.0.0.1:20000. To get back the old behaviour,
        run the following command:
        
        # su _sogo "defaults write sogod WOPort 127.0.0.1:20000"
        

        Package guides

        • Installing and updating packages

        Package details as JSON

        Report a bug