Pagina 1 di 2

Sistema LAMP

MessaggioInviato: 19 feb 2008, 00:50
di diegofio
Siccome stasera mi è capitato di farlo vi posto una breve guida per costruire/configurare/testare il funzionamento di un sistema LAMP.
Preciso che la guida non è mia ma ho solo messo qualche aggiunta. in realtà è un copia incolla di guide trovate in rete da html.it e documentazione di ubuntu.

Identifichiamo i pacchetti necessari:
* apache2-mpm-prefork è il webserver,
* libapache2-mod-php5 è il modulo PHP5 per Apache 2,
* mysql-server è il server MySQL che installerà anche le librerie necessarie e il client MySQL,
* php5-mysql è l'interfaccia MySQL di PHP,
* php5-gd è un'estensione di PHP5 che consente di manipolare le immagini con le librerie GD.
I file di configurazione di Apache si trovano in /etc/apache2. Il file di configurazione di PHP è /etc/php5/apache2/php.ini. L'accesso a MySQL avviene tramite l'utente root, con password vuota. La DocumentRoot per default è la directory /var/www.
--------------------------------------------------------------------------------------------------------------------------
Apache dovrebbe già essere in esecuzione, per sicurezza riavviarlo:
sudo /etc/init.d/apache2 restart
Controllare che nella pagina di verifica (http://127.0.0.1/apache2-default oppure http://127.0.0.1/) venga visualizzata la scritta «It Works!», la quale appunto indica che apache funziona correttamente.
--------------------------------------------------------------------------------------------------------------------------
Per verificare il corretto funzionamento di PHP creare un file di prova nella nella propria DocumentRoot, che di Default è /var/www.
Con l'editor di testo preferito e con i privilegi di amministrazione creare il file /var/www/info.php e inserirci all'interno la seguente riga:
<?php phpinfo(); ?>
Salvare il file e recarsi all'indirizzo http://localhost/info.php.
--------------------------------------------------------------------------------------------------------------------------
MySQL viene installato con un utente fittizio root e un campo password vuoto. Potrebbe essere utile cambiare la password a MySQL, in tal caso digitare da terminale
sudo mysql
E successivamente digitare:
mysqladmin -u root -p
Con la propria passwordpersonale.
Nel caso vogliate entrare con un utente di altro nome digitate (all'interno di mysql come root) la stringa
CREATE USER nomeutente@localhost IDENTIFIED BY 'password'
dopo di ciò (usciti da mysql come root) potete entrare con il nuovo utente digitando
mysql -u diego -p
senza il "-p" se non avete messo la parte "IDENTIFIED BY 'password'", in tal caso l'utente non avrà password di accesso.
--------------------------------------------------------------------------------------------------------------------------
PHP funziona, MySQL funziona, ma i due strumenti riescono a collaborare? Per esserne certi, dobbiamo assicurarci che l'estensione PHP per MySQL (il pacchetto php-mysql o php5-mysql) sia correttamente caricata. Normalmente non ci sono problemi, il tutto viene gestito in automatico quando installiamo i pacchetti, ma la verifica da effettuare è relativamente semplice e ci può togliere un eventuale dubbio.
Creiamo uno script PHP che esegue semplicemente la connessione a MySQL e la selezione del database di test (un database inizialmente vuoto, accessibile a qualsiasi utente, utilizzabile appunto per i test, che andrebbe comunque eliminato se il server MySQL viene messo in produzione).
<?php
// Connessione a MySQL
$link = mysql_connect('localhost', 'root', '') or die('Connessione fallita: ' . mysql_error());
// Selezione database di test
mysql_select_db('test') or die('Selezione DB fallita: ' . mysql_error());
// E' tutto ok, chiudo la connessione
echo 'OK';
mysql_close($link);
?>
Il file va salvato con estensione .php all'interno della DocumentRoot di Apache, ad esempio con nome "testdb.php", e va richiamato da browser digitando l'indirizzo http://localhost/testdb.php. Se tutto va per il verso giusto, otterremo un rassicurante "OK" sul nostro monitor. In caso contrario, uno dei possibili errori potrebbe essere:
---------------------------------------------------------------------------------------------------------------------------


CONTRIBUTI AGGIUNTIVI (grazie a dannyb78)

configurare un mail server con exim
configurare un server ftp con vsftpd

FUNZIONE setlocale() su ubuntu 7.10 e accesso al vostro webserver mediante IP dinamico
Codice: Seleziona tutto
Inoltre riporto una particolarità riscontrata nei sistemi ubuntu per chi usa la funzione setlocale(), per localizzare funzioni tipo strftime().

1) poichè il vostro server non riconosce la stringa "it,IT" ma "it,IT.utf8" per far girare le pagine sul vostro server di prova ma renderle compatibili anche con il server che le andrà ad ospitare una volta pubblicate conviene usare questa stringa

    setlocale(LC_TIME, "it_IT", "it", "it_IT.utf8");



2) opzionale: installare il proprio linguaggio:

    if your server is an ubuntu (debian like)
    you need to install the locales you want (default is english and your language) go to aptitude and install -language-pack-*-base it will resolve dependencies and will try to install a suggested package, remove it if you don't care and proceed.



