Ricerca nel sito web

Come installare SOGo Groupware su Debian 10


Questo tutorial esiste per queste versioni del sistema operativo

  • Debian 10 (Buster)
  • Debian 8 (Jessie)

Su questa pagina

  1. Prerequisiti
  2. Per iniziare
  3. Installa e configura MariaDB
  4. Installa SOGo
  5. Installa e configura Apache Web Server
  6. Configura SOGo
  7. Accedi all'interfaccia web di SOGo
  8. Conclusione

SOGo è un server groupware gratuito, open source e collaborativo rilasciato sotto GNU GPL/LGPL v2 e versioni successive. Viene fornito con un'interfaccia web semplice e facile da usare e supporta più client nativi. Fornisce il supporto nativo di Microsoft ActiveSync e supporta anche dispositivi mobili come Apple iPhone, Android, Windows Phone e BlackBerry.

Caratteristiche

  • Supporta più lingue.
  • Condividi la posta, i calendari e le rubriche con altri utenti.
  • Imposta allarmi per eventi importanti e ricevi avvisi direttamente dal tuo browser.
  • Ricevi notifiche sul desktop.
  • Componi email HTML con l'editor RTF in linea completo.
  • Supporta più account di posta.
  • Importa ed esporta calendario e casella di posta.
  • Supporta l'autenticazione a due fattori.

In questo tutorial, ti mostreremo come installare il server groupware SOGo su Debian 10.

Prerequisiti

  • Un server che esegue Debian 10.
  • Il server è configurato con una password di root.

Iniziare

Prima di iniziare, si consiglia di aggiornare e aggiornare il server all'ultima versione. Puoi farlo eseguendo il seguente comando:

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

Una volta aggiornato il server, riavvialo per applicare tutte le modifiche.

Installa e configura MariaDB

SOGo utilizza MariaDB/MySQL come database back-end. Quindi dovrai installarlo nel tuo server. Puoi installarlo semplicemente eseguendo il seguente comando:

apt-get install mariadb-server -y

Una volta installato MariaDB, dovrai proteggere l'installazione di MariaDB. Puoi farlo eseguendo il seguente script:

mysql_secure_installation

Rispondi a tutte le domande come mostrato di seguito per impostare la password di root:

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

Una volta che il tuo MariaDB è protetto, accedi a MariaDB con il seguente comando:

mysql

Una volta effettuato il login, crea un database e un utente per SOGo con il seguente comando:

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

Quindi, modifica il database in SOGo e crea una tabella richiesta e inserisci alcuni valori con il seguente comando:

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', '');

Successivamente, scarica i privilegi ed esci da MariaDB con il seguente comando:

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

Una volta terminato, puoi procedere al passaggio successivo.

Installa SOGo

Per impostazione predefinita, SOGo non è disponibile nel repository predefinito di Debian 10, quindi dovrai scaricarlo dal loro sito Web ufficiale. Puoi vedere tutti i pacchetti nella pagina di download di SogoPuoi anche scaricarlo manualmente usando il seguente comando:

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

Una volta scaricati tutti i pacchetti, installali tutti eseguendo il seguente comando:

dpkg -i *.deb

Dopo aver eseguito il comando precedente, riceverai un errore di dipendenza. Puoi installare tutte le dipendenze mancanti eseguendo il seguente comando:

apt-get install -f

Una volta installate tutte le dipendenze, avviare il servizio SOGo e abilitarlo all'avvio al riavvio del sistema con il seguente comando:

systemctl start sogo
systemctl enable sogo

Una volta terminato, puoi procedere al passaggio successivo.

Installa e configura Apache Web Server

Successivamente, dovrai installare e configurare il server web Apache per servire SOGo attraverso la porta 80. Puoi installarlo eseguendo il seguente comando:

apt-get install apache2 -y

Una volta installato il server web Apache, eseguire il seguente comando per abilitare tutti i moduli richiesti:

a2enmod proxy proxy_http headers rewrite

Successivamente, abilita il file host virtuale predefinito SOGo con il seguente comando:

a2enconf SOGo.conf

Successivamente, dovrai modificare il file di configurazione dell'host virtuale SOGo e sostituire la connessione https con http e 443 con la porta 80:

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

Trova le seguenti righe:

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

E, li ha sostituiti con i seguenti:

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

Salva e chiudi il file, quindi controlla il server Apache per eventuali errori di sintassi eseguendo il seguente comando:

apachectl configtest

Se tutto va bene, dovresti ottenere il seguente output:

Syntax OK

Infine, riavvia il servizio Apache per applicare le modifiche:

systemctl restart apache2

Puoi anche verificare lo stato del servizio Apache con il seguente comando:

systemctl status apache2

Dovresti ottenere il seguente output:

? 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...

A questo punto, il server web Apache è installato e configurato. Ora puoi procedere al passaggio successivo.

Configura SOGo

Successivamente, dovrai configurare SOGo per utilizzare MariaDB per l'autenticazione, definire il profilo SOGo, la cartella OCS, le sessioni COS e il nome del superutente. Puoi farlo modificando il file di configurazione principale di SOGo:

nano /etc/sogo/sogo.conf

Aggiungi le seguenti righe prima dell'ultima riga }:

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

SOGoPasswordChangeEnabled = YES;

SOGoUserSources =
  (
    {
      type = sql;
      id = users;
     viewURL = "mysql://sogo::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!

Salva e chiudi il file quando hai finito, quindi riavvia il servizio SOGo per applicare le modifiche:

systemctl restart sogo

Ora puoi verificare lo stato del servizio SOGo eseguendo il seguente comando:

systemctl status sogo

Dovresti ottenere il seguente output:

? 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.

A questo punto, SOGo è avviato e in ascolto sulla porta 20000. Puoi verificarlo con il seguente comando:

ss -ntpl | grep -i sogo

Dovresti ottenere il seguente output:

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))

Una volta terminato, puoi procedere al passaggio successivo.

Accedi all'interfaccia Web di SOGo

Ora, apri il tuo browser web e digita l'URL http://your-server-ip/SOGo per accedere all'interfaccia utente web di SOGo. Verrai reindirizzato alla seguente pagina:

Fornisci il tuo nome utente amministratore come admin e la password come \password\, quindi fai clic sul pulsante >. Dovresti vedere la dashboard predefinita di SOGo nella pagina seguente:

Conclusione

Congratulazioni! hai installato e configurato correttamente il groupware SOGo con Apache su Debian 10. Ora puoi esplorare SOGo per ulteriori funzionalità e distribuirlo nel tuo ambiente di produzione. Non esitate a chiedermi se avete domande.