Predisposizione ambiente per ISP con debian wheezy

Da Guide@Debianizzati.Org.
Vai alla navigazione Vai alla ricerca
Trash 01.png Attenzione. Questa guida è stata proposta per la cancellazione in quanto contenente materiale potenzialmente dannoso, inutile o fuorviante.
Motivo: Abbandonata, non completa, e la parte trattata è duplicato di Internet_Service_Provider_con_Debian


Internet Service Provider con Debian Wheezy

Prerequisiti

Server email

Sconfiggere lo SPAM

Integrazione con altro software



Warning.png ATTENZIONE
La mancanza di alcuni prerequisiti richiesti può inefficiare il risultato finale.


Si consideri di partire con un'installazione minimale di Debian effettuata da CD netinstall. Il server dovrà possedere un indirizzo IP pubblico e un FQDN (vedi Wikipedia).
Si configuri il file /etc/apt/sources.list in modo che contenga solo i repository ufficiali (vedi guide sul wiki) e si aggiorni il server con le ultime patch:

# apt-get update
# apt-get upgrade

Può essere utile impostare anche un server NTP esterno per sincronizzare l'ora del nostro server con un'autorità nazionale: Impostare e modificare data e ora.
Poichè il server andrà quasi sicuramente gestito da remoto occorrerà installare e configurare anche l'accesso SSH con autenticazione via chiave:
Per prosegure nella guida è necessario:

  • sistema Debian Wheezy
  • installazione software LAMP
  • server FTP
  • corretta configurazione del DNS

Segue un dettaglio delle varie componenti.

Predisposizione ambiente

Installazione ambiente LAMP

Un ambiente LAMP è un acronimo per indicare un ambiente composto da Linux + Apache + MySQL + PHP. Per l'installazione e la configurazione di un ambiente LAMP si segua la guida omonima presente sul wiki: Installare un ambiente LAMP: Linux, Apache2, SSL, MySQL, PHP5.
Nota: il resto della guida sarà basato sulla precedente configurazione, si consiglia quindi di annotare le eventuali modifiche apportate.

Installazione Virtual Host di Apache

Arrivati a questo punto ci troviamo con un server web perfettamente funzionante, ma che ancora non sa come gestire i diversi domini che andranno ospitati sul server.
Per configurare Apache con il supporto ai Virtual Hosts si segua la guida sul wiki: Apache e Virtual Hosts: configurare Apache2 per ospitare più siti web.
Nota: il resto della guida sarà basato sulla precedente configurazione, si consiglia quindi di annotare le eventuali modifiche apportate.

Protezione del web server Apache

Poichè il nostro server sarà esposto al web 24 ore al giorno dovremo premunirci installando alcune protezioni. Un buono spunto per incominciare può essere la guida: Hardening di un web server Apache.
Potrebbe essere una buona idea implementare anche alcuni sistemi di monitoraggio, ad esempio quelli trattati nelle guide seguenti:
Fail2ban
Impedire attacchi SSH brute-force con Denyhosts

Configurazione dei record DNS

Per fare in modo che i PC connessi a internet possano sapere che tutti i siti configurati sono ospitati su un server che risponde a un solo indirizzo IP pubblico (che supponiamo sia 1.2.3.4) è necessario configurare i record DNS di ogni dominio in questo modo:

www => 1.2.3.4 A
ftp => 1.2.3.4 A
@   => 1.2.3.4 A
mail => 1.2.3.4 MXE

Con questa configurazione attiveremo quindi tre sottodomini, uno per il web (www), uno per l'FTP (ftp) e uno per il mailserver del dominio (mail).

Installazione FTP server

L'installazione di un server FTP con utenti virtuali permetterà ad ogni proprietario di un dominio ospitato sul nostro server di accedere via FTP allo spazio web a sua disposizione, senza poter navigare all'interno del filesystem del server e all'interno degli spazi web riservati agli altri domini. Per l'installazione di un server FTP con utenti virtuali si segua la guida: Installare un server FTP con utenti virtuali su MySQL oppure Installare un server vsFTPd con utenti virtuali su MySQL.