GNU/Linux >> Linux Esercitazione >  >> Debian

Installa WebMail Lite client Webmail basato su PHP su Debian 9.1

In questa guida, ti mostreremo come installare l'ultima versione di WebMail Lite PHP in Debian 9.1 e ti mostreremo come configurare l'applicazione per recuperare le e-mail da un popolare servizio di posta Yahoo! Posta. Useremo Yahoo! Servizi di posta solo a scopo dimostrativo, ma sentiti libero di utilizzare il tuo dominio per la gestione della posta con WebMail Lite, perché la procedura per aggiungere le impostazioni del dominio è per lo più la stessa della configurazione di Yahoo! Servizi di posta. Utilizzeremo il client WebMail Lite come interfaccia per i servizi IMAP e SMTP forniti da Yahoo! account e tutte le e-mail verranno gestite localmente sul nostro server web privato.

WebMail Lite è un agente utente di posta o client Web open source gratuito scritto in PHP e distribuito su Linux con componenti Apache/Nginx, PHP e MySQL/MariaDB che costituiscono lo stack LEMP/LAMP. WebMail Lite può essere utilizzato per accedere alla posta tramite i protocolli IMAP/S e/o SMTP/S al fine di sincronizzare file di posta e/o inviare messaggi di posta.

Requisiti

  • Installazione minima di Debian 9 su una macchina bare-metal o su un server privato virtuale.
  • Un indirizzo IP statico configurato per una delle tue schede di interfaccia di rete del sistema.
  • privilegi sudo root per un account locale o remoto o accesso diretto all'account root.
  • Un nome di dominio, privato o pubblico, a seconda della distribuzione, con i record DNS corretti configurati.
  • Un servizio di posta opportunamente configurato presso la tua sede con accesso remoto ai suoi servizi IMAP e SMTP.

Configurazione iniziale

Prima di iniziare a installare e configurare WebMail Lite dall'origine sul tuo server, assicurati innanzitutto che il sistema soddisfi tutti i requisiti software per la compilazione e l'installazione dell'applicazione. Nel primo passaggio, aggiorna i repository di sistema e i pacchetti software eseguendo il comando seguente.

aggiornamento adatto
aggiornamento appropriato

Nel passaggio successivo, esegui il comando seguente per installare alcune utilità che verranno utilizzate per gestire ulteriormente il tuo sistema dalla riga di comando.

apt install wget bash-completion unzip

Quindi, imposta il nome per il tuo sistema eseguendo il comando seguente. Sostituisci la tua variabile hostname di conseguenza.

hostnamectl set-hostname mail

Verifica il nome host della macchina e il file hosts eseguendo i comandi seguenti.

nomehost
cat /etc/hostname
nome host –s
nome host –f

Infine, riavvia il server Debian per applicare correttamente gli aggiornamenti del kernel e il nome host.

riavvio systemctl

WebMail Lite è un client webmail scritto principalmente in linguaggio di programmazione lato server PHP. Per eseguire gli script di file PHP di WebMail Lite, è necessario che nel sistema siano installati e operativi un server Web, come il server HTTP Apache, e un gateway di elaborazione PHP. Per installare il server Web Apache e l'interprete PHP insieme a tutti i moduli PHP necessari per l'esecuzione corretta dell'applicazione, immetti il ​​seguente comando nella console del server.

apt install apache2 libapache2-mod-php7.0 php7.0 php7.0-xml php7.0-mcrypt php7.0-opcache php7.0-mbstring php7.0-curl

Dopo aver installato Apache e PHP, verifica se il server web è attivo e funzionante e in attesa di connessioni di rete sulla porta 80 eseguendo il comando seguente con privilegi di root.

netstat –tlpn

Nel caso in cui l'utilità di rete netstat non sia installata per impostazione predefinita sul tuo sistema Debian, esegui il comando seguente per installarla.

apt install net-tools

Controllando l'output del comando netstat puoi vedere che il server web Apache è in attesa di connessioni di rete in entrata sulla porta 80. Per lo stesso compito, puoi anche usare ss comando, che viene installato automaticamente per impostazione predefinita in Debian 9.

ss- tlpn

