venerdì 9 gennaio 2015 di Michele Nasi 17905 Letture

Come configurare server cloud Aruba

Il cloud altro non è che l'evoluzione del tradizionale "hosting". Grazie all'approccio cloud, chiunque ha la possibilità di creare un server Linux o Windows in pochi minuti, senza preoccuparsi della configurazione hardware e degli aspetti legati alla connettività.

La creazione di un server cloud si concretizza appoggiandosi ad una serie di soluzioni per la virtualizzazione utilizzate dal provider (generalmente Microsoft Hyper-V e VmWare vSphere). Anziché installare e configurare un server dedicato, il server cloud viene creato servendosi delle risorse disponibili su una batteria di server (cluster) "ad hoc".

I server cloud, quindi, non sono vere e proprie macchine "reali" bensì server virtuali ai quali vengono destinate specifiche risorse, a seconda delle richieste e delle esigenze dell'utente. "Agli occhi" del sistema operativo installato sul server cloud, la macchina virtuale apparirà esattamente come un sistema "reale", dotato di processore, di un certo quantitativo di memoria RAM, di uno o più dischi fissi, di una o più schede di rete e così via.

La configurazione di un server cloud si risolve solitamente in poco tempo e consente di fidare su una macchina dedicata, seppur realizzata entro un ambiente virtualizzato, che può essere liberamente gestita.


Per definire questo tipo di approccio si utilizza anche il termine IaaS, acronimo di Infrastructure as a service. Le risorse hardware sono cioè istanziate ed utilizzate in remoto su richiesta o domanda al momento dell'effettivo bisogno. Grazie infatti alla filosofia cloud ed ai vari sistemi per la virtualizzazione, il cliente può decidere in qualunque momento di aggiungere risorse sul suo server cloud o di tornare ad una configurazione più conservativa nel caso in cui le risorse precedentemente richieste dovessero risultare eccessivamente ridondanti.

Nell'articolo Creare un server cloud e gestirlo da remoto con Express Cloud, abbiamo fatto un esempio concreto di come si possa creare un server virtuale con il servizio messo a disposizione da CloudItalia.

Anche Aruba offre un servizio similare che permette di creare e configurare un server cloud in pochi minuti, sia esso Linux o Windows.
Nel caso di Aruba, in questa pagina è possibile trovare l'elenco completo delle configurazioni supportate. Cliccando qui si possono ottenere le specifiche di ogni singolo template. Ma che cos'è un template?

Configurare un server cloud con i template

I provider cloud parlano spesso di template per i server virtuali. Di che cosa si tratta?
Chi è avvezzo all'utilizzo dei software di disk imaging può intuire immediatamente a che cosa si sta facendo riferimento.

A seconda della particolare configurazione richiesta dall'utente, si può allestire un server cloud che contiene già un sistema operativo, spesso preconfigurato per ciò che riguarda diversi suoi componenti. L'immagine del sistema operativo e delle eventuali applicazioni preinstallate è detta template.

Nel caso di Aruba, il cliente può scegliere tra diversi template: per ciascuno di essi, in questa pagina viene descritto nel dettaglio che cosa si troverà sulla macchina virtuale sin dal primo avvio della stessa.

Selezionando ad esempio CentOS 6.x 32bit/64bit - Web Server LAMP, si troverà preinstallata la distribuzione Linux CentOS, derivata da RedHat Enterprise Linux e concepita per chiunque intenda allestire una macchina per scopi professionali o per esigenze d'impresa.
Non solo. Trattandosi di un template LAMP (acronimo di Linux, Apache, MySQL, PHP), l'utente – alla prima accensione del server virtuale – si troverà preinstallato, oltre al sistema operativo in sé, il server web Apache, il DBMS MySQL e PHP (in questa pagina le varie versioni dei pacchetti).

Il servizio Cloud Server Smart di Aruba è disponibile in vari template ad un costo forfettario prefissato, a partire da 5 euro al mese. Compresi nel prezzo almeno 2 Terabytes di traffico mensili (a 1.000 Mbit/s di picco, flat).
Dopo aver ordinato un server cloud, si potrà impostare – dall'interfaccia di amministrazione web – la password dell'account root, necessaria per gestire la macchina virtuale.

Per accedere alle macchine virtuali Windows Server è sufficiente ricorrere al programma Desktop remoto, integrato in ogni versione di Windows mentre nel caso delle varie distribuzioni Linux bisognerà ricorrere ad un client SSH come PuTTY (scaricabile cliccando qui in versione Windows).

Nel pannello di amministrazione del servizio cloud, è possibile leggere l'indirizzo IP pubblico del server virtuale appena attivato nonché accedere a tutti gli strumenti per la sua gestione. Attraverso un comodo menù di scelta, è possibile accendere il server virtuale, spegnerlo, arrestarlo in maniera forzata o riavviarlo.