infine un suggerimento per chi, come me, ha un webserver in casa per fare le prove ed ha necessità di lavorare da fuori o di collaborare con altre persone:
registratevi un dominio dinamico su http://www.dyndns.org, il servizio è gratuito. Scaricate anche il tool gratuito DynDNS updater e installatelo sul webserver. Questo vi consentirà di conoscere sempre l'ip (dinamico) del vostro pc di casa e di potervi accedere con facilità.



ULTERIORI REFERIMENTI

Manuale ufficiale Mysql
Manuale ufficiale di PHP

Re: Sistema LAMP

MessaggioInviato: 19 feb 2008, 09:43
di Galai
ecco qua un'ottma cosa utile di certo, ma totalmente oscura per me... cosìè un sisteme LAMP?

Re: Sistema LAMP

MessaggioInviato: 19 feb 2008, 09:52
di dannyb78
Ciao Diego, se cerchi tra i miei post in linux troverai alcune miniguide che potresti linkare alla fine della tua, una per configurare un server ftp e unaper un server mail, entrambi molto utili se si ha intenzione di installare un webserver per i test. Inoltre riporto una particolarità riscontrata nei sistemi ubuntu per chi usa la funzione setlocale(), per localizzare funzioni tipo strftime().

1) poichè il vostro server non riconosce la stringa "it,IT" ma "it,IT.utf8" per far girare le pagine sul vostro server di prova ma renderle compatibili anche con il server che le andrà ad ospitare una volta pubblicate conviene usare questa stringa
setlocale(LC_TIME, "it_IT", "it", "it_IT.utf8");


2) opzionale: installare il proprio linguaggio:
if your server is an ubuntu (debian like)
you need to install the locales you want (default is english and your language) go to aptitude and install -language-pack-*-base it will resolve dependencies and will try to install a suggested package, remove it if you don't care and proceed.


infine un suggerimento per chi, come me, ha un webserver in casa per fare le prove ed ha necessità di lavorare da fuori o di collaborare con altre persone:
registratevi un dominio dinamico su http://www.dyndns.org, il servizio è gratuito. Scaricate anche il tool gratuito DynDNS updater e installatelo sul webserver. Questo vi consentirà di conoscere sempre l'ip (dinamico) del vostro pc di casa e di potervi accedere con facilità. Per esempio se volete vedere il mio webserver dovete andare su h**p://dannyb78.homeip. net. Idem per collegarsi in ftp si usa l'host dannyb78.homeip.net. Comodo vero? (PS in questo periodo il mio server è generalmente spento, quindi se volete vedere il mio lavoro andate su [url="www.mtb-cecina.it"]www.mtb-cecina.it[/url] e non sul sito sopra indicato.

@galai: un webserver basato su tecnologia php-mysql

Re: Sistema LAMP

MessaggioInviato: 19 feb 2008, 10:11
di dannyb78

Re: Sistema LAMP

MessaggioInviato: 19 feb 2008, 10:53
di diegofio
ho aggiunto nel primo post grazie mille

Re: Sistema LAMP

MessaggioInviato: 19 feb 2008, 11:48
di dannyb78
Grazie a te, ce ne fosse di gente che lavora così. ;-)

Se trovo un minuto di tempo scrivo una miniguida per phpmyadmin, strumento essenziale per gestire i database in unsistema lamp.

Se lo ritieni opportuno puoi linkare anche il manuale ufficiale di php, molte pagine sono tradotte in ita, io consiglio di usarel 'originale in inglese che è più accurato come linguaggio.

Idem per la documentazione su mysql, per la quale metterei il link alla pagina di risorseda cui è possibile scaricare o visualizzare i manuali della versione di mysql installata sul proprio sistema.

Re: Sistema LAMP