Nel caso in cui tu abbia un firewall abilitato nel tuo sistema, come l'applicazione firewall UFW, dovresti aggiungere una nuova regola per consentire al traffico HTTP di passare attraverso il firewall emettendo il seguente comando.

ufw consenti WWW

o

ufw consente 80/tcp

Se stai utilizzando iptables raw rules per gestire le regole del firewall nel tuo server Debian, aggiungi la seguente regola per consentire il traffico in entrata sulla porta 80 sul firewall in modo che i visitatori possano navigare nell'applicazione online.

apt-get install -y iptables-persistent
iptables -I INPUT -p tcp --destination-port 80 -j ACCEPT
systemctl iptables-salvataggio persistente
systemctl iptables-ricarica persistente

Quindi, abilita i seguenti moduli Apache che verranno utilizzati per proteggere alcune parti dell'applicazione WebMail Lite, eseguendo il comando seguente.

a2enmod riscrittura
systemctl riavvia apache2

Infine, verifica se la pagina Web predefinita del server Web Apache può essere visualizzata nei browser dei tuoi client visitando l'indirizzo IP della tua macchina Debian o il tuo nome di dominio o FQDN del server tramite il protocollo HTTP. Se non conosci l'indirizzo IP della tua macchina, esegui ifconfig o ip a comandi per rivelare l'indirizzo IP del tuo server. La pagina Apache predefinita per Debian verrà visualizzata nel tuo browser.

http://tuo_dominio.tld

Per installare e accedere all'applicazione WebMail Lite tramite il protocollo HTTPS che proteggerà il traffico per i tuoi client, immetti il ​​seguente comando per abilitare il modulo SSL del server Web Apache e il file di configurazione del sito SSL.

a2enmod ssl
a2ensite default-ssl.conf

Quindi, apri il file di configurazione del sito SSL predefinito di Apache con un editor di testo e abilita le regole di riscrittura degli URL aggiungendo le seguenti righe di codice dopo DocumentRoot direttiva, come mostrato nell'esempio seguente:

nano /etc/apache2/sites-enabled/default-ssl.conf

Estratto del file di configurazione del sito SSL:


  Opzioni +SeguiSymlinks
  ConsentiSostituisci tutto
  Richiedi tutto concesso

Inoltre, apporta la seguente modifica alla riga VirtualHost in modo che assomigli a quella mostrata nell'estratto seguente:

       

Chiudi il file Apache SSL e apri /etc/apache2/sites-enabled/000-default.conf file per la modifica e aggiungere le stesse regole di riscrittura URL del file di configurazione SSL. Inserisci le righe di codice dopo DocumentRoot dichiarazione come mostrato nell'esempio seguente.


  Opzioni +SeguiSymlinks
  ConsentiSostituisci tutto
  Richiedi tutto concesso

Infine, riavvia il demone Apache per applicare tutte le regole configurate finora e visita il tuo dominio tramite protocollo HTTP. Poiché stai utilizzando le coppie di certificati autofirmati automaticamente emesse da Apache al momento dell'installazione, nel browser dovrebbe essere visualizzato un avviso di errore, come mostrato nella schermata seguente.

systemctl riavvia apache2

https://tuodominio.tld

Accetta l'avviso per continuare ed essere reindirizzato alla pagina Web predefinita di Apache tramite HTTPS.

Nel caso in cui l'applicazione firewall UFW blocchi le connessioni di rete in entrata alla porta HTTPS, dovresti aggiungere una nuova regola per consentire al traffico HTTPS di passare attraverso il firewall eseguendo il comando seguente.

ufw consente 'WWW completo'

o

ufw consente 443/tcp

Se iptables è l'applicazione firewall predefinita installata per proteggere il tuo sistema Debian a livello di rete. Aggiungi la seguente regola per consentire il traffico in entrata sulla porta 443 nel firewall in modo che i visitatori possano esplorare il tuo nome di dominio.

iptables -I INPUT -p tcp --destination-port 443 -j ACCEPT
systemctl iptables-salvataggio persistente
systemctl iptables-ricarica persistente

