Differences between revisions 6 and 13 (spanning 7 versions)
Revision 6 as of 2013-08-04 14:49:47
Size: 6451
Comment: sync with English master
Revision 13 as of 2020-03-27 12:52:02
Size: 6811
Comment: sync with English master v. 41
Deletions are marked like this. Additions are marked like this.
Line 2: Line 2:
~-[[DebianWiki/EditorGuide#traduction|Translation(s)]] : [[LaMp|English]] - [[fr/Lamp|Français]] - Italiano - [[ru/LaMp|Русский]] - [[zh_CN/LAMP|简体中文]]-~ ~-[[DebianWiki/EditorGuide#traduction|Traduzioni]] : [[LaMp|English]] - [[fr/Lamp|Français]] - Italiano - [[ru/LaMp|Русский]] - [[zh_CN/LAMP|简体中文]]-~
Line 8: Line 8:
 * ... e che __M__ySQL può essere sostituito da __M__ariaDB!
Line 62: Line 63:
    </LimitExcept>
        </Directory>
</IfModule>
}}}
Per Apache 2.4 e successivi usare invece:
{{{
<IfModule mod_userdir.c>
        UserDir public_html
        UserDir disabled root

        <Directory /home/*/public_html>
  AllowOverride All
  Options MultiViews Indexes SymLinksIfOwnerMatch
  <Limit GET POST OPTIONS>
          Require all granted
  </Limit>
  <LimitExcept GET POST OPTIONS>
          Require all denied
Line 84: Line 103:
        Require all granted
Line 87: Line 107:
        Require all denied
Line 105: Line 126:
 # aptitude install php5 php5-mysql libapache2-mod-php5  # aptitude install php php-mysql
Line 123: Line 144:
Per testare l'interfaccia PHP, modificare il file {{{/var/www/apache2-default/test.php}}}: Per testare l'interfaccia PHP, modificare il file {{{/var/www/html/test.php}}}:
Line 125: Line 146:
 # nano /var/www/apache2-default/test.php  # nano /var/www/html/test.php
Line 131: Line 152:
Successivamente, puntare il proprio browser su {{{http://IP_SERVER/apache2-default/test.php}}} per iniziare ad usarlo. Successivamente, puntare il proprio browser su {{{http://IP_SERVER/test.php}}} per iniziare ad usarlo.
Line 135: Line 156:
Probably si desidera installare anche phpMyAdmin per facilitare la configurazione: Probabilmente si desidera installare anche phpMyAdmin per facilitare la configurazione:
Line 152: Line 173:
{{{
Line 154: Line 175:
}}}
Line 162: Line 183:
Questa pagina è largamente basata su http://linux.justinhartman.com/Setting_up_a_LAMP_Server.
## If the page is ever translated in French: [http://doc.ubuntu-fr.org/lamp http://doc.ubuntu-fr.org/lamp]
 * [[WordPress]]
Line 166: Line 186:
 CategorySystemAdministration  
CategorySystemAdministration CategoryNetwork CategorySoftware

Traduzioni : English - Français - Italiano - Русский - 简体中文


LAMP, Linux Apache MySQL PHP

  • Alcuni sostengono che PHP può essere sostituito da Python o Perl.

  • ... e che Apache può essere sostituito da lighttpd!
  • ... e che MySQL può essere sostituito da MariaDB!

Installazione

Prima di iniziare l'installazione, assicurarsi che la propria distribuzione sia aggiornata (il "#" indica che si deve eseguire il comando come root):

 # aptitude update && aptitude upgrade

MySQL

Poi installare mysql usando il comando seguente:

 # aptitude install mysql-server mysql-client

Immediatamente dopo aver installato il server MySQL si dovrebbe cambiare la sua password root:

  • Questa operazione non è necessaria per Lenny, dato che verrà chiesto di inserire la password dell'utente root di MySQL durante l'installazione.

 # /usr/bin/mysqladmin -u root password 'inserire-qui-la-propria-nuova-buona-password'

Non si deve mai usare l'account e la password root quando si eseguono database. L'account root è un account privilegiato che dovrebbe essere usato solo per procedure amministrative. Sarà necessario creare un account utente separato per connettersi ai propri database MySQL da uno script PHP. Si possono aggiungere utenti ad un database MySQL usando un pannello di controllo come phpMyAdmin, per creare facilmente utenti o assegnargli permessi per i database.

Apache2

Il server web può essere installato con:

 # aptitude install apache2 apache2-doc

Configurare le directory utente per il server web Apache

Abilitare il modulo

# a2enmod userdir

Configurare il modulo userdir Apache in /etc/apache2/mods-enabled/userdir.conf come segue:

<IfModule mod_userdir.c>
        UserDir public_html
        UserDir disabled root

        <Directory /home/*/public_html>
                AllowOverride All
                Options MultiViews Indexes SymLinksIfOwnerMatch
                <Limit GET POST OPTIONS>
                        Order allow,deny
                        Allow from all
                </Limit>
                <LimitExcept GET POST OPTIONS>
                        Order deny,allow
                        Deny from all
                  </LimitExcept>
        </Directory>
</IfModule>

Per Apache 2.4 e successivi usare invece:

<IfModule mod_userdir.c>
        UserDir public_html
        UserDir disabled root

        <Directory /home/*/public_html>
                AllowOverride All
                Options MultiViews Indexes SymLinksIfOwnerMatch
                <Limit GET POST OPTIONS>
                        Require all granted
                </Limit>
                <LimitExcept GET POST OPTIONS>
                        Require all denied
                </LimitExcept>
        </Directory>
</IfModule>

Creare la directory da utente (non da root):

$mkdir /home/$USER/public_html

Cambiare gruppo da root (sostituire nel comando il proprio nome utente) e riavviare il server web:

# chgrp www-data /home/<nome_utente>/public_html
# service apache2 restart

Se si ottiene un errore Forbidden quando si accede alla cartella home da Apache, controllare che /home/nome_utente abbia i permessi impostati a drwxr-xr-x. Se i permessi sono sbagliati, correggerli usando:

# chmod 755 /home/<nome_utente>

Per poter servire PHP (PHP deve essere installato, come dicono le istruzioni) controllare che /etc/apache2/mods-available/php5.conf sia corretto:

<IfModule mod_php5.c>
    <FilesMatch "\.ph(p3?|tml)$">
        SetHandler application/x-httpd-php
        Require all granted
    </FilesMatch>
    <FilesMatch "\.phps$">
        SetHandler application/x-httpd-php-source
        Require all denied
    </FilesMatch>
    # Per ri-abilitare php nelle directory utente commentare le righe seguenti
    # (da <IfModule ...> a </IfModule>.) NON lo impostare a On dato che
    # impedisce ai file .htaccess di disabilitarlo.
    #<IfModule mod_userdir.c>
    #    <Directory /home/*/public_html>
    #        php_admin_value engine Off
    #    </Directory>
    #</IfModule>
</IfModule>

Mettere dei contenuti web in ~/public_html e vedere il risultato su http://localhost/~nome_utente

La parte "P"

Installare la componente PHP di LAMP in Debian è piuttosto semplice, basta digitare in console da root (il # è il simbolo del prompt per root):

 # aptitude install php php-mysql

Se si preferisce Perl, allora si può considerare di usare:

 # aptitude install perl libapache2-mod-perl2

Se si preferisce Python, allora si può considerare l'uso di:

 # aptitude install python libapache2-mod-python

Configurazione

File di configurazione di Apache2: /etc/apache2/apache2.conf

Si può modificare questo file quando necessario, ma per le applicazioni più semplice non dovrebbe essere necessario dato che la maggior parte delle cose viene ora fatta usando conf.d.

Testare PHP

Per testare l'interfaccia PHP, modificare il file /var/www/html/test.php:

 # nano /var/www/html/test.php

e inserire il codice seguente.

<?php phpinfo(); ?>

Successivamente, puntare il proprio browser su http://IP_SERVER/test.php per iniziare ad usarlo.

phpMyAdmin

Probabilmente si desidera installare anche phpMyAdmin per facilitare la configurazione:

 # aptitude install phpmyadmin

Per avere l'accesso a phpMyAdmin sul proprio sito web (cioè http://example.com/phpMyAdmin/ ) tutto ciò che è necessario fare è includere la riga seguente in /etc/apache2/apache2.conf (necessaria solo prima di Squeeze; a partire da 6.0 verrà creato automaticamente dallo script di installazione del pacchetto il collegamento /etc/apache2/conf.d/phpmyadmin.conf -> ../../phpmyadmin/apache.conf):

Include /etc/phpmyadmin/apache.conf

Riavviare Apache:

 # /etc/init.d/apache2 restart

Andare su http://IP_SERVER/phpmyadmin/ per iniziare ad usarlo. (Sostituire IP_SERVER con l'IP o il nome del proprio PC/server oppure il nome invece di IP_SERVER) (L'IP di localhost è sempre 127.0.0.1).)

PHP: /etc/php5/apache2/php.ini

Un problema comune con la configurazione di PHP è abilitare MySQL. Basta modificare il file e decommentare la riga seguente (suggerimento: cercare mysql)

extension=mysql.so

Notare che questo non dovrebbe essere più necessario dato che ora viene usato conf.d.

MySQL : /etc/mysql/my.cnf

You can find configuration examples in /usr/share/doc/mysql-server/examples

Vedere anche


CategorySystemAdministration CategoryNetwork CategorySoftware