ISPConfig è un software open source che permette di gestire molte delle impostazioni e configurazioni del server, mediante un apposito pannello di controllo e amministrazione della macchina. Nella lezione precedente abbiamo visto come creare l’ambiente necessario per l’istallazione di ISPConfig, che richiede principalmente i seguenti componenti: il Web server Nginx, il database MySQL ed alcune librerie PHP. A questo punto siamo pronti per procedere con un’istallazione minimale di ISPConfig, contenente solamente lo stretto necessario per avviare il pannello di amministrazione di ISPConfig.
Nella realtà probabilmente avremmo bisogno anche di altri strumenti, come ad esempio un server FTP. Prima di procedere con l’istallazione vera e propria di ISPConfig vediamo quindi come preparare il terreno in modo da poter successivamente configurare anche il servizio FTP.
Nota all’installazione
Molti dei comandi di shell chiedono la conferma prima di proseguire con l’installazione. Se non precisato diversamente, daremo per sottinteso che occorre sempre rispondere s (sì) quando ci viene chiesto “Continuare? [S/n]”.
Installazione del server FTP
Digitiamo il comando
1 | apt-get install pure-ftpd-common pure-ftpd-mysql |
dopodiché editiamo il seguente file
1 | vi /etc/default/pure-ftpd-common |
e verifichiamo le seguenti configurazioni
1 2 | STANDALONE_OR_INETD=standalone VIRTUALCHROOT=true |
prima di proseguire dobbiamo verificare che il file inetd.conf non contenga alcun riferimento al servizio FTP. Oe invece la parola “FTP” compare all’interno di questo file, controlliamo che le righe relative al servizio FTP siano commentate
1 2 | cat /etc/inetd.conf | grep -i ftp |
se abbiamo modificato il file inetd.conf dovremo riavviare il servizio
1 2 | /etc/init.d/openbsd-inetd restart |
Visto che vogliamo abilitare il servizio FTP è utile associarlo alla connessione TLS, allo scopo di aumentare la sicurezza delle sessioni, digitando i seguenti comandi
1 2 | echo 1 > /etc/pure-ftpd/conf/TLS mkdir -p /etc/ssl/private/ |
infine eseguiamo il seguente comando, facendo attenzione a scrivere tutte le istruzioni sulla stessa riga
1 2 | openssl req -x509 -nodes -days 7300 -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem |
Compilando i campi che ci vengono chiesti, ad esempio
Installazione di ISPConfig
Per installare ISPConfig spostiamoci in una directory di lavoro provvisoria, ad esempio tmp. Prima di iniziare l’istallazione assicuriamoci di fermare Apache e avviare Nginx.
1 2 3 | /etc/init.d/apache2 stop insserv -r apache2 /etc/init.d/nginx start |
In alternativa, se crediamo che Nginx sia già avviato, possiamo riavviarlo usando l’istruzione
1 2 | /etc/init.d/nginx restart |
Dopodiché scarichiamo ISPConfig, usando un’istruzione come questa
1 2 | wget http://downloads.sourceforge.net/ispconfig/ISPConfig-3.0.1.tar.gz |
Ovviamente l’istruzione qui sopra fa riferimento alla versione 3.0.1 di ISPConfig. Siccome vogliamo scaricare l’ultima versione dobbiamo modificare il comando, andando a guardare sul sito di SourceForge.
In questo caso l’ultima versione disponibile è la 3.0.4.6, per cui modifichiamo il comando come segue
1 | wget http://downloads.sourceforge.net/ispconfig/ISPConfig-3.0.4.6.tar.gz |
Per “unzippare” il file usiamo il comando tar, specificando il nome del file scaricato, ad esempio
1 2 | tar xvfz ISPConfig-3.0.4.6.tar.gz |
infine ci spostiamo nella cartella di installazione, ovvero
1 2 | cd ispconfig3_install/install/ |
A questo punto siamo pronti per procedere con l’istallazione vera e propria.
1 2 | php -q install.php |
Il wizard di installazione ci chiederà di inserire alcuni parametri. Rispondiamo a tutte le domande semplicemente premendo Enter (tasto invio), senza inserire alcun carattere, tranne quando ci viene chiesta la password di connessione al database MySQL. In questo caso dobbiamo inserire la password dell’utente root (quella che abbiamo scelto al momento di installare MySQL).
Ci verrà anche chiesto quale Web server usare: chiaramente dovremo indicare Nginx:
Apache and nginx detected. Select server to use for ISPConfig: (apache,nginx) [apache]: nginx
Infine rispondiamo no alla domanda :
Do you want a secure (SSL) connection to the ISPConfig web interface (y,n) [y]: n
Questo per evitare che sia necessario un certificato per collegarsi al pannello di amministrazione. Eventualmente, se vogliamo abilitare la connessione SSL possiamo farlo in un secondo tempo. Al termine dell’istallazione il widget creerà un nuovo database MySQL, che dovrebbe chiamarsi dbispconfig.
Configurazione di ISPConfig
Dopo aver installato ISPConfig potremmo collegarci al pannello di amministrazione specificando un URL come questo
http://89.31.77.145:8080
Al primo collegamento useremo il login e la password admin
La prima cosa da fare, appena autenticati, è quella di cambiare la password di default (cioè admin). Per farlo ci spostiamo nel pannello strumenti (tools) e inseriamo la nuova password, come mostrato in figura
A questo punto ISPConfig è pronto. Possiamo aprire la sezione Monitor per controllare che tutti i servizi siano attivi. Siccome non abbiamo installato i servizi di posta elettronica, dovremmo trovare una schermata come questa
Nelle prossime lezioni vedremo come configurare il cloud server in modo avanzato, abilitando anche questi servizi.
Trouble Shooting
Se dobbiamo ripetere l’installazione di ISPConfig è necessario disinstallare il programma. Per farlo eseguiamo l’istruzione
1 2 | php uninstall.php |
Se invece l’istallazione è stata interrotta in modo imprevisto, oppure non è andata a buon fine, potrebbe essere necessario ripulire il database. Per capire se il database è rimasto in uno stato “sporco” ci colleghiamo al database
1 2 | mysql -u root -p |
Inserendo la password, dopodiché eseguiamo le seguenti istruzioni
1 2 3 | show databases; use dbispconfig; show tables; |
se ci sono tabelle, rimuoviamo il database usando il comando. Sottolineiamo il fatto che quest’operazione va compiuta soltanto se l’istallazione di ISPConfig non è andata a buon fine.
1 2 | mysqladmin -uroot -p[password] drop dbispconfig |
Dopo aver ripulito il database possiamo ripetere di nuovo l’installazione di ISPConfig.
Per ogni altra evenienza possiamo guardare il file di log di ISPConfig:
1 2 | cd /var/log/nginx tail -f error.log |
Che dovrebbe contenere errori specifici relativi al nostro problema.
Conclusioni
La procedura vista in queste due lezioni permette di installare una versione minimale di ISPConfig. Per utilizzare ISPConfig in un ambiente di produzione molto probabilmente avremo bisogno di installare altri pacchetti e librerie. Abbiamo scelto di mostrare prima le modalità di installazione minima per consentire agli utenti meno esperti di mettere in piedi il più velocemente possibile un’istanza di ISPConfig, riducendo così le possibilità di errore. Nelle prossime lezioni vedremo come configurare ISPConfig in modo avanzato.