Piero V.

Parte V muletto: installare LAMP

LAMP sta per Linux Apache MySQL PHP, cioè quello che si può definire un comune server web (dove appoggia anche vdfn 😁 ).

Con un semplice comando installeremo tutto ciò che serve:

apt-get install apache2 libapache2-mod-php5 php5-cli php5-common php5-gd php5-sqlite php5-mysql php5-curl php5-mhash php5-imap mysql-server -y

Con questo comando abbiamo installato apache 2, php5 con cli (per poter eseguire script dal terminale) più le estensioni gd, sqlite, mysql, curl, mhash e imap (se volete altre estensioni potrete installarle successivamente), poi abbiamo installato il server mysql e tutte le dipendenze varie.

Ora aprite sul browser del vostro computer l’indirizzo del muletto (ad es.: http://192.168.1.3/), e dovrebbe venirvi fuori una pagina con scritto It Works (o comunque con qualche altra scritta).

Se non riuscite a vederla, vuol dire che qualcosa è andato storto.

Procediamo oltre.

Il modulo php5 dovrebbe essere abilitato di default, altrimenti digitate a2enmod php5 1.

Ora disabilitiamo il VirtualHost di default e creiamone uno (es 000-custom) partendo da lui:

a2dissite 000-default
cp /etc/apache2/sites-enabled/000-default /etc/apache2/sites-enabled/000-custom
e2ensite 000-custom

Il mio /etc/apache2/sites-enabled/000-custom è:

<VirtualHost *:80>
	ServerAdmin piero@muletto.lan
	DocumentRoot /home/server/www

	Options FollowSymLinks
	AllowOverride None

	Options FollowSymLinks MultiViews
	AllowOverride All
	Order allow,deny
	Allow from all

	ErrorLog /var/log/apache2/error.log
	# Possible values include: debug, info, notice, warn, error, crit,
	# alert, emerg.
	LogLevel warn
	CustomLog /var/log/apache2/access.log combinated
</VirtualHost>

La directory /home/server/www l’ho creata io. Va assrgnata all’utente www-data e al gruppo www-data.

Riavviate apache: /etc/init.d/apache2 restart

Nella vostra document root (la mia /home/server/www), create il file index.php con il contenuto:

<?php phpinfo(); ?>

Ok, se ora vedete il phpinfo() è tutto ok, altrimenti no.

Se siete su Debian comunque dovrebbe andare tutto al primo colpo, altrimenti commentate pure.

Ora avete anche il server LAMP e come setup abbiamo finito ma io ho anche creato un virtualhost per i vari tool di amministrazione web.

Questo virtualhost è sulla porta 8008 (alternate HTTP) poiché così non avete bisogno di usare file hosts per dargli un indirizzo e potete fare a meno di inoltrarla col router così “è una sicurezza in più”.

Questo virtualhost ha la DocumentRoot in /home/server/www_admin ma in realtà questa conterrà solo un file index.html con un messaggio che volete voi (per esempio una pagina falsa di 404 Not Found o di 403 Forbidden).

Ecco la definizione del virtualhost (che io ho messo in /etc/apache2/sites-available):

<VirtualHost *:8008>
	ServerAdmin piero@localhost
	DocumentRoot /home/server/www_admin
	Alias /phpmyadmin /usr/share/phpmyadmin
	ErrorLog /var/log/apache2/pfadmin_error.log
	LogLevel warn
	CustomLog /var/log/apache2/pfadmin_access.log combinated
</VirtualHost>

Poi aggiungiamo a /etc/apache2/ports.conf:

NameVirtualHost *:8008
Listen 8008

Ed ecco i comandi da dare da root per creare tutte le directory e file necessari (tranne l’index.html che lo lascio a vostra fantasia):

mkdir /home/server/www_admin
chown www-data:www-data /home/server/www_admin
cp /var/log/apache2/error.log /var/log/apache2/pfadmin_error.log
cp /var/log/apache2/access.log /var/log/apache2/pfadmin_access.log
cat /dev/null > /var/log/apache2/pfadmin_error.log
cat /dev/null > /var/log/apache2/pfadmin_access.log

Come si può vedere nella linea 4 del VirtualHost, io mi sono fidato a inserire anche phpMyAdmin.

L’ho installato dai repo di Debian con apt-get install phpmyadmin. Lo so che non è il massimo, però il muletto rimane a casa mia e la porta 8008 non è accessibile se non dalla LAN, così mi sono fidato.

Poi comunque è sempre richiesto il login come utente di MySQL.

Footnotes

  1. Simpatico nome che sta per apache2 enable module
    ^top