LINUX « E-Pillole
Apache 2 + Php 5 + MySql 5 su Debian e Ubuntu (LAMP)
Apache2, Php5 e MySql5 rappresentano probabilmente le migliori alternative OpenSource nei rispettivi campi. Installati poi su una Debian o su Ubuntu, si ottiene un sistema decisamente stabile e adatto a qualsiasi applicazione, dal webserver professionale all'OS da casa su cui testare i propri siti web.
In questo breve tutorial vedremo quindi come installare il cosiddetto LAMP server su Debian e Ubuntu. Come suggerisce l'acronimo LAMP (Linux Apache MySql Php), verrà descitta una procedura molto semplice per una perfetta installazione di Apache 2, Php 5 e MySql 5.
La configurazione di ogni singolo componente del LAMP server che andremo ad installare sulla vostra Debian o sulla vostra Ubuntu, sarà quella minima richiesta per rendere il sistema perfettamente funzionante, lasciando quindi ogni personalizzazione alle particolari esigenze di ognuno di voi.
N.B. Prima di partire con l'installazione, assicuratevi che la vostra linuxbox sia aggiornata e sistemate le repository ufficiali della vostra Debian o Ubuntu come descritto in queste due guide:
- Repository Debian (Etch - Lenny - Sid)
- Repository Ubuntu (Gutsy - Feisty - Edgy - Dapper)
INSTALLAZIONE APACHE 2 HTTP SERVER
Installare Apache 2 con il supporto per Php su Debian e Ubuntu è molto semplice. Loggatevi da terminal e digitate:
sudo apt-get install apache2 apache2-mpm-prefork
Digitato questo comando, vi verrà chiesto di confermare l'operazione. Rispondete sì (Yes), ed installate tutte le dipendenze necessarie che vi verranno suggerite da apt.
Completata l'installazione, il vostro webserver Apache sarà già perfettamente funzionante con le impostazioni di default, e pronto per ogni vostra personalizzazione. In questo momento non ci interessa vedere come configurare ogni singolo aspetto di Apache, i virtual hosts e tutto il resto, ma soltanto installare il sistema base.
E' comunque utile indicare quali sono le cartelle e i files di configurazione principali di Apache. In particolare:
- /var/www/ è la root folder del vostro webserver, ossia la cartella in cui verranno inseriti tutti i vostri siti web e i files che li compongono;
- /etc/apache2/ è la cartella in cui troverete tutti i files di configurazione relativi ad Apache;
- /etc/apache2/mods-available/ è la cartella in cui vengono inseriti i files di configurazione di tutti i moduli installati;
- /etc/apache2/mods-enabled/ è la cartella che contiene dei link simbolici ad ogni file presente nella cartella /etc/apache2/mods-available/. Ognuno di questi link simbolici, ha la facoltà di abilitare ognuno dei moduli presenti nella cartella mods-available;
- /etc/apache2/sites-available/ è la cartella in cui inserire il file di configurazione per ogni virtual host che verrà creato. Di predefinito, è presente unicamente il file default;
- /etc/apache2/sites-enabled/ è la cartella che contiene dei link simbolici ad ogni file presente nella cartella /etc/apache2/sites-available/. Come si può facilmente dedurre da questa struttura, ognuno di questi link simbolici, ha la facoltà di abilitare ognuno dei virtual host definiti nella cartella sites-available.
N.B. Per qualche info in più riguardo la gestione dei moduli e dei virtual hosts su Debian e Ubuntu, fate riferimento a questa guida.
Fatte queste semplici precisazioni, potete già testare il funzionamento del vostro webserver, digitando nel vostro browser l'indirizzo di rete della macchina su cui avete installato Apache (es. http://192.168.XXX.XXX), oppure se siete in locale digitando http://localhost/ nel vostro browser.
Se tutto funziona correttamente, visualizzerete la scritta It Works che vi confermerà l'avvenuta installazione di Apache sulla vostra Debian o sulla vostra Ubuntu. A questo punto, osservando l'url nel vostro browser, potete subito notare che la "cartella" principale del webserver è apache2-default. Ciò è definito nel file default di cui si è parlato brevemente in precedenza. Dategli un'occhiata per prendere un pò di confidenza su come Apache2 gestisce la configurazioni.
Prima possibile, verrà anche proposta una guida dettagliata per l'abilitazione e la configurazione dei virtual hosts, così da sfruttare a pieno le potenzialità del vostro webserver.
Per ora è sufficiente sapere che se nel browser viene visualizzata correttamente la scritta It Works, Apache2 è installato correttamente e potete proseguire.
INSTALLAZIONE PHP 5
Installato Apache, è ora il momento di installare Php 5 e alcune delle sue componenti fondamentali. Per fare ciò, da terminal digitate molto semplicemente:
sudo apt-get install php5 libapache2-mod-php5 php5-cgi php5-gd php5-cli
Completata l'installazione, eseguite questo comando per copiare in /etc/php5/apache2/ il file di configurazione php.ini di php5:
sudo cp /usr/share/doc/php5-common/examples/php.ini-recommended /etc/php5/apache2/php.ini
Fatto ciò aprite il file php.ini:
sudo nano /etc/php5/apache2/php.ini
e abilitate sin da subito il supporto per MySql e per le gd libraries decommentando queste due linee nella sezione Dynamic Extensions:
;extension=mysql.so ;extension=gd.so
Togliete i punti e virgola davanti di modo che risultino così (se non dovessero essere presenti, aggiungetele senza problemi):
extension=mysql.so extension=gd.so
Assicuratevi che il modulo per php5 sia abilitato digitando:
sudo a2enmod php5
e riavviate la configurazione di Apache:
sudo /etc/init.d/apache2 reload
Dopo questi piccoli accorgimenti, php5 è correttamente installato sulla vostra Debian o sulla vostra Ubuntu, ma prima di testarne il funzionamento, sarà preferibile riavviare il sistema (poi non lo farete mai più) per rendere effettive le configurazioni fatte. Provvederemo a riavviare la macchina tra pochissimo, non appena verrà installato e configurato anche MySql5.
INSTALLAZIONE MYSQL 5
Per installare il server MySql 5.0, digitate da terminal:
sudo apt-get install mysql-server-5.0 php5-mysql
Completata l'installazione, ricordate che di default MySql viene installato senza password per l'utente root. Ovviamente questo non è un bene per la sicurezza del vostro sistema, ed è opportuno settare subito una password per l'utente root. Per fare ciò, entrate in MySql da linea di comando digitando:
mysql -u root
ed eseguite i "comandi" seguenti:
DELETE FROM mysql.user WHERE User = '';
e
FLUSH PRIVILEGES;
per eliminare eventuali account anonimi da MySql.
Infine, settate la password per l'utente root digitando:
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('tuapassword');
e
SET PASSWORD FOR 'root'@'HOSTNAME' = PASSWORD('tuapassword');
sostituendo ovviamente tuapassword, con la password che avete scelto e HOSTNAME con l'hostname della vostra Debian o della vostra Ubuntu.
Utile inoltre ricordare che sarà preferibile impostare un utente non-root per ogni altra operazione che richiederà l'interazione tra webserver e sqlserver. Per ogni altra particolare configurazione di cui necessitate, il file su cui operare è: /etc/mysql/my.cnf
Come ultima cosa, se lo desiderate, installate anche phpMyAdmin, molto ultile per amministrare via browser i vostri databases. Per installare phpMyAdmin, da terminal digitate:
sudo apt-get install phpmyadmin
TEST INSTALLAZIONE
A questo punto, tutto il necessario per un corretto funzionamento del nostro LAMP Server su Debian o Ubuntu, è stato installato, e per sicurezza riavviate la vostra macchina (facoltativo). Digitate:
sudo shutdown -r now
e una volta riavviato il sistema, effettuate il login e testiamo le installazioni e le configurazioni fatte.
- Per testare Apache2, come è stato detto anche in precedenza, digitate nel vostro browser l'indirizzo di rete della macchina su cui avete installato Apache (es. http://192.168.XXX.XXX), oppure se siete in locale digitando http://localhost/ nel vostro browser. Se tutto funziona correttamente, visualizzerete la scritta It Works che vi confermerà l'avvenuta installazione del vostro webserver Apache.
- Per testare php5, da terminal create un file che chiameremo test.php nella root folder del vostro webserver. Muovetevi quindi nella cartella principale di Apache digitando:
cd /var/www/
create il file test.php digitando:
sudo nano test.php
e inserite quanto segue nel suddetto file:
<?php phpinfo(); ?>
Salvate, chiudete il file, e richiamatelo con il vostro browser (es. http://192.168.10.XXX/test.php oppure http://localhost/test.php). Fatto ciò, se l'installazione è avvenuta con successo, visualizzerete tutte le informazioni relative alla versione di php appena installata.
- Per testare MySql5 e phpMyAdmin, il metodo più semplice è quello di utilizzare phpMyAdmin per creare un database e confermare dunque il corretto funzionamento di entrambi.
Per fare ciò, digitate nel vostro browser http://192.168.10.XXX/phpmyadmin oppure http://localhost/phpmyadmin. Vi troverete di fronte la schermata di login di phpMyAdmin, inserite root come utente e la password che avete settato prima, ed effettuate il login. A questo punto create un database di prova chiamandolo come volete, e se tale operazione va a buon fine, anche MySql è stato correttamente installato.
Ora che Apache2, Php5 e MySql sono perfettamente funzionanti sulla vostra Debian o sulla vostra Ubuntu, non vi rimane altro da fare che configurarli a dovere secondo le vostre esigenze ed iniziare ad utilizzarli come meglio credete.
Buon divertimento e a presto con qualche tutorial più specifico dedicato alla configurazione di Apache2...
Ho fatto un semplicissimo database con 3 tabelle in relazione tra loro.
Volendo farlo funzionare con Base di OOo 2.2.1 ho installato il driver ODBC (ho letto che JDBC non riconosce le relazioni tra le tabelle?) il tutto funziona egregiamente...
Per quanto riguarda la visualizzazione dei dati inseriti va benissimo, quando vado a toccarre e modificare i valori dei records inseriti per il testo e le date tutto ok per i numeri decimali invece mi scompaiono completamente.
Ho provato ad in serire la numerazione en 0.00 - 0,00 ma iente da fare... Qualcuno mi hadetto che è il driver ODBC da aggiornare o ricompilare, ma non so minimamente come fare....
Sto cercando anche come installare l'eventuale driver JDBC per vedere se riesco a sbloccare la situazione.
come fare?
Grazie per ogni possibile aiuto
per installare il driver JDBC:
sudo apt-get install mysql-client
sudo apt-get install libmysql-java
completata l'installazione perchè il tutto funzioni, è necessario mettere mano al file ~/.bashrc e aggiungere:
CLASSPATH=$CLASSPATH:/usr/share/java/mysql.jar
export CLASSPATH
ripeti la procedura guidata di OpenOffice per la connessione al db e dovrebbe funzionare...
ciaociao
hai provato il MySQL connector originale del sito MySQL?
http://dev.mysql.com/downloads/connector/odbc/3.51.html
Robert
Debian o Ubuntu ??
hai settato la pass di root di Mysql prima di connetterti via phpmyadmin??
ti connetti in locale o da un altra macchina??
ciaociao
strano, con phpmyadmin non c'è bisogno di fare nulla :(
ma lo vedi il form di login o nemmeno quello??
se lo vedi, che errore ti da quando inserisci user e pass??
ciaociao
sei già il secondo in una settimana che ha problemi con phpmyadmin...
non vorrei che fosse cambiato qualche cosa :(
appena ho tempo provo a reinstallare tutto da zero da qualche parte e vediamo...
eppure neanche un mesetto fa, tutto tranquillo :(
boh...sorry
ciaociao
ho seguito la tua procedura ma mi trovo difronte ad un problema non mi ha messo phpmyadmin nella cartella /var/www ed inoltre non accetta script php se il tag non è <?php cioè se metto <? non lo vede come script php
potresti darmi una mano?
per phpmyadmin, viene creato solo un link in /var/www
fede@C-DEB-SERV:/var/www$ ls -l
total 0
lrwxrwxrwx 1 root root 21 2007-11-26 18:12 phpmyadmin -> /usr/share/phpmyadmin
per il problema con php, la "cosa" è diventata di "default" su Debian da php5...
se proprio non puoi modificare i tuoi file, o se sono troppi, puoi mettere mano al file /etc/php5/apache2/php.ini
riporto la parte interessata....
; Allow the <? tag. Otherwise, only <?php and <script> tags are recognized.
; NOTE: Using short tags should be avoided when developing applications or
; libraries that are meant for redistribution, or deployment on PHP
; servers which are not under your control, because short tags may not
; be supported on the target server. For portable, redistributable code,
; be sure not to use short tags.
short_open_tag = Off
ciaociao
sei un lampo :P
per gli short tag ho risolto grazie ad una lettura di apache conf però ti ringrazio lo stesso :P
per phpmyadmin purtroppo io ho questo come output:
antonio@scuottolinx:~$ cd /var/www/
antonio@scuottolinx:/var/www$ ls -l
total 8
drwxr-xr-x 2 root root 4096 2007-12-04 18:00 apache2-default
-rw-r--r-- 1 root root 31 2007-12-04 22:28 test.php
prova a creare il sym link e vedere su funziona...
sudo ln -s /usr/share/phpmyadmin/ /var/www/
dovrebbe andare...
ciaociao
a me è andato tutto alla perfezione anche se devi modificare un po' la guida sia per quanto riguarda mysql che per phpmyadmin...
per il resto è ottimissima....
mi dispiace non trovare un modulo di registrazione per utenti sarebbe stato bello poter essere aggiornato.
Ciao e grazie
bene...risolto il problema :)
strani cmq questi problemi con mysql e phpmyadmin :(
appena ho tempo per provare su un sistema fresco fresco di installazione vedo un pò che è cambiato...
grazie della segnalazione, dopotutto i commenti esisteno anche per questo no?? ;)
p.s. non è possibile registrarsi al sito, ma puoi cmq seguire il feed rss se ti va ;)
p.p.s ti avverto che scrivo molto di rado eh :)
ciaociao
ciaociao
come posso fare per averne uno di base che magarmi mi mostra anche gli errori in php e in che riga??
ma devo inserire io i tag desiderati??
Il file di configurazione su Debian e Ubuntu è apache2.conf e non httpd.conf
per gli errori di php invece /etc/php5/apache2/php.ini
ciaociao
ciao...sezione:
; Error handling and logging ;
io li ho settati in questo modo in locale:
error_reporting = E_ALL|E_NOTICE|E_STRICT
ricordati di abilitarli anche:
display_errors = On
riavvia la configurazione di apache:
sudo /etc/init.d/apache2 force-reload
e dovrebbe andare!!
ciaociao
stesso problema di Antonio.
sorpresa..visto che non riesco a raggiungere phpmyadmin ho provato a creare il link.
ln -s /usr/share/phpmyadmin/ /var/www/
ma nisba... alla fine ho schiacciato il famoso uovo di colombo.. ossia.
(spero di non aver scappellato)
sono andato in apache2.conf ed ho aggiunto in fondo
<VirtualHost 87.x.x.x>
ServerName phpmyadmin
ServerPath /var/www
DocumentRoot /var/www
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
</VirtualHost>
ho sbagliato????
fatemi sapere grazie.
debian o ubuntu??
uhmmm...ma phpmyadmin vuoi che sia raggiungibile anche dall'esterno??
Attenzione che non è immune da bug e problemi di sicurezza....(consiglio .htpasswd per la cartella phpmyadmin)
anyway, sarebbe meglio utilizzare il "metodo debian"
crea un file in /etc/mods-available/ e lo chiami phpmyadmin ad esempio. Poi inserisci:
<VirtualHost 87.x.x.x>
Servername phpmyadmin
DocumentRoot /var/www/phpmyadmin
<Directory /var/www/phpmyadmin>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
</VirtualHost>
e lo abiliti digitando:
sudo a2enmod phpmyadmin
in questo modo dovrebbe essere raggiungibile da: http://87.x.x.x/phpmyadmin
spero di esserti stato utile :)
ciaociao
SEI UN GRANDE!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- Applications Software (2)
- Debian (1)
- Devel (1)
- Distribuzioni Varie (2)
- Easy Tricks (5)
- Gnome Desktop (2)
- Guide Debian (8)
- Guide Debian Ubuntu (12)
- Guide Ubuntu (9)
- Linux Printer Drivers (1)
- Man Pages Linux (2)
- My Feeds (3)
- Off Topic (2)
- Ping at Home (1)
- Problem Solving (4)
- Server Side (2)
- Tricks Debian Ubuntu (5)
- Ubuntu (8)
- Upgrades (5)
- NFS - Condivisione file Debian Ubuntu
- Ubuntu Case Studies: storie di successo in azienda e nelle scuole
- La tentazione del lato oscuro (Google AdSense) [Ping@Home]
- Linux Man Pages On-Line
- Gestione Moduli e Virtual Hosts di Apache2 su Debian e Ubuntu
- Visualizzare struttura ad albero di una directory
- Cron + Rhythmbox + Scriptino = Sveglia
- Soluzione piccolo problema con mp32ogg
- Velocizzare la ricompilazione con ccache
- Trasformare Gedit in un editor avanzato
- People DebianClan e TuxFeed: pinguini italiani alla riscossa
- Abilitare supporto AGP driver NVIDIA
- Finalmente rilasciata la GPLv3
- Compiz Fusion + Debian Sid
- Estensione NoScript per Firefox
- Compiz Fusion + Ubuntu Feisty
- Disabilitare o modificare splash screen Gnome
- Personalizzare gnome con GNOME Color Chooser
- VOGLIO usare Ubuntu
- Cronologia comandi bash
- febbraio 2008 (1)
- gennaio 2008 (2)
- dicembre 2007 (1)
- novembre 2007 (2)
- ottobre 2007 (1)
- agosto 2007 (3)
- luglio 2007 (2)
- giugno 2007 (20)
- maggio 2007 (13)
- aprile 2007 (10)
- marzo 2007 (20)










