Disclaimer per i contenuti del Blog


DISCLAIMER:Questo blog non rappresenta una testata giornalistica in quanto viene aggiornato senza alcuna periodicità . Non può pertanto considerarsi un prodotto editoriale ai sensi della legge n° 62 del 7.03.2001.
L'autore non è responsabile per quanto pubblicato dai lettori nei commenti ad ogni post. Verranno cancellati i commenti ritenuti offensivi o lesivi dell’immagine o dell’onorabilità di terzi, di genere spam, razzisti o che contengano dati personali non conformi al rispetto delle norme sulla Privacy. Alcuni testi o immagini inserite in questo blog sono tratte da internet e, pertanto, considerate di pubblico dominio; qualora la loro pubblicazione violasse eventuali diritti d'autore, vogliate comunicarlo via email. Saranno immediatamente rimossi. L'autore del blog non è responsabile dei siti collegati tramite link, del loro contenuto che può essere soggetto a variazioni nel tempo ne degli eventuali danni derivanti dall'utilizzo proprio od improprio delle informazioni presenti nei post.

sabato 21 settembre 2013

Un server LAMP per il test di applicazioni Web - 3

Nella seconda parte di questa serie di post eravamo riusciti a far partire il nostro server CentOS. L'argomento di questo post sarà relativo alla configurazione dei servizi di networking ed all'aggiornamento del software di sistema.

Nel prossimo ed ultimo post ci occuperemo dell'installazione e configurazione dei tre servizi che ci necessitano per poter avere un server web di test:
  • Apache (il server che si occuperà di gestire le richieste http)
  • MySQL (il server che si occuperà di gestire i database)
  • Vsftp (il server che ci permetterà di pubblicare in test i nostri programmi tramite il protocollo FTP)
Oltre a questi tre moduli andremo ad installare anche il PHP, i moduli che utilizza per interfacciarsi con Apache e MySQL, altri moduli per la gestione della grafica e delle stringhe multi-byte ed un modulo dedicato alla gestione dei database chiamato phpMyAdmin che utilizzeremo per creare e manutenere database e tabelle utilizzando il nostro browser preferito.

Il primo passo da fare è configurare la rete così da poter utilizzare internet per scaricare gli aggiornamenti ed i moduli di cui necessitiamo. Per un motivo a me sconosciuto la versione minimal di CentOS non prevede l'interfaccia di rete operativa all'avvio del sistema. Utilizzando il comando

      ifconfig    (fig.1)

vediamo infatti che l'unica interfaccia di rete presente è quella di loopback.

Fig.1
Per attivare l'interfaccia eth0 utilizziamo il comando

      ifup eth0    (fig.2)

quindi utilizziamo nuovamente ifconfig per verificare che l'interfaccia eth0 sia ora attiva. Bisogna far presente che questo è valido se il router al quale siamo collegati dispone di un server DHCP che fornisce automaticamente gli indirizzi ai computer collegati.

Fig.2
Dal momento che il mio sadismo ha un limite, andiamo ad installare un editor di testo notevolmente più user-friendly di VI (l'editor di base integrato nelle distribuzioni Linux). L'editor in questione si chiama NANO e lo installiamo dal repository di CentOS utilizzando il comando yum

      yum install nano    (fig.3, 4 e 5)

Fig.3
Fig.4
Fig.5
Il protocollo DHCP è una gran bella invenzione ma dal momento che nella configurazione base non garantisce che il computer che lo utilizza riceva sempre lo stesso indirizzo, per facilitare il compito di individuare rapidamente in rete il nostro server Web, andiamo a configurare manualmente il suo indirizzo IP. Ho preferito questa soluzione in quanto le altre prevedono modifiche alle impostazioni del router (es. modifica della tabella abbinamento MAC Address -> IP) e questo è al di la del nostro obiettivo. Ora che abbiamo NANO andiamo a modificare il file di configurazione di eth0; il comando è:

      nano /etc/sysconfig/network-scripts/ifcfg-eth0.

Fig.6
In fig.6 abbiamo il file di configurazione di eth0 di default; le ultime tre righe dovranno essere modificate ed altre aggiunte (fig.7)

Fig.7
Le modifiche alle righe esistenti sono:
  • ONBOOT=yes per attivare l'interfaccia eth0 all'avvio del sistema
  • NM_CONTROLLED=no dal momento che non useremo il modulo NetworkManager
  • BOOTPROTO=none dal momento che ignoreremo il DHCP del router

Le impostazioni da aggiungere sono:
  • IPADDR=<indirizzo-ip-del-computer> (deve ovviamente essere un indirizzo non utilizzato nella rete e possibilmente al di fuori del pool di indirizzi gestiti dal server DHCP del router)
  • NETMASK=<net-mask-utilizzata-nella-lan> (normalmente 255.255.255.0)
  • DNS=<indirizzo-dns-server> (spesso è l'indirizzo del router qualora sia in grado di fornire tale dato, altrimenti si può usare quello fornito dal proprio fornitore di connettività, quello di Google 8.8.8.8 o uno di quelli forniti da OpenDNS)
  • GATEWAY=<indirizzo-ip-del-router>
In caso di dubbi possiamo aprire il prompt dei comandi di un PC con sistema operativo Windows connesso alla rete e dare il comando:

      ipconfig /all


Fig.8

e in relazione alla risposta (fig.8) possiamo desumere la maggior parte dei parametri richiesti. Salviamo il file modificato con CTRL+O, usciamo con CTRL+X e riavviamo il server con il comando

      shutdown -r now    (per tutti i successivi riavvii dovremo usare questo comando).

Fig.9

A questo punto dopo aver fatto login dovremmo avere la rete attiva e correttamente configurata (fig.9).
Prima di proseguire con l'installazione dei servizi e dei moduli che ci necessitano è bene aggiornare tutto il software installato con le ultime versioni disponibili sul repository di CentOS. Il comando per eseguire un aggiornamento globale è

      yum update    (fig.10 e 11)

Fig.10
Fig.11

seguito da un restart del sistema. Il software è ora aggiornato.

L'ultimo passo riguarda l'apertura delle porte che verranno utilizzate per accedere ai servizi di rete: la configurazione del firewall.

Per fortuna CentOS mette a disposizione dell'utente un comodo modulo utilizzabile in modalità testo per la configurazione basica del firewall evitandoci la configurazione manuale dello stesso visto che è abbastanza noiosa. Per installare tale modulo utilizziamo sempre yum e con l'occasione installiamo anche il tool per la configurazione guidata della rete (potrebbe esserci comodo per future evoluzioni):

    yum install system-config-firewall-tui.noarch system-config-network-tui.noarch

Fig.12

Terminata l'installazione lanciamo il tool di configurazione con

    system-config-firewall-tui

Fig.13
Una volta avviato selezioniamo Personalizza...

Fig.14

...lasciamo FTP selezionato e scorriamo la lista fino a trovare la riga relativa al server HTTP...

Fig.15

...posizioniamoci sopra tale riga e premiamo la barra spaziatrice per selezionarla quindi spostiamoci con il tasto di tabulazione sul pulsante Chiudi confermando con la barra spaziatrice...

Fig.16

...e allo stesso modo selezioniamo SI sul pannello successivo. Il firewall è ora correttamente configurato per i nostri scopi.

2 commenti:

  1. Interessante...
    A quando il prossimo post? Sono interessato alla configurazione di VSFTP...

    Luca

    RispondiElimina
    Risposte
    1. Ciao Luca,
      Tra oggi e domani dovrei essere in grado di mettere in linea l'ultimo post, quello di chiusura.

      Paolo

      Elimina