Unnikked - Esperienze personali in campo informatico

Come configurare un ambiente LAMP

Eccoci qui in un’altro articolo sui VPS, questa volta però tratteremo una modalità di uso comune per un Virtual Private Server, ovvero per creare un sito web. Per fare ciò configureremo il così detto ambiente LAMP (Linux – Apache – MySQL – PHP) più un servizio FTP per permettere lo sviluppo/caricamento dei file più efficiente.

Apache

Il primo strumento da installare è sicuramente il server Apache.

Apache HTTP Server, o più comunemente Apache, è il nome dato alla piattaforma server Web modulare più diffusa (ma anche al gruppo di lavoro open source che ha creato, sviluppato e aggiornato il software server), in grado di operare da sistemi operativi UNIX/Linux e Microsoft.

Apache è un software che realizza le funzioni di trasporto delle informazioni, di internetwork e di collegamento, ha il vantaggio di offrire anche funzioni di controllo per la sicurezza come quelli che compie il proxy.

Prima di installare Apache consiglio di creare un nuovo account per gestire il lato “web server“, e per aggiungere un nuovo utente basta digitare nella console del vostro VPS

adduser nomeutente

dove nomeutente sta per un nome scelto da voi, per esempio: adduser unnikked, scegliete una password e premete invio; vi verrà chiesto di compilare una serie di voci per le informazioni dell’account (non è obbligatorio), che potrete saltarle premendo il tasto invio.

Prima di rieffettuare l’accesso al server con le credenziali appena create, dobbiamo configurare il comando sudo. Questo comando permette ad account diversi da* root* di potersi autenticare per un periodo limitato di tempo assumendo gli stessi privilegi del “superuser“. Apriamo il file sudoers.tmp con

visudo

oppure

vim /etc/sudoers

una volta aperto il file aggiungiamo sotto la linea

#User privilege specification 
root ALL=(ALL:ALL)ALL

questa istruzione

nomeutente ALL=(ALL:ALL)ALL

dove nomeutente è il nome scelto precedentemente. Salviamo il file ed usciamo dall’editor di testo.

Ora possiamo disconnetterci dal server e ricollegarci con il nomeutente appena creato e configurato.

ssh nomeutente@ipserver (o nomedominio.abc)

Una volta autenticati con nomeutente possiamo installare Apache:

sudo apt-get update
sudo apt-get install apache2

inseriamo la password scelta per nomeutente e confermiamo. Al termine dell’installazione il web server Apache viene avviato automaticamente: per verificare che funzioni apriamo una pagina web e digitiamo l’indirizzo ip della macchina (o il nome dominio). Se tutto è andato a buon fine vi apparirà il seguente messaggio.


Su linux possiamo gestire i servizi con il comando service.

service nome_servizio comando

dove nome_servizio sta per il nome del servizio da gestire, per esempio apache2, e comando sta per il comando da eseguire, per esempio start, stop, restart.


My-SQL

Una volta installato Apache è la volta di installare il server My-SQL.

MySQL è un Relational database management system (RDBMS), composto da un client con interfaccia a riga di comando e un server, entrambi disponibili sia per sistemi Unix o Unix-like come GNU/Linux che per Windows, anche se prevale un suo utilizzo in ambito Unix.

E’ particolarmente utile per gestire i dati prodotti dai siti web. Installiamo My-SQL e alcune librerie utili per il suo corretto funzionamento:

sudo apt-get install mysql-server php5-mysql libapache2-mod-auth-mysql

ci si presenterà una schermata simile che ci invita a scegliere la password per l’utente* root* di mysql.

 

Installiamo un* database* di prova con

sudo mysql_install_db

Ora, My-SQLè pronto per essere utilizzato, ma non è adatto per un ambiente produttivo. Per cui eseguiamo il comando

sudo /usr/bin/mysql_secure_installation

per iniziare il processo di messa in sicurezza dell’ambiente My-SQL.

Ci verrà chiesto la password dell’utente* root* My-SQL precedentemente scelta, compariranno in serie le seguenti domande

  • You already have a root password set, so you can safely answer ‘n’.  Rispondiamo con N se non la si vuole cambiare.
  • By default, a MySQL installation has an anonymous user, allowing anyone to log into MySQL without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment. Digitiamo Y
  • Normally, root should only be allowed to connect from ‘localhost’. This ensures that someone cannot guess at the root password from the network. Digitiamo Y
  • By default, MySQL comes with a database named ‘test’ that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment. Digitiamo Y
  • Reloading the privilege tables will ensure that all changes made so far will take effect immediately. Digitiamo Y

Possiamo ora collegarci all’ interfaccia a linea di comando di My-SQL con questo comando

sudo mysql -u root -p

(L’uso dell’interfaccia a linea di comando di My-SQLnon viene trattato in questo articolo).

PHP

Installiamo, infine, PHP

PHP (acronimo ricorsivo di “PHP: Hypertext Preprocessor”, preprocessore di ipertesti; originariamente acronimo di “Personal Home Page”) è un linguaggio di programmazione interpretato, originariamente concepito per la programmazione Web ovvero la realizzazione di pagine web dinamiche.

lanciamo questo comando

sudo apt-get install php5 libapache2-mod-php5 php5-mcrypt

Un’alternativa all’interfaccia di comando di My-SQL è phpMyAdmin, un software scritto in PHP che permette di gestire i database e le tabelle direttamente dal browser.

Per installarlo digitiamo il seguente comando:

sudo apt-get install phpmyadmin

scegliamo di configurarlo con apache2, selezioniamo con spazio e confermiamo invio. Alla richiesta Configuration phpmyadmin confermiamo su yes e scegliamo una password per l’account amministrativo di phpmyadmin.


Abbiamo appena installato un ambiente LAMP completo e produttivo, nel prossimo articolo vedremo come installare un server FTP per interagire con lo spazio web facilmente.