SOGo è un server di gruppo gratuito, open source e collaborativo rilasciato sotto GNU GPL/LGPL v2 e superiori. Viene fornito con un'interfaccia basata sul 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 tua posta, i tuoi calendari e le tue rubriche con altri utenti.
- Imposta allarmi su eventi importanti e ricevi avvisi direttamente dal tuo browser.
- Ricevi notifiche desktop.
- Componi posta HTML con l'editor di testo completo in linea.
- 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.
- Una password di root è configurata sul server.
Per 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 usa 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, sarà necessario 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 l'accesso, 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, cambia 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', '[email protected]');
Quindi, svuota 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 Sope e nella pagina di download di Sogo Puoi anche scaricarlo manualmente utilizzando 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, installarli tutti eseguendo il comando seguente:
dpkg -i *.deb
Dopo aver eseguito il comando precedente, otterrai un errore di dipendenza. Puoi installare tutte le dipendenze mancanti eseguendo il comando seguente:
apt-get install -f
Una volta installate tutte le dipendenze, avvia il servizio SOGo e abilitalo 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 il server Web Apache
Successivamente, dovrai installare e configurare il server web Apache per servire SOGo tramite la porta 80. Puoi installarlo eseguendo il comando seguente:
apt-get install apache2 -y
Una volta installato il server web Apache, eseguire il comando seguente per abilitare tutti i moduli richiesti:
a2enmod proxy proxy_http headers rewrite
Quindi, 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, sostituiscili 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:[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!
Salva e chiudi il file al termine, quindi riavvia il servizio SOGo per applicare le modifiche:
systemctl restart sogo
È ora possibile verificare lo stato del servizio SOGo eseguendo il comando seguente:
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 ed è 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 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 amministratore e la password come "password", quindi fai clic su > pulsante. Dovresti vedere la dashboard predefinita di SOGo nella pagina seguente:
Conclusione
Congratulazioni! hai installato e configurato con successo il groupware SOGo con Apache su Debian 10. Ora puoi esplorare SOGo per ulteriori funzionalità e distribuirlo nel tuo ambiente di produzione. Sentiti libero di chiedermi se hai domande.