Nel passaggio successivo, dobbiamo apportare ulteriori modifiche al file di configurazione predefinito di PHP per garantire che le seguenti variabili PHP siano abilitate e il fuso orario PHP l'impostazione è configurata correttamente e corrisponde alla posizione geografica del sistema. Apri /etc/php/7.0/apache2/php.ini file per la modifica e assicurarsi che le seguenti righe siano impostate come segue. Inoltre, inizialmente, fai un backup del file di configurazione PHP.

cp /etc/php/7.0/apache2/php.ini{,.backup}
nano /etc/php/7.0/apache2/php.ini

Cerca, modifica e cambia le seguenti variabili in php.ini file di configurazione:

file_uploads =On
allow_url_fopen =On
memory_limit =128 M
upload_max_file_size =64 M
date.timezone =Europa/Londra

Aumenta limite_di_memoria variabile adatta a supportare file allegati di grandi dimensioni e sostituire time.zone variabile in base al tuo tempo fisico consultando l'elenco dei fusi orari fornito dai documenti PHP al seguente link http://php.net/manual/en/timezones.php

Se desideri aumentare la velocità di caricamento delle pagine del tuo sito Web tramite il plug-in OPCache disponibile per PHP7, aggiungi le seguenti impostazioni OPCache nella parte inferiore del file di configurazione dell'interprete PHP, come dettagliato di seguito:

opcache.enable=1 
opcache.enable_cli=1
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.memory_consumption=128
opcache. save_comments=1
opcache.revalidate_freq=1

Chiudi il file di configurazione php.ini e controlla se la verifica della fine del file di configurazione PHP per verificare se le variabili sono state aggiunte correttamente emettendo il comando seguente.

coda /etc/php/7.0/apache2/php.ini

Dopo aver apportato tutte le modifiche spiegate sopra, riavvia il demone apache per applicare le nuove modifiche eseguendo il comando seguente.

systemctl riavvia apache2

Infine, crea un file di informazioni PHP eseguendo il comando seguente e controlla se il fuso orario PHP è stato configurato correttamente visitando il file di script di informazioni PHP da un browser al seguente URL, come illustrato nell'immagine seguente. Scorri verso il basso fino a data impostazione per controllare la configurazione del fuso orario di php.

eco ''| tee /var/www/html/info.php 

https://dominio.tld/info.php

Il client webmail di WebMail Lite memorizza diverse configurazioni, come utenti, sessioni, contatti e altro, in un database RDBMS. In questa guida, configureremo WebMail Lite per utilizzare il database MariaDB come backend. Emetti il ​​comando seguente per installare il database MariaDB e il modulo PHP necessario per accedere al database mysql.

apt install mariadb-server php7.0-mysql

Dopo aver installato MariaDB, verifica che il demone sia in esecuzione e sia in attesa di connessioni su localhost, porta 3306, eseguendo netstat o ss comando.

netstat –tlpn | grep mysql

Quindi, accedi alla console MySQL e proteggi l'account root di MariaDB eseguendo i seguenti comandi.

mysql -h localhost
use mysql;
update user set plugin='' where user='root';
flush privilegi;
exit

Nel passaggio successivo, proteggi MariaDB eseguendo lo script mysql_secure_installation . Durante l'esecuzione lo script porrà una serie di domande progettate per proteggere il database MariaDB, come ad esempio:modificare la password di root di MySQL, rimuovere utenti anonimi, disabilitare gli accessi root remoti ed eliminare il database di test. Esegui lo script emettendo il comando seguente e assicurati di digitare yes a tutte le domande poste al fine di proteggere completamente il demone MySQL. Usa l'output dello script seguente tranne che come guida.

sudo mysql_secure_installation
NOTA:ESEGUIRE TUTTE LE PARTI DI QUESTO SCRIPT È RACCOMANDATO PER TUTTI MariaDB
      SERVER IN USO DI PRODUZIONE! SI PREGA DI LEGGERE ATTENTAMENTE OGNI PASSO!
 
Per poter accedere a MariaDB per proteggerlo, avremo bisogno della corrente
password per l'utente root. Se hai appena installato MariaDB, e
non hai ancora impostato la password di root, la password sarà vuota
quindi dovresti semplicemente premere invio qui.
 
Inserisci la password corrente per root (inserisci per nessuno):
OK, password utilizzata con successo, vado avanti...
 
