Wie man SOGo-Groupware auf Debian 10 installiert

SOGo ist ein freier, quelloffener und kollaborativer Groupware-Server, der unter der GNU GPL/LGPL v2 und höher veröffentlicht wurde. Er wird mit einer einfachen und leicht zu bedienenden webbasierten Schnittstelle geliefert und unterstützt mehrere native Clients. Er bietet native Microsoft ActiveSync-Unterstützung und unterstützt auch mobile Geräte wie Apple iPhone, Android, Windows Phone und BlackBerry.

Merkmale

  • Unterstützt mehrere Sprachen.
  • Geben Sie Ihre E-Mails, Kalender und Adressbücher für andere Benutzer frei.
  • Stellen Sie Alarme für wichtige Ereignisse ein und lassen Sie sich direkt über Ihren Browser benachrichtigen.
  • Erhalten Sie Desktop-Benachrichtigungen.
  • Verfassen Sie HTML-E-Mails mit dem vollständigen Inline-Rich-Text-Editor.
  • Unterstützt mehrere E-Mail-Konten.
  • Importieren und exportieren Sie Kalender und Mailbox.
  • Unterstützt Zwei-Faktor-Authentifizierung.

In diesem Tutorial werden wir Ihnen zeigen, wie Sie den SOGo-Groupware-Server unter Debian 10 installieren.

Voraussetzungen

  • Ein Server, auf dem Debian 10 läuft.
  • Ein Root-Passwort wird für den Server konfiguriert.

Erste Schritte

Bevor Sie beginnen, wird empfohlen, Ihren Server zu aktualisieren und auf die neueste Version zu aktualisieren. Sie können dies tun, indem Sie den folgenden Befehl ausführen:

apt-get update -y
apt-get upgrade -y

Sobald Ihr Server aktualisiert ist, starten Sie ihn neu, um alle Änderungen zu übernehmen.

Installieren und Konfigurieren von MariaDB

SOGo verwendet MariaDB/MySQL als Datenbank-Backend. Sie müssen es also auf Ihrem Server installieren. Sie können es installieren, indem Sie einfach den folgenden Befehl ausführen:

apt-get install mariadb-server -y

Sobald die MariaDB installiert ist, müssen Sie die MariaDB-Installation sichern. Sie können dies tun, indem Sie das folgende Skript ausführen:

mysql_secure_installation

Beantworten Sie alle Fragen wie unten gezeigt, um das root-Passwort festzulegen:

Enter current password for root (enter for none):
OK, successfully used password, moving on...
Set root password? [Y/n] Y
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

Sobald Ihre MariaDB gesichert ist, loggen Sie sich mit dem folgenden Befehl in die MariaDB ein:

mysql

Sobald Sie sich angemeldet haben, erstellen Sie eine Datenbank und einen Benutzer für SOGo mit dem folgenden Befehl:

MariaDB [(none)]> CREATE DATABASE sogo;
MariaDB [(none)]> GRANT ALL ON sogo.* TO 'sogo'@'localhost' IDENTIFIED BY 'password';

Als nächstes ändern Sie die Datenbank in SOGo und erstellen eine erforderliche Tabelle und fügen einige Werte mit dem folgenden Befehl ein:

MariaDB [(none)]> USE sogo;
MariaDB [sogo]> CREATE TABLE sogo_users (c_uid VARCHAR(10) PRIMARY KEY, c_name VARCHAR(10), c_password VARCHAR(32), c_cn VARCHAR(128), mail VARCHAR(128));
MariaDB [sogo]> INSERT INTO sogo_users VALUES ('admin', 'admin', MD5('password'), 'Hitesh', 'admin@example.com');

Als nächstes löschen Sie die Privilegien und verlassen Sie die MariaDB mit dem folgenden Befehl:

MariaDB [sogo]> flush privileges;
MariaDB [sogo]> exit;

Sobald Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.

SOGo installieren

Standardmäßig ist SOGo nicht im Standard-Repository von Debian 10 verfügbar, so dass Sie es von deren offizieller Website herunterladen müssen. Sie können alle Pakete auf derSope-Download-Seite und der Sogo-Download-Seiteverkaufen . Siekönnen es auch manuell mit dem folgenden Befehl herunterladen:

