SOGo je bezplatný, open-source a kolaborativní groupwarový server vydaný pod licencí GNU GPL/LGPL v2 a vyšší. Dodává se s jednoduchým a snadno použitelným webovým rozhraním a podporuje více nativních klientů. Poskytuje nativní podporu Microsoft ActiveSync a také podporuje mobilní zařízení, jako jsou Apple iPhone, Android, Windows Phone a BlackBerry.
Funkce
- Podporuje více jazyků.
- Sdílejte svou poštu, kalendáře a adresáře s ostatními uživateli.
- Nastavte si upozornění na důležité události a získejte upozornění přímo z vašeho prohlížeče.
- Přijímat oznámení na ploše.
- Vytvářejte e-maily HTML pomocí kompletního vloženého editoru formátovaného textu.
- Podporuje více poštovních účtů.
- Import a export kalendáře a poštovní schránky.
- Podporuje dvoufaktorovou autentizaci.
V tomto tutoriálu vám ukážeme, jak nainstalovat groupwarový server SOGo na Debian 10.
Předpoklady
- Server se systémem Debian 10.
- Na serveru je nakonfigurováno heslo uživatele root.
Začínáme
Před spuštěním se doporučuje aktualizovat a upgradovat server na nejnovější verzi. Můžete to udělat spuštěním následujícího příkazu:
apt-get update -y
apt-get upgrade -y
Jakmile je váš server aktualizován, restartujte jej, aby se všechny změny projevily.
Instalace a konfigurace MariaDB
SOGo používá MariaDB/MySQL jako databázový backend. Budete jej tedy muset nainstalovat na svůj server. Můžete jej nainstalovat pouhým spuštěním následujícího příkazu:
apt-get install mariadb-server -y
Jakmile je MariaDB nainstalována, budete muset instalaci MariaDB zabezpečit. Můžete to udělat spuštěním následujícího skriptu:
mysql_secure_installation
Chcete-li nastavit heslo uživatele root, odpovězte na všechny níže uvedené otázky:
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
Jakmile je vaše MariaDB zabezpečena, přihlaste se do MariaDB pomocí následujícího příkazu:
mysql
Po přihlášení vytvořte databázi a uživatele pro SOGo pomocí následujícího příkazu:
MariaDB [(none)]> CREATE DATABASE sogo;
MariaDB [(none)]> GRANT ALL ON sogo.* TO 'sogo'@'localhost' IDENTIFIED BY 'password';
Dále změňte databázi na SOGo a vytvořte požadovanou tabulku a vložte některé hodnoty pomocí následujícího příkazu:
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', '[email protected]');
Dále vyprázdněte oprávnění a ukončete MariaDB pomocí následujícího příkazu:
MariaDB [sogo]> flush privileges;
MariaDB [sogo]> exit;
Jakmile budete hotovi, můžete přejít k dalšímu kroku.
Instalovat SOGo
Ve výchozím nastavení není SOGo k dispozici ve výchozím úložišti Debian 10, takže si jej budete muset stáhnout z jejich oficiálních stránek. Všechny balíčky si můžete prohlédnout na stránce stahování Sope a stránce stahování Sogo. Můžete si je také stáhnout ručně pomocí následujícího příkazu:
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
Jakmile jsou všechny balíčky staženy, nainstalujte je spuštěním následujícího příkazu:
dpkg -i *.deb
Po spuštění výše uvedeného příkazu se zobrazí chyba závislosti. Všechny chybějící závislosti můžete nainstalovat spuštěním následujícího příkazu:
apt-get install -f
Jakmile jsou nainstalovány všechny závislosti, spusťte službu SOGo a povolte její spuštění při restartu systému pomocí následujícího příkazu:
systemctl start sogo
systemctl enable sogo
Jakmile budete hotovi, můžete přejít k dalšímu kroku.
Instalace a konfigurace webového serveru Apache
Dále budete muset nainstalovat a nakonfigurovat webový server Apache, aby obsluhoval SOGo přes port 80. Můžete jej nainstalovat spuštěním následujícího příkazu:
apt-get install apache2 -y
Jakmile je webový server Apache nainstalován, spusťte následující příkaz pro povolení všech požadovaných modulů:
a2enmod proxy proxy_http headers rewrite
Dále povolte výchozí soubor virtuálního hostitele SOGo pomocí následujícího příkazu:
a2enconf SOGo.conf
Dále budete muset upravit konfigurační soubor virtuálního hostitele SOGo a nahradit připojení https za http a 443 portem 80:
nano /etc/apache2/conf-enabled/SOGo.conf
Najděte následující řádky:
RequestHeader set "x-webobjects-server-port" "443" RequestHeader set "x-webobjects-server-url" "https://%{HTTP_HOST}e" env=HTTP_HOST
A nahradil je následujícím:
RequestHeader set "x-webobjects-server-port" "80" RequestHeader set "x-webobjects-server-url" "http://%{HTTP_HOST}e" env=HTTP_HOST
Uložte a zavřete soubor a poté pomocí následujícího příkazu zkontrolujte server Apache, zda neobsahuje nějakou chybu syntaxe:
apachectl configtest
Pokud je vše v pořádku, měli byste získat následující výstup:
Syntax OK
Nakonec restartujte službu Apache, aby se změny projevily:
systemctl restart apache2
Stav služby Apache můžete také ověřit pomocí následujícího příkazu:
systemctl status apache2
Měli byste získat následující výstup:
? 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...
V tomto okamžiku je webový server Apache nainstalován a nakonfigurován. Nyní můžete přejít k dalšímu kroku.
Konfigurace SOGo
Dále budete muset nakonfigurovat SOGo pro použití MariaDB pro ověřování, definovat profil SOGo, složku OCS, relace COS a jméno superuživatele. Můžete to udělat úpravou hlavního konfiguračního souboru SOGo:
nano /etc/sogo/sogo.conf
Přidejte následující řádky před poslední řádek }:
SOGoProfileURL = "mysql://sogo:[email protected]:5432/sogo/sogo_user_profile"; OCSFolderInfoURL = "mysql://sogo:[email protected]:5432/sogo/sogo_folder_info"; OCSSessionsFolderURL = "mysql://sogo:[email protected]:5432/sogo/sogo_sessions_folder"; SOGoPasswordChangeEnabled = YES; SOGoUserSources = ( { type = sql; id = users; viewURL = "mysql://sogo:[email protected]: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!
Po dokončení uložte a zavřete soubor a poté restartujte službu SOGo, aby se změny projevily:
systemctl restart sogo
Nyní můžete ověřit stav služby SOGo spuštěním následujícího příkazu:
systemctl status sogo
Měli byste získat následující výstup:
? 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.
V tomto okamžiku se SOGo spustí a naslouchá na portu 20000. Můžete to zkontrolovat pomocí následujícího příkazu:
ss -ntpl | grep -i sogo
Měli byste získat následující výstup:
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))
Jakmile budete hotovi, můžete přejít k dalšímu kroku.
Přístup k webovému rozhraní SOGo
Nyní otevřete webový prohlížeč a zadejte adresu URL http://ip-vaseho-serveru/SOGo pro přístup k webovému uživatelskému rozhraní SOGo. Budete přesměrováni na následující stránku:
Zadejte své uživatelské jméno správce jako správce a heslo jako „heslo“ a poté klikněte na > knoflík. Výchozí řídicí panel SOGo byste měli vidět na následující stránce:
Závěr
Gratulujeme! úspěšně jste nainstalovali a nakonfigurovali SOGo groupware s Apache na Debianu 10. Nyní můžete prozkoumat SOGo pro více funkcí a nasadit jej ve vašem produkčním prostředí. Neváhejte se mě zeptat, pokud máte nějaké otázky.