Linux: Installare LAMP su Ubuntu e Kubuntu
preso da: nazarenolatella.myblog.it
Linux: Installare LAMP (su Kubuntu Feisty 7.04) testato anche su Ubuntu 10.04
L’acronimo LAMP sta per Linux Apache MySQL Php, ed indica i 4 componenti necessari affinchè lo sviluppatore Php (ed eventualmente MySQL) possa effettuare delle operazioni di testing in locale. Di seguito spiegherò come installare/configurare LAMP, rendendo la vita più facile a tutti coloro che per la prima volta si stanno avvicinando alla programmazione serverside e non hanno idea da dove iniziare.
Bene, la prima cosa da fare è preparare la nostra macchina all’installazione, effettuando un semplice upgrade dei pacchetti:
sudo apt-get upgrade
Una volta terminata tale operazione possiamo installare i seguenti pacchetti:
sudo apt-get install apache2-mpm-prefork libapache2-mod-php5 mysql-server php5-mysql php5-gd
Il file di configurazione di apache (apache2.conf) si trova nella dir /etc/apache2 mentre il file di configurazione relativo a Php è /etc/php5/apache2/php.ini
Infine, la DocumentRoot di default (cioè dove andrete a salvare le vostre pagine web per testarle in locale) è /var/www.
Spesso e volentieri, però, il nostro server web non ci permette di visualizzare le pagine presenti nella DocumentRoot (forbidden). Si tratta semplicemente di andare a creare una sottodir di prova nella cartella www, modificando i permessi della stessa e dei file che contiene. Ad esempio:
1) Mi posiziono nella dir di interesse
cd /var/www
2) Creo la sottodir prova
sudo mkdir prova
3) Ne modifico i permessi
sudo chmod 777 prova
4) Infine inserisco le pagine da me create all’interno della cartella prova, stando attento anche ai permessi ad esse associati
ls -l
e se occorre:
sudo chmod 777 nomepagina
Apriamo adesso il nostro browser e digitiamo l’indirizzo http://localhost, clickiamo su prova (che è parte dell’output relativo al directory listing effettuato dal server Apache2) e successivamente potremo visualizzare tutte le pagine da noi precedentemente create. Per i file con estensione *.php, bisogna controllare che il nostro webserver non restituisca un messaggio di errore quando cercheremo di aprirli oppure che non venga avviato in automatico il download degli stessi. In questo caso occorre inserire la seguente stringa nel file /etc/apache2/apache2.conf:
LoadModule php5_module modules/libphp5.so
AddType application/x-httpd-php .php
Riavviamo dunque il web server digitando il seguente comando (affinchè vengano caricate le nuove impostazioni):
sudo /etc/init.d/apache2 restart
Ora dovrebbe essere possibile visualizzare le nostre pagine editate in Php direttamente sul webserver locale.
Come già saprete, una delle principali caratteristiche del linguaggio Php è rappresentata dalla possibilità di interagire con DBMS quali MySQL oppure ORACLE. Poprio per garantire tale funzionalità, tra i pacchetti da installare citati in precedenza ho inserito anche php5-mysql, estensione che permette al linguaggio di scripting serverside in questione di effettuare operazioni su uno o più database.
Infine, per gestire in modo semplice ed immediato le nostre tabelle editate mediante MySQL basta scaricare una GUI creata appositamente per l’amministrazione di tale DBMS, digitando:
sudo apt-get install mysql-admin
PS
abilitare i modili apache2 cod:
sudo a2enmod rewrite
Al termine dell’installazione di phpmyadmin dovreste avere a disposizione la vostra maschera di login su http://localhost/phpmyadmin , nel caso non fosse così aprite una shell e digitate il comando:
sudo ln -s /usr/share/phpmyadmin /var/www/phpmyadmin
————————————————————————————————————
altri comandi opzionali: cambio passwd. admin
mysqladmin -u root password <nuovapassword>
phpmyadmin login automatico senza password
sudo gedit /usr/share/phpmyadmin/libraries/config.default.php
cerca e modifica in true le righe seguenti:
$cfg['Servers'][$i]['AllowRoot'] = true; $cfg['Servers'][$i]['AllowNoPassword'] = true;
Spero di essere stato esaustivo. A presto.
Installare un server lamp su Linux Ubuntu
in dettaglio, preso da: http://www.webgrafic.net/installare-server-lamp-linux-ubuntu
Lun, 01/06/2009 – 13:17 | by Webgrafic
Chi testa in locale (nel proprio pc) i siti realizzati in php aprezzerà sicuramente la velocità di un server LAMP (Linux, Apache, Mysql, Php). Nella creazione e sviluppo di siti web è preferibile operare in locale e trasferire il tutto in rete nel momento in cui il sito è completato. Ciò permette di avere una maggior velocità di quella che si avrebbe operando sul server remoto. Nel server remoto dovremmo trasferire i file ad ogni ogni modifica e questo renderebbe lento il nostro lavoro.
Chi usa Winwods e vuole provare la potenza di un server LAMP installato su Linux Ubuntu, ma non vuole fare modiche alle partizioni, può utilizzare Wubi. Wubi è un programmino che installerà Ubuntu all’interno di Windows come fosse un’applicazione, permettendo di rimuoverlo come qualsiasi altro programma in Windows.
Installiamo il server
Per installare un server LAMP in Ubuntu come prima cosa apriamo il terminale:
Poi copiamo ed incolliamo nel terminale il comando:
sudo apt-get install apache2 apache2-mpm-prefork php5-mysql mysql-server php5 libapache2-mod-php5 php5-cgi php5-gd php5-cli phpmyadmin
Premiamo invio ed inseriamo la nostra password di root (quella che usiamo per accedere ad Ubuntu). Premiamo di nuovo invio e comincerà il download e l’installazione dei pacchetti necessari.
Durante l’installazione ci verrà chiesto di fornire la password di root per MySQL che inseriremmo due volte. Con questi dati di login potremmo poi accedere a phpMyAdmin per gestire i nostri database.
Nella finestra dove viene chiesto il tipo di server web da configurare automaticamente per eseguire PhpMyAdmin lasciamo apache2.
Nella finestra successiva lasciamo l’impostazione <Sì> ed in quella che segue inseriamo una password come amministratore del database che ci servirà ad accedere a PhpMyAdmin.
Completata l’installazione, se tutto è andato nel verso giusto, aprendo il nostro browser e digitando l’indirizzo: http://localhost dovrebbe apparire: work
Completare la configurazione di PhpMyAdmin
Andando all’indirizzo http://localhost/phpmyadmin dovrebbe apparire la finestra di accesso a PhpMyAdmin per la gestione del database. Se questo non avviene è sufficiente fare una semplice modifica al file apache2.conf.
Apriamo il terminale e digitiamo: sudo gedit /etc/apache2/apache2.conf
Inseriamo la nostra password di root e si aprirà il file apache2.conf, in fondo aggiungiamo (o modifichiamo come segue se già la voce è già presente) :
# Enable PHPMyAdmin
Include /etc/phpmyadmin/apache.conf
Quando fatto, riavviamo apache dal terminale con il comando: sudo /etc/init.d/apache2 restart
Ora andando all’indirizzo http://localhost/phpmyadmin potremo accedere alla gestione database digitando root come nome utente e, come password, la password che abbiamo scelto precedentemente.
Attivare il mod rewrite
Il mod rewrite serve per il vostro server apache a far si che le pagine dinamiche (in questo caso in php) cambino totalmente estensione e sembrino pagine html statiche. Questa trasformazione ha lo scopo di far si che la vostra pagina venga assimilata meglio dai motori di ricerca. In locale questa modifica normalmente non serve, però può capitare che moduli aggiuntivi del vostro CMS preferito lo richiedano, quindi è meglio attivarlo.
Prima di tutto lanciamo nel terminale questo comando: sudo a2enmod rewrite
Inseriamo la password di root e, se tutto è andato bene, apparirà un messaggio come segue:
Ora riavviamo apache dal terminale con il comando: sudo /etc/init.d/apache2 restart
Continuiamo le modifiche necessarie e digitiamo sulla finestra del terminale il comando: cd /etc/apache2/sites-enabled
Poi il comando: sudo gedit 000-default
Nel file che si aprirà, sostituiamo:
Options FollowSymLinks
AllowOverride None
Con:
Options All
AllowOverride All
Poi sostituiamo:
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
Con:
Options All
AllowOverride All
Order allow,deny
allow from all
Salviamo il file e riavviamo apache con: sudo /etc/init.d/apache2 restart
Ora il rewrite è attivo e funzionante.
Aggiungere host virtuali al server LAMP
Ora il nostro server è completo e funzionante, ma di default la cartella contenente il nostro sito (/var/www) è accessibile in scritta solamente avendo i permessi di root. Questa cosa, mentre è fondamentale per un server in rete, è piuttosto scomoda per lavorare in locale per dei semplici test.
Inoltre potremmo aver bisogno, per diversi motivi, di poter lavorare su di una serie di siti separati. Ognuno raggiungibile digitando su browser non localhost/nomesito ma ad esempio test.nomestito1.it o test.nomestito2.it, quindi esattamente come se il sito si trovasse in un server remoto.
Per fare ciò, come prima cosa apriamo la nostra Cartella Home e creiamo una cartella dove ospitare i mostri siti es. www ed inseriamo una cartella per ogni sito che ci interessa:
Ora da terminale digitiamo: sudo gedit /etc/hosts
Si aprirà il file hosts in modifica dove inseriremo i nomi dei siti virtuali che vogliamo creare come nell’immagine seguente:
In pratica abbiamo aggiunto un IP 127.0.0.1 più il nome del’host virtuale che volgiamo attivare, per ognuno dei siti che vogliamo gestire.
A questo punto dobbiamo editare un file di configurazione di Apache, per cui digitiamo in un terminale: sudo gedit /etc/apache2/httpd.conf
Nel file che si aprirà, cambiando nomeutente con il vostro ed i nomi delle cartelle con le vostre (test.sito1.it ecc.), scriviamo:
###cartella www
<VirtualHost *:80>
DocumentRoot /home/nomeutente/www
ServerName localhost
</VirtualHost>
<Directory /home/nomeutente/www>
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Order allow,deny
Allow from all
</Directory>
###test.sito1.it
<VirtualHost *:80>
DocumentRoot /home/nomeutente/www/test.sito1.it
ServerName test.sito1.it
</VirtualHost>
<Directory /home/nomeutente/www/test.sito1.it>
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Order allow,deny
Allow from all
</Directory>
###sito test.sito2.it
<VirtualHost *:80>
DocumentRoot /home/nomeutente/www/test.sito2.it
ServerName test.sito2.it
</VirtualHost>
<Directory /home/nomeutente/www/test.sito2.it>
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Order allow,deny
Allow from all
</Directory>
###sito test.sito3.it
<VirtualHost *:80>
DocumentRoot /home/nomeutente/www/test.sito3.it
ServerName test.sito3.it
</VirtualHost>
<Directory /home/nomeutente/www/test.sito3.it>
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Order allow,deny
Allow from all
</Directory>
Riavviamo Apache da terminale con il comando: sudo /etc/init.d/apache2 restart
Cremiamo un file html con scritto Funziona che inseriremo nelle cartelle che volgiamo testare, poi apriamo il browser e digitiamo l’indirizzo di uno dei siti locali che abbiamo appena attivato, ad esempio test.sito1.it e:
FUNZIONA
Modificare il file php.ini
Bene, ora abbiamo tutto quello che ci serve per testare i nostri siti in locale. Potrebbe però essere necessario modificare il file php.ini per cambiare alcuni parametri.
Il comando da terminale per modificare il file php.ini è: sudo gedit /etc/php5/apache2/php.ini
Di seguito alcune impostazioni consigliate:
Upload_max_filesize: la dimensione massima file che si possono importare (es database):
upload_max_filesize = 24M
Questo parametro è dipendente da un’altro parametro: post_max_size, il quale imposta la massima dimensione di dati che può essere spedita tramita il metodo “post”, dovete configurarla con la stessa dimesione dell’upload_max_filesize, quindi cambiate questa configurazione in:
post_max_size = 24M
Max_execution_time: se dovete fare upload che impiegano molto tempo o elaborare query importanti impostate queste impostazioni a:
max_execution_time = 300
Memory_limit: se avete errori riguardo la massima memoria da abilitare cambiate questo parametro:
memory_limit = 32M
Utilizzando CMS con impostazioni che hanno forti richieste di memoria è meglio aumentarla ulteriormente. Ad esempio Drupal con Ubercart per lavorare bene richiede almeno 64M di memory limit. Impostando memory_limit = -1 la memoria viene settata ad infinito ovvero tutta la ram disponibile.
Quando fatto ricordiamoci di riavviare apache con il comando: sudo /etc/init.d/apache2 restart





Leave a Reply