Home > Linux, Server > Guida alla realizzazione di un server LAMP con Ubuntu

Guida alla realizzazione di un server LAMP con Ubuntu

Mi sono imbattuto nella necessità di dover realizzare (a puro scopo “educativo”) un server LAMP casalingo per smanettare con il PHP… e così mi sono armato di pazienza e ho provveduto a crearmelo virtualizzato su Virtualbox. Scrivo qui i passi fatti casomai servissero a qualcuno… e anche per ricordarmeli io un domani… 😛

NB: La pubblicazione di un server su internet NON si fa con un sistema del genere!!! Questo può servire per test in locale, non per pubblicare un sito su internet… 😉

Necessario:

  • Un pc con almeno 4Gb di HD e 256 Mb di ram (io ho usato una macchina virtuale)
  • Un disco di installazione di Ubuntu (io ho usato la versione server 8.04)
  • Un paio d’ore di tempo e tanta pazienza…

Per un mio preciso intento l’installazione e configurazione va fatta in modalità testo, scordatevi pure il mouse…

Partiamo con l’installazione dal CD di Ubuntu, selezioniamo la lingua e proseguiamo con l’installazione; dovremo confermare che ci troviamo in Italia (che sfiga… 😀 ) e poi Ubuntu cercherà l’hardware e comincerà a configurarsi… noi aspettiamo.
Ci verrà richiesto di inserire il nome del sistema (io ho messo ubuntu) e poi ci verrà proposto di partizionare l’HD; io ho eseguito il partizionamento automatico utilizzando tutto l’HD. Dopo un paio di conferme inizierà il partizionamento vero e proprio e l’installazione dei vari pacchetti del sistema base sull’HD.
Finita questa fase ci verrà chiesto di inserire un utente e una password, digitiamo il tutto sulla tastiera (la password dovrà essere inserita due volte per conferma); successivamente il sistema tenterà di trovare aggiornamenti su internet e pertanto ci chiederà quale proxy utilizzare. Ipotizzando che la connessione ad internet avvenga attraverso un router e che abbiamo attaccato il cavo di rete al router e al pc all’inizio di tutto basterà non specificare nulla e lui penserà a cercare da solo.
Successivamente il sistema ci darà la possibilità di installare determinati “servizi” automaticamente, ma noi vogliamo fare da soli (che masochisti… 😛 ) e quindi non selezioniamo nulla e continuiamo… il sistema finirà di configurare il software installato, effettuerà la pulizia e si riavvierà dopo averci avvisato di rimuovere il CD di installazione.

Sistema base installato!!!

Cominciamo con fare una prima parte di configurazioni e aggiornamenti.
Una volta effettuato il login con il nome utente e la password inserite in fase di installazione sarà utile abilitare l’utente “root” che normalmente in ubuntu è disabilitato. Per fare ciò dobbiamo dotare di password il nostro utente; il comanda da dare in console è:

sudo passwd root

Dovremo inserire prima la password dell’utente corrente e poi per due volte la password di root. Successivamente potremo digitare

exit

e rifare l’accesso come root… che è meglio!!! 😀
Effettuiamo l’aggiornamento della distribuzione tramite i due comandi

apt-get update
apt-get upgrade

e successivamente installiamo due cose utilissime… SSH ed MC.
SSH è quel servizio che ci permetterà di accedere in remoto senza usare la tastiera fisica collegata al pc utilizzando ad esempio Putty.
MC è il Midnight Commander, un file manager avanzato in modalità testuale… chi si ricorda il Norton Commander del DOS? Una cosa simile… 🙂

apt-get install ssh mc

La nostra installazione ha preso l’IP dal DHCP della LAN… si presume che sia meglio metterlo fisso e pertanto andiamo a modificare la configurazione dell’interfaccia di rete modificando il file /etc/network/interfaces quindi da console

mc -e /etc/network/interfaces

Il file dovremo modificarlo adattandolo alle nostre necessità e dovrà risultare all’incirca così

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.0.100
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
gateway 192.168.0.1

ovviamente occorrerà magari variare gli indirizzi IP per rispettare quelli della nostra rete…
Salviamo e facciamo ripartire la rete con il comando

/etc/init.d/networking restart

Modifichiamo il file /etc/hosts con

mc -e /etc/hosts

dovrà assomigliare a questo

127.0.0.1 localhost localhost
192.168.0.100 ubuntu.local.lan ubuntu
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

Dopo ciò da console diamo

echo ubuntu.local.lan > /etc/hostname
/etc/init.d/hostname.sh start

e successivamente

hostname
hostname -f

che ci dovranno dare lo stesso risultato se tutto è andato per il verso giusto. Se ciò non viene fatto Apache da un errore… non ho ancora capito bene perché ma è così…

Rimuoviamo AppArmor (è un’estensione per la sicurezza, ma il nostro scopo è non avere rogne e l’estensione ce le potrebbe dare :-P) utilizzando i 3 comandi

/etc/init.d/apparmor stop
update-rc.d -f apparmor remove
apt-get remove apparmor apparmor-utils

…e visto che il più l’abbiamo fatto ci sta pure un bel

reboot

(qui i puristi mi dicono che non ce ne sarebbe bisogno, ma io l’ho fatto e lo scrivo… 🙂 )

Installiamo quindi i pacchetti che ci creeranno il nostro server vero e proprio… cominciamo da Mysql

apt-get install mysql-server mysql-client libmysqlclient15-dev

durante l’installazione ci verrà chiesto di inserire la password di root del server Mysql che stiamo installando, ovviamente non è necessario (anzi è sconsigliabile) che sia la stessa dell’utente root… ma visto che stiamo creando un sistema test anche quella va bene. Se tutto va bene un successivo

netstat -tap | grep mysql

ci dirà che il servizio è in ascolto su localhost; è possibile pure “aprire” il servizio all’esterno modificando il file /etc/mysql/my.cnf ma non è necessario per il nostro scopo…

Installiamo quindi Apache con

apt-get install apache2 apache2-doc apache2-mpm-prefork apache2-utils ssl-cert

e successivamente PHP Ruby e moduli collegati con

apt-get install libapache2-mod-php5 libapache2-mod-ruby php5 php5-common php5-curl php5-dev php5-gd php5-idn php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-mhash php5-ming php5-mysql php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl

quindi modifichiamo il file /etc/apache2/mods-available/dir.conf con

mc -e /etc/apache2/mods-available/dir.conf

facendolo assomigliare a questo

<IfModule mod_dir.c>
#DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm
DirectoryIndex index.html index.htm index.shtml index.cgi index.php index.php3 index.pl index.xhtml
</IfModule>

abilitiamo i moduli di apache appena installati con

a2enmod ssl
a2enmod rewrite
a2enmod suexec
a2enmod include

e forziamo la riconfigurazione di Apache con

/etc/init.d/apache2 force-reload

Facendo alcune prove (installazione di phpBB3 nello specifico) ho dovuto installare anche Imagemagick con il comando

apt-get install imagemagick

Per mia comodità ho anche installato PhpMyAdmin con il comando

apt-get install phpmyadmin

specificando che il server da riconfigurare è Apache2.

Accesso a Phpmyadmin tramite http://IP_SERVER/phpmyadmin/ con username “root” e password specificata durante l’installazione di Mysql.
La directory home di Apache si trova sotto /var/www

  1. Nessun commento ancora...
  1. Nessun trackback ancora...