L'impostazione della password di root assicura che nessuno possa accedere a MariaDB
utente root senza la corretta autorizzazione.
 
Hai già impostato una password di root, quindi puoi rispondere in sicurezza 'n'.
 
Cambiare la password di root? [S/n] y 
Nuova password:
Reinserire la nuova password:
Password aggiornata correttamente!
Ricaricamento delle tabelle dei privilegi..
 ... Successo!
 
Per impostazione predefinita, un'installazione di MariaDB ha un utente anonimo, che consente a chiunque
per accedere a MariaDB senza dover creare un account utente per
loro. Questo è inteso solo per il test e per effettuare l'installazione
vai un po' più fluido. Dovresti rimuoverli prima di passare a un
ambiente di produzione.
 
Rimuovere utenti anonimi? [S/n] y 
 ... Successo!
 
Normalmente, root dovrebbe essere autorizzato a connettersi solo da 'localhost'. Questo
assicura che qualcuno non possa indovinare la password di root dalla rete.
 
Non consentire l'accesso root in remoto? [S/n] y 
 ... Successo!
 
Per impostazione predefinita, MariaDB viene fornito con un database chiamato 'test' che chiunque può
accesso. Anche questo è inteso solo per il test e dovrebbe essere rimosso
prima di entrare in un ambiente di produzione.
 
Rimuovere il database dei test e accedervi? [S/n] y 
 - Eliminazione del database dei test...
 ... Successo!
 - Rimozione dei privilegi sul database di prova...
 ... Successo!
 
Ricaricare le tabelle dei privilegi assicurerà che tutte le modifiche apportate finora
entrerà in vigore immediatamente.
 
Ricaricare ora le tabelle dei privilegi? [Sì/No]  
 ... Successo!
 
Pulizia...
 
Tutto fatto! Se hai completato tutti i passaggi precedenti, il tuo MariaDB
l'installazione ora dovrebbe essere sicura.
 
Grazie per aver utilizzato MariaDB!

Per testare la sicurezza di MariaDB, prova ad accedere al database dalla console senza password di root. L'accesso al database deve essere negato se non viene fornita alcuna password per l'account root. Se viene fornita la password, il processo di accesso deve essere concesso alla console MySQL, come mostrato nello screenshot seguente.

mysql -h localhost -u root
mysql -h localhost -u root –p

Quindi, accedi alla console del database MariaDB, crea un database da utilizzare per WebMail Lite e un utente con una password che verrà utilizzata per gestire questo database, eseguendo i seguenti comandi. Sostituisci il nome del database, l'utente e la password di WebMail Lite di conseguenza.

mysql –u root -p
crea database webmaillite;
concedi tutti i privilegi su webmaillite.* a 'webmail_user'@'localhost' identificato da 'webmail_pass';
privilegi di svuotamento;
exit

Per applicare tutte le modifiche apportate finora, riavvia i demoni MySQL e Apache e verifica se i demoni sono in esecuzione eseguendo i seguenti comandi.

systemctl riavvia mysql apache2
stato systemctl mysql apache2

Installa WebMail Lite

Dopo aver soddisfatto tutti i requisiti di sistema, visitare la pagina Web di WebMail Lite all'indirizzo https://afterlogic.org/download/webmail-lite-php e scaricare l'ultimo archivio compresso del pacchetto zip eseguendo l'utilità wget, come illustrato nell'esempio seguente.

wget https://afterlogic.org/download/webmail_php.zip

Al termine del download dell'archivio zip, estrai l'archivio compresso zip di WebMail Lite ed elenca i file estratti eseguendo i comandi seguenti. Inoltre, rimuovi il file index.html predefinito installato dal server web Apache nel percorso webroot ed elimina anche il file info.php creato in precedenza.

rm /var/www/html/index.html
rm /var/www/html/info.php
decomprimi webmail_php.zip
ls

Quindi, copia ricorsivamente i file estratti della webmail directory nel percorso webroot del tuo dominio eseguendo il comando seguente. Inoltre, puoi elencare il percorso webroot per vedere se tutti i file dalla directory webmail sono stati completamente trasferiti a webroot.

