Introduzione
Tutti i grandi siti web hanno un buon server dietro di loro. In questo tutorial, vi mostrerò come configurare un server web dedicato (con Apache, MySQL e PHP), usando anche un vecchio computer che avete in casa.
Una rapida panoramica
Vediamo cosa andremo ad installare:
- Il sistema operativo Ubuntu Server.
- un server OpenSSH, che vi permetterà di amministrare il server da remoto.
- una LAMP (Apache, MySQL e PHP) che costituirà la spina dorsale del webserver
- un firewall per proteggere il server da accessi non autorizzati.
Per seguire questa esercitazione, abbiamo bisogno di:
- Un computer da usare come server che non ha bisogno di essere particolarmente potente. Non effettuate questa operazione sul vostro PC desktop! Utilizzate un PC da utilizzare come cavia!
- Un masterizzatore CD e un CD vuoto, ci serviranno per masterizzare Ubuntu Server su un disco per l’installazione.
Scaricare Ubuntu Server
Scarichiamo Ubuntu Server dal sito ufficiale http://www.ubuntu.com/.
Vi verranno presentate due schede: “Desktop Edition” e “Server Edition”. Clicca su “Server Edition” e seleziona“Ubuntu 8.04 LTS”.
Dopo il download occorrerà masterizzare la ISO (il file che avete scaricato) su di un CD vuoto.
Installare Ubuntu Server
Ora che avete scaricato e masterizzato ISO, procediamo con la installazione di Ubuntu Server sul vostro
PC (ovvero sul vostro futuro server!). Inserire il disco nel drive, e fare il boot dal CD (nella maggior parte dei
moderni computer, ciò avverrà in modo predefinito).
Siete ancora con me? Bene!
Avviando il PC con il CD di installazione di Ubuntu Server, si dovrebbe vedere la seguente schermata:
Selezionate la tua lingua, e premete Invio.
Vedrete questa schermata:
Selezionate “Installazione di Ubuntu Server”, e procedete per il completamento della installazione!
Vi chiederà un nome host, impostate semplicemente “web-server”.
Quando il sistema chiederà di partizionare il disco selezionate la modalità: “Guidata - usare tutto il disco”.
Il sistema procederà con la formattazione dell’unità e con la creazione delle partizioni.
Potete tranquillamente rilassarvi e andare a prendere una tazza di caffè, questa operazione può richiedere da 10 minuti a un’ora (dipende molto dal sistema che state utilizzando).
Ora che il sistema è stato installato, è necessario impostare l’account che si utilizzerà per effettuare il login. In primo luogo, dare il tuo nome completo e poi il vostro “nome utente”. Ti verrà richiesto di fornire una password, per motivi di sicurezza NON utilizzare una password di lunghezza inferiore a 7 caratteri.
Il sistema ora tenterà di configurare il “Package Manager”
Qui occorre impostare il tuo proxy, o lasciare vuoto se non si utilizza un proxy, selezionare “Continua”.
Si attiverà il sistema di scansione alla ricerca di aggiornamenti e impostazioni di configurazione.
Dopo che ha completato, verrà richiesto, con varie opzioni, di installare il software server. Ora, ascoltare molto attentamente. Selezionare server OpenSSH, e premere SPAZIO, NON INVIO. Se si preme Invio, l’installazione procederà senza installare il server OpenSSH.
Il sistema installerà quindi il software selezionato, così come altri componenti del sistema.
Quando l’installazione sarà terminata, rimuovere il CD, e premere Invio. Il computer si riavvia automaticamente. Se tutto va bene, vi verrà presentata con una schermata che è simile al seguente:
Congratulazioni! Avete appena finito la parte più difficile.
Ubuntu è ora installato, ed è giunto il momento di trasformare il computer in un server web!!!!
Aggiorna il tuo nuovo server
Prima di andare oltre, abbiamo bisogno di assicurarsi che il proprio server sia up-to-date. Per effettuare questa operazione, è necessario effettuare il login con il tuo nome utente (quello che hai scelto in precedenza), premere INVIO, quindi digitare la password. Digitando la pwd vi sembrerà che non accade nulla, non preoccupatevi è tutto normale.
Dopo il login il vostro schermo dovrebbe essere simile a quello qui sotto:
Ora, scrivi:
sudo aptitude update & & sudo apt-get dist-upgrade
Questo comando vi chiederà la password, e ancora una volta, con la digitazione non vedrai nulla. Dopo aver digitato la password, vi chiederà se si desiderate continuare, rispondete “y” e premete invio. Lo schermo sarà simile al seguente:
Il sistema scaricherà e installerà tutti gli aggiornamenti più recenti. Questo richiederà un po ‘di tempo a seconda della tua connessione Internet.
Dopo che avete finito, il computer dovrà essere riavviato. Per effettuare questa operazione, digitare:
sudo shutdown-r now
Lasciare riavviare il computer, al riavvio il server sarà completamente aggiornato.
Installare Apache, MySQL e PHP
È giunto ora il momento di installare alcuni programmi. Installeremo un server web (Apache), un server di database (MySQL) e un interprete di linguaggio server-side (PHP), in modo che possiamo eseguire applicazioni popolari come WordPress e/o Joomla.
Per effettuare questa operazione, digitare il seguente comando:
sudo aptitude install apache2 php5-mysql libapache2 mod-php5-mysql-server
Premere Invio, Aptitude si preoccuperà di scaricare e installare i programmi che hai specificato. Consente inoltre di scaricare e installare eventuali dipendenze.
Durante il processo di installazione, MySQL ti chiederà di una password di root.
A installazione ultimata, avrete un server web di lavoro. Per testare se si vede dall’esterno, in primo luogo individuate il vostro IP del server digitando:
ifconfig | grep inet
Di solito è il primo IP restituito. Ora che conoscete l’IP, aprite il browser web e digitatelo.
Se si vede il messaggio “It works!” congratulazioni!!
Eseguiamo ora il backup del file originale di configurazione di Apache:
sudo cp / etc/apache2/apache2.conf / etc/apache2/apache2.conf.bak
Ora aprite il file di configurazione:
sudo nano / etc/apache2/apache2.conf
Scorrere verso il basso (freccia giù) fino alla dicitura “ServerTokens full” e modificatela con “ServerTokens Prod”.
Ora, scorrete verso il basso e modificate “ServerSignature On” in “ServerSignature Off”
Infine, premete Control-O seguito da Control-X..
Ora, dobbiamo fare la stessa cosa per PHP. In primo luogo, il backup originale del file di configurazione di PHP:
sudo cp / etc/php5/apache2/php.ini / etc/php5/apache2/php.ini.bak
Aprite il file di configurazione:
sudo nano / etc/php5/apache2/php.ini
Cambiate “expose_php = On” con “expose_php = Off”
Anche in questo caso, premere Control-O seguito da Control-X.
Ora che i file di configurazione sono aggiornati, riavviare Apache:
sudo / etc/init.d/apache2 restart
Bene! Abbiamo utimato l’installazione della LAMP (Apache, MySQL e PHP).
Installare un Firewall
Procediamo con la protezione del nostro server con l’nstallazione di Shorewall.
Per installarlo:
sudo aptitude install shorewall
Per impostazione predefinita, Shorewall è installato senza regole, che consente un accesso completo. Tuttavia, questo non è il comportamento che vogliamo.
Invece, dobbiamo bloccare tutte le connessioni di qualsiasi natura diversa dalla porta 80 (HTTP) e la porta 22 (SSH).
In primo luogo, copiare il file di configurazione per il Shorewall directory:
sudo cp / usr / share / doc / shorewall-common / esempi / uno-interfaccia / * / etc / shorewall /
Ora, aprire il file delle “regole”:
sudo nano / etc / shorewall / regole
Aggiungere queste righe di cui sotto, in corrispondenza di “#LAST LINE”
HTTP/ACCEPT net $FW
SSH/ACCEPT net $FW
Poi premere Control-O e controllo-X. Il vostro firewall, è ora configurato per accettare solo traffico HTTP e SSH.
L’ultima cosa che dobbiamo fare è dire che Shorewall deve essere avviato al boot.
Quindi, aprire il file principale di configurazione di Shorewall:
sudo nano / etc / shorewall / shorewall.conf
Scorri fino a “STARTUP_ENABLED = No” e impostarlo a “STARTUP_ENABLED =Yes”
Premere Control-O e controllo-X.
Ora, aprire il file di configurazione di default di Shorewall:
sudo nano / etc / default / shorewall
e modificare “startup=0″ con “startup=1″.
Premere Control-O e controllo-X.
Infine, avviare il firewall:
sudo / etc / init.d / shorewall start
Congratulazioni! Il vostro firewall, è ora pronto per proteggere il vostro server.
Aggiungi il tuo sito web al server Web
Per impostazione predefinita, tutti i file che Apache serve ad internet si trovano in “/var/www/”.
Tuttavia, non è possibile scrivere in questa cartella. Facciamo in modo che ciò sia possibile:
sudo usermod -g www-data [YOUR USERNAME]sudo chown -R www-data:www-data /var/wwwsudo chmod -R 775 /var/www
E’ successo che è stato aggiunto il tuo utente al gruppo “www-data” e abbiamo reso scrivibile la cartella dei siti web a tutti i membri del gruppo “www-data”.
Ora, accediamo al tuo server utilizzando SFTP (da non confondere con FTPS).
Un client che supporta STP è FileZilla (Windows, Linux, OS X, Free).
Effettuiamo la connessione al server utilizzando il tuo nome utente e la password, e, se il client lo supporta, un percorso predefinito di “/ var / www”.
È ora possibile aggiungere i tuoi files in questa cartella (/ var / www) che verranno visualizzati sul tuo server sfogliando con il browser.
Ora, ci si può chiedere perché stiamo usando SFTP invece di FTP. Soprattutto, perché SFTP è già costruito in OpenSSH (che è stato installato in precedenza). Tuttavia, è anche molto più sicuro di FTP, e rende difficile (se non impossibile) a utenti malintenzionati di accedere alle tue credenziali di accesso.
Rendere accessibile il server a Internet
Ci sono due modi per aprire il tuo server fino a Internet: una DMZ o Port Forwarding.
La principale differenza è con una DMZ, il server utilizza come protezione il firewall installato in precedenza, mentre con il Port Forwarding, il server sarà protetto dal firewall del router.
Procediamo con l’assegnazione di un indirizzo IP statico LAN al vostro server.Per farlo, effettua il login al router, e cercare qualcosa sulla falsariga di “IP statico” o “routing statico”.
Per aprire il tuo server con Port Foward, vi è un eccellente sito web , PortForward.com, che, anche se
brutto, può aiutarvi per quasi tutti i router.
Per creare una DMZ, è necessario accedere al tuo router e cercare qualcosa di simile “DMZ Settings”. Una volta trovate, aggiungere il vostro server per la DMZ.
Ora, trova il tuo indirizzo IP pubblico, at voila! È possibile accedere al vostro server da qualsiasi luogo fintanto che il vostro IP non cambia.
Nessun commento:
Posta un commento