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
- Simpatico nome che sta per apache2 enable module
^top