l webmail
cp -rf webmail/* /var/www/html/
ls -l /var/www/html/

Quindi, esegui i comandi seguenti per concedere all'utente di runtime Apache le autorizzazioni di scrittura complete per il percorso root web. Usa ls comando per elencare le autorizzazioni per i file di installazione di Prestashop che si trovano nella directory /var/www/html/.

chown -R www-data:www-data /var/www/html/
ls –al /var/www/html/

Procedi con il processo di installazione di WebMail Lite aprendo un browser e naviga l'indirizzo IP o il nome di dominio del tuo server tramite il protocollo HTTPS fino a /installa directory. Nella prima schermata di installazione, lo script del programma di installazione di WebMail Lite eseguirà una serie di controlli di sistema per determinare se tutte le estensioni ei moduli PHP richiesti sono installati sul tuo server e se l'utente apache dispone delle autorizzazioni di scrittura per i dati directory e al file di configurazione, come mostrato nell'immagine sottostante. Se tutti i requisiti del server sono stati soddisfatti, premi il pulsante Avanti per passare alla schermata di installazione successiva.

https://tuodominio.tld/install

Nella schermata di installazione successiva, leggi e accetta i termini del contratto di licenza e premi su Accetto pulsante per continuare, come illustrato nell'immagine sottostante.

Nella schermata di installazione successiva, scegli il tipo di database MySQL e specifica l'indirizzo host del database MySQL, il nome del database e le credenziali create in precedenza per l'accesso al database WebMail Lite. Verifica la connessione al database premendo su Test database e se la connessione al database MySQL ha esito positivo, seleziona Crea tabelle database in modo che il programma di installazione crei le tabelle richieste e premi il pulsante Avanti per passare alla schermata di installazione successiva.

Nella schermata di installazione successiva, fornisci una password complessa per mailadm utente e premere il pulsante successivo per continuare. Questo utente verrà utilizzato per gestire diversi aspetti di WebMail Lite tramite il pannello di amministrazione.

Ora verificheremo se la connessione a un server di posta funziona come previsto tramite i protocolli IMAP e SMP. A scopo dimostrativo, configureremo e testeremo la connessione ai servizi di posta forniti da Yahoo! Posta. È possibile modificare il dominio dei servizi di posta di conseguenza. Per testare la connessione SMTP di Yahoo! Server di posta, scrivi il seguente indirizzo nel campo host del server di posta elettronica, smtp.mail.yahoo.com , seleziona la casella di controllo SMTP e premi il pulsante di prova della connessione. Se la connessione a Yahoo! Il server SMTP è stato stabilito correttamente, un messaggio verde ti informerà che puoi inviare e-mail in uscita tramite SMTP da Yahoo! Posta.

Per verificare se le connessioni IMAP crittografate sono consentite per Yahoo! Server di posta, inserisci imap.mail.yahoo.com:993 nel campo Host del server di posta elettronica, selezionare la casella di controllo IMAP4 e premere il pulsante Test Connection. Se la connessione a Yahoo! Il server IMAP è stato stabilito correttamente, un messaggio verde ti informerà che puoi controllare e scaricare le e-mail in arrivo su IMAPS da Yahoo! Posta. Al termine, premi il pulsante successivo per passare all'ultimo passaggio dell'installazione.

Al termine del processo di installazione, il programma di installazione ti informerà che l'applicazione Web WebMail Lite è stata installata correttamente e che è necessario eliminare la directory di installazione dal Webroot del dominio. Premi il pulsante Esci per uscire dallo schermo e andare al pannello di amministrazione di WebMail Lite.

Passare al seguente indirizzo per accedere al Pannello di amministrazione di WebMail Lite. Sostituisci il nome di dominio o l'indirizzo IP di conseguenza.

https://tuodominio.tld/adminpanel

Accedi al pannello di amministrazione con mailadm il nome utente e la password impostati per questo utente durante il processo di installazione, come illustrato nella schermata seguente.

Per configurare i servizi di posta del tuo dominio per WebMail Lite, vai a Domini -> Impostazioni predefinite . A scopo dimostrativo, in questa guida, configureremo WebMail Lite per gestire le e-mail per un account Yahoo! Account di posta, ma sentiti libero di configurare il tuo dominio aggiungendo le impostazioni richieste.

Nel campo della posta in arrivo, aggiungi l'indirizzo IMAP di Yahoo! Server di posta:  imap.mail.yahoo.com e la porta 993 . Inoltre, seleziona Utilizza SSL casella di controllo per recuperare le email tramite una connessione protetta.

Nel campo della posta in uscita, aggiungi l'indirizzo SMTP di Yahoo! Server di posta:smtp.mail.yahoo.com e la porta 465. Inoltre, seleziona Utilizza SSL casella di controllo per inviare e-mail tramite una connessione protetta.

In Autenticazione SMTP, seleziona "Utilizza login/password dell'utente della posta in arrivo" per autenticarsi su Yahoo! Server SMTP di posta.

Infine, puoi anche avere le opzioni per aggiungere un nome al tuo sito, cambiare il tema dell'applicazione WebMail Lite e consentire agli utenti di accedere alle impostazioni dell'interfaccia. Inoltre, puoi modificare le impostazioni regionali dell'applicazione, come illustrato nella schermata seguente. Per salvare e applicare le impostazioni premi sul pulsante Salva.

Il pannello di amministrazione di WebMail Lite offre altre opzioni che possono essere utilizzate per modificare le impostazioni dell'applicazione, come abilitare la registrazione, modificare mailadm nome account e password o integrare l'interfaccia webmail con altri servizi esterni. Al termine della configurazione delle impostazioni personalizzate, premi sul pulsante Esci.

Per accedere all'applicazione WebMail Lite con Yahoo! Account di posta, accedi al tuo nome di dominio tramite il protocollo HTTP e fornisci il tuo account Yahoo! Credenziali di posta come mostrato nell'immagine sottostante. Le email del tuo Yahoo! l'account verrà elencato nell'interfaccia di WebMail Lite.

Per costringere i visitatori a navigare nell'interfaccia di WebMail Lite tramite il protocollo HTTPS e proteggere la directory di installazione e il file di versione, vai alla console del tuo server e crea un nuovo .htaccess file nel percorso radice del documento del server Web con il seguente contenuto.

nano /var/www/html/.htaccess

.htaccess estratto del file:


RewriteEngine su
RewriteCond %{HTTPS} !=on [NC]
RewriteRule ^(.*)$ https://%{HTTP_HOST}% {REQUEST_URI} [R=301,L]


RewriteEngine on
Options -Indexes
# restituisce un errore 403 vietato per la directory di installazione e la versione file
RewriteRule ^install/?$ - [F,L]
RewriteRule ^VERSION/?$ - [F,L]

Crea un nuovo .haccess nella directory di installazione con il contenuto seguente:

nano /var/www/html/install/.htaccess

.htaccess estratto del file:

RewriteEngine su
Opzioni -Indici
Richiedi tutti negati

È tutto! Hai installato e configurato correttamente WebMail Lite in Debian 9.1. Tuttavia, poiché il tuo server HTTP Apache utilizza certificati autofirmati per crittografare il traffico tra il server e i browser dei visitatori, verrà sempre generato e visualizzato un messaggio di avviso nel browser. In questo caso, dovresti acquistare un certificato emesso da un'autorità di certificazione affidabile o ottenere una coppia di certificati gratuita da Let's Encrypt CA. Per altre configurazioni personalizzate relative a WebMail Lite, visitare la pagina della documentazione al seguente indirizzo:https://afterlogic.com/docs/webmail-lite


Debian
  1. Come installare PHP 8.0 su Debian 11

  2. Come installare PHP 8.0 su Debian 10 / Debian 9

  3. Come installare PHP su Debian 11

  4. Come installare RoundCube Webmail su Debian 9

  5. Come installare RainLoop Webmail su Debian 9

Come installare PyroCMS basato su Laravel su Debian 9

Come installare il server LAMP su Debian 9

Passaggi per installare PHP 8 su Debian Server 10 | 9

Come installare ImageMagick e il suo modulo PHP su Debian 11 Server

Installa il client Nextcloud su Debian 11 Bullseye Linux

Come installare server e client Telnet su Debian 11 Bullseye Linux