Come configurare server cloud Aruba

Dopo aver avviato la macchina virtuale cliccando su Accendi, digitando l'IP pubblico del server cloud in un qualunque browser web, si dovrebbe immediatamente ottenere in risposta la pagina di default di Apache.


Come accedere al server cloud

Supponiamo di aver richiesto l'attivazione di un server cloud basato sul template CentOS 6.x 32bit/64bit - Web Server LAMP.
Per accedere al server cloud ed iniziare a configurarlo secondo le proprie esigenze, è necessario avviare PuTTY e digitare l'IP pubblico della macchina nella casella Host name (or IP address).

Come configurare server cloud Aruba

Cliccando su Open verrà immediatamente tentata la connessione SSH (porta 22).
Per accedere alla shell del server remoto, si dovrà infine digitare root in corrispondenza di login as e la password dell'account root, precedentemente impostata, accanto a root@IP_server password.

Come configurare server cloud Aruba

Il template che abbiamo richiesto nel nostro caso, integra anche Webmin, software che consente di gestire il sistema remoto attraverso una comoda interfaccia web. Tale interfaccia è accessibile digitando l'IP del server cloud seguito da :10000 nella barra degli indirizzi del browser.
L'username e password sono quelli utilizzabili anche per l'accesso mediante SSH.

Come configurare server cloud Aruba

Molte delle configurazioni possono poi essere eseguite anche da Webmin, senza accedere via SSH. Nel nostro caso, però, vediamo come aggiornare e configurare il server cloud Aruba installando prima le ultime versioni di tutti i pacchetti software.


Aggiornare e configurare il server cloud Aruba

Le versioni dei vari pacchetti software contenute nel template sono visualizzabili, ad esempio nel caso di CentOS 6.x 32bit/64bit - Web Server LAMP, in questa scheda.

Essendo installato CentOS 6.x, proviamo ad aggiornare Apache, MySQL e PHP alle ultime versioni.

Possiamo procedere aggiungendo il supporto di alcuni repositories dalla shell SSH aperta con PuTTY.

Installare l'ultima versione di PHP su CentOS 6.5

wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
rpm -Uvh remi-release-6*.rpm
rpm -Uvh epel-release-6*.rpm


Con il comando seguente si potrà quindi accedere al file di configurazione mediante il quale si possono abilitare i repositories appena aggiunti:

nano /etc/yum.repos.d/remi.repo

In corrispondenza delle direttive [remi] e [remi-php55] bisognerà porre il parametro enabled a 1, esattamente come in figura.

Come configurare server cloud Aruba

Così facendo, al successivo update del sistema, CentOS scaricherà l'ultima versione di PHP 5.5 (vedere il sito php.net per verificare qual è l'ultima release stabile disponibile).

Utilizzando le combinazioni di tasti CTRL+O e CTRL+X si salverà il file di configurazione e si potrà chiudere l'editor Nano.

I seguenti comandi consentiranno di fermare il server Apache ed aggiornare PHP:


service httpd stop
yum update -y
service httpd start
php -v


In particolare, l'ultimo comando consentirà di verificare la versione di PHP installata. Si potrà così verificare l'effettivo aggiornamento.

Come configurare server cloud Aruba

Installare l'ultima versione di MySQL su CentOS 6.5

Per procedere con l'installazione dell'ultima versione di MySQL su CentOS 6.x, è possibile impartire i comandi seguenti:

service mysqld stop
rpm -Uvh http://repo.mysql.com/mysql-community-release-el6-5.noarch.rpm
yum install mysql-community-server
mysql_secure_installation


L'ultimo comando consentirà di riconfigurare l'istanza di MySQL in esecuzione sul sistema in uso. Come nome utente si dovrà reinserire root e la password scelta in precedenza.

Una volta riavviata la macchina, si potrà fare in modo di eseguire il caricamento di MySQL e di Apache ad ogni successivo reboot:

reboot

chkconfig --levels 235 mysqld on
service mysqld start

chkconfig httpd on
service httpd start


Gestire database MySQL sulla macchina Linux CentOS

L'interfaccia Webmin consente di amministrare i database MySQL in forma visuale. Basta infatti accedere al pannello di amministrazione di Webmin da browser, cliccare sulla colonna di sinistra quindi selezionare Servers e MySQL Database Server.

Come configurare server cloud Aruba

È possibile comunque fidare su di uno strumento molto più completo, versatile e flessibile qual è phpMyAdmin.


Per installarlo, dalla shell SSH, è sufficiente digitare quanto segue:

yum install phpMyAdmin
nano /etc/httpd/conf.d/phpMyAdmin.conf