wget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sogo/sogo_5.0.1.20201110-1_amd64.deb
wget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sogo/sogo-activesync_5.0.1.20201110-1_amd64.deb
wget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sogo/sogo-dbg_5.0.1.20201110-1_amd64.deb
wget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sogo/sogo-dev_5.0.1.20201110-1_amd64.deb
wget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sope/libsbjson2.3-dev_4.9.r1664.20201103_amd64.deb
wget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sope/libsbjson2.3_4.9.r1664.20201103_amd64.deb
wget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sope/libsope-appserver4.9-dev_4.9.r1664.20201103_amd64.deb
wget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sope/libsope-appserver4.9_4.9.r1664.20201103_amd64.deb
wget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sope/libsope-core4.9-dev_4.9.r1664.20201103_amd64.deb
wget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sope/libsope-core4.9_4.9.r1664.20201103_amd64.deb
wget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sope/libsope-gdl1-4.9-dev_4.9.r1664.20201103_amd64.deb
wget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sope/libsope-gdl1-4.9_4.9.r1664.20201103_amd64.deb
wget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sope/libsope-ldap4.9-dev_4.9.r1664.20201103_amd64.deb
wget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sope/libsope-ldap4.9_4.9.r1664.20201103_amd64.deb
wget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sope/libsope-mime4.9-dev_4.9.r1664.20201103_amd64.deb
wget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sope/libsope-mime4.9_4.9.r1664.20201103_amd64.deb
wget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sope/libsope-xml4.9-dev_4.9.r1664.20201103_amd64.deb
wget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sope/libsope-xml4.9_4.9.r1664.20201103_amd64.deb
wget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sope/libsope4.9-dev_4.9.r1664.20201103_all.deb
wget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sope/sope4.9-appserver_4.9.r1664.20201103_amd64.deb
wget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sope/sope4.9-dbg_4.9.r1664.20201103_amd64.deb
wget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sope/sope4.9-gdl1-mysql_4.9.r1664.20201103_amd64.deb
wget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sope/sope4.9-gdl1-postgresql_4.9.r1664.20201103_amd64.deb
wget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sope/sope4.9-libxmlsaxdriver_4.9.r1664.20201103_amd64.deb
wget https://packages.inverse.ca/SOGo/nightly/5/debian/pool/buster/s/sope/sope4.9-stxsaxdriver_4.9.r1664.20201103_amd64.deb

Sobald alle Pakete heruntergeladen sind, installieren Sie sie alle, indem Sie den folgenden Befehl ausführen:

dpkg -i *.deb

Nachdem Sie den obigen Befehl ausgeführt haben, erhalten Sie einen Abhängigkeitsfehler. Sie können alle fehlenden Abhängigkeiten installieren, indem Sie den folgenden Befehl ausführen: Nachdem Sie den obigen Befehl ausgeführt haben, erhalten Sie den Abhängigkeitsfehler:

apt-get install -f

Wenn alle Abhängigkeiten installiert sind, starten Sie den SOGo-Dienst und aktivieren Sie ihn beim Neustart des Systems mit folgendem Befehl: Nachdem alle Abhängigkeiten installiert sind, starten Sie den SOGo-Dienst mit folgendem Befehl:

systemctl start sogo
systemctl enable sogo

Sobald Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.

Installieren und Konfigurieren des Apache-Web-Servers

Als nÃ?chstes mÃ?ssen Sie den Apache-Webserver installieren und konfigurieren, um SOGo Ã?ber den Port 80 zu bedienen. Sie können ihn installieren, indem Sie den folgenden Befehl ausführen:

apt-get install apache2 -y

Sobald der Apache-Webserver installiert ist, führen Sie den folgenden Befehl aus, um alle erforderlichen Module zu aktivieren:

a2enmod proxy proxy_http headers rewrite

Als nächstes aktivieren Sie die SOGo-Standarddatei des virtuellen Hosts mit folgendem Befehl:

a2enconf SOGo.conf

Als nächstes müssen Sie die SOGo-Konfigurationsdatei für den virtuellen Host bearbeiten und https-Verbindung durch http und 443 durch den Port 80 ersetzen:

nano /etc/apache2/conf-enabled/SOGo.conf

Suchen Sie die folgenden Zeilen:

  RequestHeader set "x-webobjects-server-port" "443"
  RequestHeader set "x-webobjects-server-url" "https://%{HTTP_HOST}e" env=HTTP_HOST

Und, ersetzen Sie sie durch die folgenden:

  RequestHeader set "x-webobjects-server-port" "80"
  RequestHeader set "x-webobjects-server-url" "http://%{HTTP_HOST}e" env=HTTP_HOST

Speichern und schlie?en Sie die Datei und pr?fen Sie den Apache-Server auf Syntaxfehler, indem Sie den folgenden Befehl ausf?hren:

apachectl configtest

Wenn alles in Ordnung ist, sollten Sie die folgende Ausgabe erhalten:

Syntax OK

Starten Sie abschließend den Apache-Dienst neu, um die Änderungen zu übernehmen:

systemctl restart apache2

Sie können den Status des Apache-Dienstes auch mit dem folgenden Befehl überprüfen:

systemctl status apache2

Sie sollten die folgende Ausgabe erhalten:

? apache2.service - The Apache HTTP Server
   Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2020-11-12 04:17:37 UTC; 14s ago
     Docs: https://httpd.apache.org/docs/2.4/
  Process: 15278 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
 Main PID: 15282 (apache2)
    Tasks: 55 (limit: 4701)
   Memory: 17.2M
   CGroup: /system.slice/apache2.service
           ??15282 /usr/sbin/apache2 -k start
           ??15283 /usr/sbin/apache2 -k start
           ??15284 /usr/sbin/apache2 -k start

Nov 12 04:17:37 debian10 systemd[1]: Starting The Apache HTTP Server...