MessaggioInviato: 19 feb 2008, 11:53
di thrantir
Galai ha scritto:ecco qua un'ottma cosa utile di certo, ma totalmente oscura per me... cosìè un sisteme LAMP?


Linux
Apache
MySQL
PHP

si indica con LAMP la piattaforma composta da queste componenti. Si contrappone a

Windows
IIS
Access
ASP

decisamente meno usata

Un'altra possibilità è

Windows
Apache
MySQL
PHP

credo che queste 3 siano di fatto le uniche piattaforme su cui si sviluppa nelle modalità classiche

Re: Sistema LAMP

MessaggioInviato: 19 feb 2008, 12:06
di diegofio
dannyb78 ha scritto:Grazie a te, ce ne fosse di gente che lavora così. ;-)

Se trovo un minuto di tempo scrivo una miniguida per phpmyadmin, strumento essenziale per gestire i database in unsistema lamp.

Se lo ritieni opportuno puoi linkare anche il [url="http://it2.php.net/manual/it/index.php"]manuale ufficiale di php[/url], molte pagine sono tradotte in ita, io consiglio di usarel 'originale in inglese che è più accurato come linguaggio.

Idem per la documentazione su mysql, per la quale metterei il link [url="http://dev.mysql.com/doc/"]alla pagina di risorse[/url]da cui è possibile scaricare o visualizzare i manuali della versione di mysql installata sul proprio sistema.



ORO FATTO

Re: Sistema LAMP

MessaggioInviato: 19 feb 2008, 13:04
di paperina
thrantir ha scritto:
Galai ha scritto:ecco qua un'ottma cosa utile di certo, ma totalmente oscura per me... cosìè un sisteme LAMP?


Linux
Apache
MySQL
PHP

si indica con LAMP la piattaforma composta da queste componenti.


penso sia chiaro come vengono utilizzati queste componenti in un server web, comunque per completezza:
Apache è il server web vero e proprio, che si preoccupa di porre un socket in ascolto,, ricevere le richieste e inviare le risposte
MySql è il database dove vengono salvati tutti i dati necessari, configurabili da web, tipo gli account...
Il PHP è utilizzato per costruire le pagine web e per effettuare le query al database...

Se ho sbagliato qualcosa, ogni correzione o precisazione è ben gradita :)

Re: Sistema LAMP

MessaggioInviato: 19 feb 2008, 14:43
di Galai
ok raga grazie a tutti delle spiegazioni.. ora la cosa è decisamente più chiara :D

Re: Sistema LAMP

MessaggioInviato: 19 feb 2008, 15:39
di thrantir
paperina ha scritto:
thrantir ha scritto:
Galai ha scritto:ecco qua un'ottma cosa utile di certo, ma totalmente oscura per me... cosìè un sisteme LAMP?


Linux
Apache
MySQL
PHP

si indica con LAMP la piattaforma composta da queste componenti.


penso sia chiaro come vengono utilizzati queste componenti in un server web, comunque per completezza:
Apache è il server web vero e proprio, che si preoccupa di porre un socket in ascolto,, ricevere le richieste e inviare le risposte
MySql è il database dove vengono salvati tutti i dati necessari, configurabili da web, tipo gli account...
Il PHP è utilizzato per costruire le pagine web e per effettuare le query al database...

Se ho sbagliato qualcosa, ogni correzione o precisazione è ben gradita :)


proprio per compeltezza: Linux è il sistema operativo (quello serio :mrgreen:)

Re: Sistema LAMP

MessaggioInviato: 19 feb 2008, 17:22
di paperina
thrantir ha scritto:proprio per compeltezza: Linux è il sistema operativo (quello serio :mrgreen:)


hai ragione, ma quello lo avevo dato proprio per scontato.. :D :D :D

Re: Sistema LAMP

MessaggioInviato: 24 apr 2008, 21:32
di Ibanez89
finalmente ci sono riuscito ad installarlo sul server... solo che ho dei problemini... come creo link simbolici? cioè quando metto il mio infirizzo mi da la cartella radice di var/www/ e non var/www/apache2-default più che altro mi servirebbe per privacy

Re: Sistema LAMP

MessaggioInviato: 25 apr 2008, 00:17
di diegofio
in teoria dovresti andare nel file 000-default che si trova in /etc/apache2/sites-available/
(almeno sul mio pc)

cambia tutte le /var/www nella cartella che vuoi tu

Re: Sistema LAMP

MessaggioInviato: 25 apr 2008, 00:17
di dannyb78
devi cambiare la www root nelle configurazioni di apache, ma non ricordo esattamente dove. Cerca in etc/apache