Per impostazione predefinita, l'accesso a phpMyAdmin è consentito solo localmente. Per aprirlo ad esempio da un IP remoto (sarà possibile accedere da browser all'indirizzo http://IP_server_cloud/phpMyAdmin), si dovrà inserire – nel file di configurazione – la direttiva Allow from seguita dall'IP da abilitare per l'accesso remoto.

Come configurare server cloud Aruba

Per applicare le modifiche si dovrà infine digitare service httpd restart.

Importare un database MySQL da riga di comando

Per importare un database MySQL a partire da un file dump memorizzato in formato SQL, basterà impartire il comando seguente:
mysql -u username -pPASSWORD database_name < nomefile.sql

Configurazione dei siti web in Apache

Aprendo il file di configurazione di Apache con il comando seguente, si potranno subito configurare uno o più siti web in hosting sulla macchina virtuale:

nano /etc/httpd/conf/httpd.conf

Quasi in calce al file di configurazione, bisognerà togliere il segno # dalla direttiva NameVirtualHost *:80 quindi aggiungere, in fondo al file, quanto segue:

ServerName NOMESERVER

<VirtualHost *:80>
ServerName NOMESERVER
DocumentRoot /var/www/html
</VirtualHost>

<VirtualHost *:80>
ServerAdmin info@nomedominio.it
DocumentRoot /var/www/directory1
ServerName www.nomedominio.it
ServerAlias nomedominio.it
</VirtualHost>



Con una configurazione come quella riportata, il server risponderà visualizzando il contenuto della cartella /var/www/html nel caso in cui venisse digitato, nel browser, solo l'IP del server. Risponderà invece col contenuto della cartella /var/www/directory1 nel caso in cui il browser richiedesse l'accesso al sito web www.nomedominio.it.

Accesso via FTP

Il template che abbiamo provato include già preinstallato il server FTP vsftpd che risponde a tutte le richieste provenienti da remoto. L'accesso attraverso un normale client FTP (va benissimo il noto FileZilla) è inizialmente possibile solo utilizzando l'account root.

Si può quindi pensare di aggiungere un nuovo utente e di abbinargli una password sufficientemente lunga e complessa:

useradd nuovo_utente
passwd nuovo_utente


Accedendo alla pagina di configurazione http://IP_SERVER:10000/useradmin/ di Webmin si possono agevolmente gestire gli utenti ed impostare una directory home.

Il comando nano /etc/vsftpd/vsftpd.conf consentirà di accedere alla configurazione di vsftpd da shell SSH.

Assicurarsi che i seguenti parametri siano così impostati (attenzione all'eventuale presenza del carattere #, da rimuovere in corrispondenza delle direttive specificate di seguito):

anonymous_enable=NO
local_enable=YES
write_enable=YES
ftpd_banner=Benvenuti nel server FTP di...
chroot_local_user=YES
userlist_enable=YES
userlist_deny=NO


Dopo aver salvato il file di configurazione, sarà necessario digitare:

nano user_list

Come configurare server cloud Aruba

Qui si dovranno cancellare tutti gli account presenti lasciando eventualmente root e specificando il nome dell'utente precedentemente aggiunto.


Per riavviare vsftpd, bisognerà infine usare il comando service vsftpd restart.

Il file di configurazione di vsftpd, così come è stato impostato, permetterà agli utenti autorizzati a collegarsi da remoto via FTP ad accedere solo ed esclusivamente al contenuto della rispettiva cartella home.

Aggiornamento finale del sistema Linux

Come ultimo passo, suggeriamo di procedere con un aggiornamento complessivo della macchina Linux. Per procedere, è sufficiente ricorrere al comando yum update -y da shell SSH.

Aggiornamento del 17/03/2015: Impossibile aggiornare CentOS. "Problem opening package"

Nel caso in cui, ad ogni tentativo di aggiornare CentOS con il comando yum update, dovesse apparire il seguente messaggio d'errore:

error: rpmts_HdrFromFdno: Header V3 DSA/SHA1 Signature, key ID BAD
Problem opening package (...)


Si potrà risolvere digitando i seguenti comandi dalla console SSH:

wget http://mirror.centos.org/centos/6/updates/x86_64/Packages/nss-softokn-freebl-3.14.3-19.el6_6.x86_64.rpm
rpm2cpio nss-softokn-freebl-3.14.3-19.el6_6.x86_64.rpm | cpio -idmv
cd lib64
cp libfreeblpriv3.* /lib64
yum update

  1. Avatar
    Michele Nasi
    12/05/2016 11:50:06
    Sì, esattamente. Semmai il file manager mostrerà un set di cartelle e file maggiore rispetto all'accesso via FTP (dipende da come configurerai quest'ultimo).
  2. Avatar
    Pasquale Basilio
    12/05/2016 11:29:39
    Ciao, ma il file managere presente sull'interfaccia Webmin, contiene i files che poi troverò nel FTP?