Zu diesem Zeitpunkt ist der Apache-Webserver installiert und konfiguriert. Sie können nun mit dem nächsten Schritt fortfahren.

SOGo konfigurieren

Als nächstes müssen Sie SOGo so konfigurieren, dass MariaDB für die Authentifizierung verwendet wird, das SOGo-Profil, den OCS-Ordner, die COS-Sitzungen und den Superuser-Namen definieren. Sie können dies tun, indem Sie die Hauptkonfigurationsdatei von SOGo bearbeiten:

nano /etc/sogo/sogo.conf

Fügen Sie die folgenden Zeilen vor der letzten Zeile } hinzu:

SOGoProfileURL = "mysql://sogo:password@localhost:5432/sogo/sogo_user_profile";
OCSFolderInfoURL = "mysql://sogo:password@localhost:5432/sogo/sogo_folder_info";
OCSSessionsFolderURL = "mysql://sogo:password@localhost:5432/sogo/sogo_sessions_folder";

SOGoPasswordChangeEnabled = YES;

SOGoUserSources =
  (
    {
      type = sql;
      id = users;
     viewURL = "mysql://sogo:password@127.0.0.1:3306/sogo/sogo_users";
     canAuthenticate = YES;
     isAddressBook = NO;
      userPasswordAlgorithm = md5;
    }
  );

  SOGoPageTitle = SOGo;
  SOGoVacationEnabled = YES;
  SOGoForwardEnabled = YES;
  SOGoSieveScriptsEnabled = YES;
  SOGoMailAuxiliaryUserAccountsEnabled = YES;
  SOGoTrustProxyAuthentication = NO;
  SOGoXSRFValidationEnabled = YES;

  SOGoSuperUsernames = (admin); // This is an array - keep the parens!

Speichern und schließen Sie die Datei, wenn Sie fertig sind, und starten Sie dann den SOGo-Dienst neu, um die Änderungen zu übernehmen:

systemctl restart sogo

Sie können jetzt den Status des SOGo-Dienstes überprüfen, indem Sie den folgenden Befehl ausführen: }: Speichern und schließen Sie die Datei, wenn Sie fertig sind:

systemctl status sogo

Sie sollten die folgende Ausgabe erhalten:

? sogo.service - LSB: SOGo server
   Loaded: loaded (/etc/init.d/sogo; generated)
   Active: active (running) since Thu 2020-11-12 04:19:00 UTC; 3s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 15422 ExecStart=/etc/init.d/sogo start (code=exited, status=0/SUCCESS)
    Tasks: 4 (limit: 4701)
   Memory: 44.9M
   CGroup: /system.slice/sogo.service
           ??15493 /usr/sbin/sogod -WOWorkersCount 3 -WOPidFile /var/run/sogo/sogo.pid -WOLogFile /var/log/sogo/sogo.log
           ??15495 /usr/sbin/sogod -WOWorkersCount 3 -WOPidFile /var/run/sogo/sogo.pid -WOLogFile /var/log/sogo/sogo.log
           ??15496 /usr/sbin/sogod -WOWorkersCount 3 -WOPidFile /var/run/sogo/sogo.pid -WOLogFile /var/log/sogo/sogo.log
           ??15497 /usr/sbin/sogod -WOWorkersCount 3 -WOPidFile /var/run/sogo/sogo.pid -WOLogFile /var/log/sogo/sogo.log

Nov 12 04:19:00 debian10 systemd[1]: Starting LSB: SOGo server...
Nov 12 04:19:00 debian10 sogo[15422]: Starting SOGo: sogo.
Nov 12 04:19:00 debian10 systemd[1]: Started LSB: SOGo server.

An diesem Punkt wird SOGo gestartet und lauscht auf Port 20000. Sie können dies mit dem folgenden Befehl überprüfen:

ss -ntpl | grep -i sogo

Sie sollten die folgende Ausgabe erhalten:

LISTEN    0         5                127.0.0.1:20000            0.0.0.0:*        users:(("sogod",pid=15497,fd=3),("sogod",pid=15496,fd=3),("sogod",pid=15495,fd=3),("sogod",pid=15493,fd=3))

Sobald Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.

Zugang zum SOGo Web-Interface

Öffnen Sie nun Ihren Webbrowser und geben Sie die URL http://your-server-ip/SOGo ein, um auf die SOGo Web-UI zuzugreifen. Sie werden auf die folgende Seite umgeleitet:

  • SOGo-Anmeldung

Geben Sie Ihren Admin-Benutzernamen als Admin und das Passwort als „Passwort“ ein und klicken Sie dann auf die Schaltfläche >. Sie sollten das SOGo-Standard-Dashboard auf der folgenden Seite sehen:

SOGo Groupware-Dashboard

Schlussfolgerung

Gratulation! Sie haben erfolgreich SOGo-Groupware mit Apache auf Debian 10 installiert und konfiguriert. Sie können nun das SOGo nach weiteren Funktionen untersuchen und es in Ihrer Produktionsumgebung einsetzen. Zögern Sie nicht, mich zu fragen, wenn Sie Fragen haben.

Das könnte dich auch interessieren …