Differenze

Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.

Link a questa pagina di confronto

Prossima revisione
Revisione precedente
linux:webserver:ampp_server [2015/06/08 20:15] – modifica esterna 127.0.0.1linux:webserver:ampp_server [2019/08/14 16:37] (versione attuale) – creata apressato
Linea 15: Linea 15:
 ===== 3. Configurare la rete ===== ===== 3. Configurare la rete =====
  
 +http://www.cyberciti.biz/faq/setting-up-an-network-interfaces-file/
 ===== 4. Aggiornare Linux (Opzionale) ===== ===== 4. Aggiornare Linux (Opzionale) =====
 Digitare  Digitare 
Linea 42: Linea 43:
 Alcuni dei seguenti pacchetti sono propedeutici al completamento del server, altri servono solo per rendere la vita "piu facile". Alcuni dei seguenti pacchetti sono propedeutici al completamento del server, altri servono solo per rendere la vita "piu facile".
 <code bash> <code bash>
-sudo apt-get install binutils cpp fetchmail flex gcc libarchive-zip-perl libc6-dev libcompress-zlib-perl libdb4.3-dev libpcre3 libpopt-dev lynx m4 make ncftp nmap openssl perl perl-modules unzip zip zlib1g-dev autoconf automake1.9 libtool bison autotools-dev g++ build-essential+sudo apt-get install binutils cpp fetchmail flex gcc libarchive-zip-perl libc6-dev libio-compress-perl libdb5.1-dev libpcre3 libpopt-dev lynx m4 make ncftp nmap openssl perl perl-modules unzip zip zlib1g-dev autoconf automake1.9 libtool bison autotools-dev g++ build-essential
 sudo apt-get install mc imagemagick curl sudo apt-get install mc imagemagick curl
 </code> </code>
Linea 50: Linea 51:
 Per installare MySQL digitare Per installare MySQL digitare
 <code bash> <code bash>
-sudo apt-get install mysql-server mysql-client libmysqlclient15-dev+sudo apt-get install mysql-server mysql-client
 </code> </code>
  
Linea 57: Linea 58:
  
 A fine installazione MySQL è attivo ma risponde solo per interrogazioni che provengono da ''localhost''  A fine installazione MySQL è attivo ma risponde solo per interrogazioni che provengono da ''localhost'' 
-quindi necessitano software come phpMyAdmin per lavorarci. \\+quindi necessitano di software come phpMyAdmin per lavorarci. \\
 Volendo poterci lavorare anche da altre postazioni è necessario modificare il file ''/etc/mysql/my.cnf'' commentantdo la linea ''bind-address = 127.0.0.1'' Volendo poterci lavorare anche da altre postazioni è necessario modificare il file ''/etc/mysql/my.cnf'' commentantdo la linea ''bind-address = 127.0.0.1''
    
 <code bash> <code bash>
-sudo vi /etc/mysql/my.cnf+sudo nano /etc/mysql/my.cnf
 </code> </code>
 <file> <file>
Linea 91: Linea 92:
 </cli> </cli>
  
-===== 9. Installare e Configurare Apache =====+===== 9. Installare il frontend Web ===== 
 + 
 +==== 9.1. Installare Apache ====
  
 Installare Apache digitando Installare Apache digitando
Linea 99: Linea 102:
 </code> </code>
  
 +==== 9.2. Installare PHP5 / Python / Perl / Ruby ====
 +
 +=== PHP5 ===
 +
 +Per installare PHP e gran parte delle sue librerie digitare
 +<code bash>
 +sudo apt-get install libapache2-mod-php5 php5 php5-common php5-curl php5-dev php5-gd php5-idn php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-mhash php5-ming php5-mysql php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl php-pear
 +</code>
 +
 +Consiglio di aggiungere anche i seguenti moduli per i collegamenti con DB diversi da MySQL e per la grafica
 +
 +<code bash>sudo apt-get install php5-odbc php5-pgsql php5-sybase php5-ldap php5-sqlite3 php5-interbase libphp-jpgraph</code>
 +
 +=== Python ===
 +
 +Per installare il modulo Python di Apache digitare
 +
 +<code bash>sudo apt-get install libapache2-mod-python</code>
 +
 +Potrebbe essere utile installare anche questi moduli
 +
 +<code bash>sudo apt-get install python-mysqldb python-xml</code>
 +
 +Per cercarne altri 
 +
 +<code bash>sudo apt-cache search python</code>
 +
 +
 +=== Perl ===
 +
 +Per installare il modulo Perl di Apache digitare
 +
 +<code bash>sudo apt-get install libapache2-mod-perl2</code>
 +
 +=== Ruby ===
 +
 +Non ho fatto test su Ruby perché non lo conosco, per installarlo
 +
 +<code bash>sudo apt-get install libapache2-mod-ruby</code>
 +
 +
 +===== 10. Configurare il frontend Web =====
 +
 +==== 10.1. Configurare di Apache ====
 <note important> <note important>
-La parte seguente non è un must ... è la via che ho trovato io per fare funzionare tutto e per poter uploadare il sito in ftp.+La parte seguente non è un must ... è la via che ho trovato io per fare funzionare tutto e per poter uploadare il sito in ftp. \\ 
 +In parte è presa dalla [[https://wiki.debian.org/it/LaMp|documentazione]] di Debian
 </note> </note>
  
Linea 125: Linea 173:
  
 <code bash> <code bash>
-mkdir www +mkdir public_html 
-mkdir www/htdocs +mkdir public_html/cgi-bin
-mkdir www/cgi-bin+
 mkdir backup mkdir backup
 </code> </code>
Linea 139: Linea 186:
 </code> </code>
    
-e dare i diritti sulle cartelle appena create+cambiare il gruppo sulla cartella appena creata e riavviare il webserver
  
 <code bash> <code bash>
-sudo chown -R www-data:www-data /home/webmaster/www +chgrp www-data /home/<nome_utente>/public_html 
-sudo chmod -R 775 /home/webmaster/www +service apache2 restart
-sudo chown -R www-data:www-data /home/webmaster/backup +
-sudo chmod -R 775 /home/webmaster/backup+
 </code> </code>
  
-In questo modo gli script PHP potranno scrivere in locale ed il sito potrà essere uploadato tramite ftp.+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-xSe i permessi sono sbagliati, correggerli usando: 
  
-==== Creare il Nuovo Sito ==== +<code bash> 
-Ora bisogna spiegare ad Apache cosa deve fare copiare il template del sito di default in quello nel nostro nuovo sito +chmod 755 /home/<nome_utente>
- +
-<code bash>  +
-sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/[VOSTRO_SITO]+
 </code> </code>
  
-Editare il nuovo file di configurazione 
  
-<code bash>  +==== 10.2. Configurazione dei linguaggi per il funzionamento con Apache ====
-sudo vi /etc/apache2/sites-available/[VOSTRO_SITO] +
-</code>+
  
-Cambiare il valore della direttiva ''DocumentRoot'' e farlo puntare alla cartella precedentemente creata+=== PHP === 
 +Per poter usare PHP controllare che ''/etc/apache2/mods-available/php5.conf'' sia corretto:
  
-<file+<code bash
-DocumentRoot /home/webmaster/www/htdocs +sudo nano /etc/apache2/mods-available/php5.conf 
-</file> +</code>
- +
-Ed in modo analogo modificare la direttiva ''Directory'' +
  
 <file> <file>
-<Directory /var/www/> +<IfModule mod_php5.c> 
 +    <FilesMatch "\.ph(p3?|tml)$"> 
 +        SetHandler application/x-httpd-php 
 +    </FilesMatch> 
 +    <FilesMatch "\.phps$"> 
 +        SetHandler application/x-httpd-php-source 
 +    </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>
 </file> </file>
  
-in +=== Python ===
- +
-<file> +
-<Directory /home/webmaster/www/htdocs>  +
-</file> +
- +
-Un'ultima modifica per definire / modificare la posizione della cartella CGI +
- +
-<file> +
-ScriptAlias /cgi-bin/ /home/webmaster/www/cgi-bin/ +
-<Directory /home/webmaster/www/cgi-bin> +
-          Options ExecCGI +
-          AddHandler cgi-script cgi pl +
-</Directory>  +
-</file> +
- +
-Salvare ed uscire. +
-Ora è necessario disabilitare il sito di default +
- +
-<code bash>  +
-sudo a2dissite default +
-</code>  +
- +
-ed abilitare il nuovo +
- +
-<code bash>  +
-sudo a2ensite [VOSTRO_SITO] +
-</code>  +
- +
-Perchè le modifiche vengano recepite è necessario riavviare Apache +
- +
-<code bash>  +
-sudo /etc/init.d/apache2 restart +
-</code>  +
- +
-===== 10. Installare e Configurare PHP5 / Python / Perl / Ruby ===== +
- +
-==== PHP5 ==== +
- +
-Per installare PHP e gran parte delle sue librerie digitare +
-<code bash> +
-sudo apt-get install libapache2-mod-php5 php5 php5-common php5-curl php5-dev php5-gd php5-idn php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-mhash php5-ming php5-mysql php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl php-pear +
-</code> +
- +
-Consiglio di aggiungere anche i seguenti moduli per i collegamenti con DB diversi da MySQL +
- +
-<code bash>sudo apt-get install php5-odbc php5-pgsql php5-sybase php5-ldap php5-sqlite3 php5-interbase libphp-jpgraph</code> +
- +
-==== Python ==== +
- +
-Per installare il modulo Python di Apache digitare +
- +
-<code bash>sudo apt-get install libapache2-mod-python</code>+
  
 Esistono due modi per gestire il codice Python con Apache Esistono due modi per gestire il codice Python con Apache
Linea 237: Linea 238:
 <code bash> <code bash>
 cd /etc/apache2/mods-available/ cd /etc/apache2/mods-available/
-sudo vi mod_python.conf+sudo nano python.conf
 </code> </code>
  
Linea 251: Linea 252:
  
 A questo punto è necessario attivare il modulo Python A questo punto è necessario attivare il modulo Python
-<code bash>sudo a2enmod mod_python</code> +<code bash>sudo a2enmod python</code> 
  
 Se dovesse risultare già attivo è necessario disattivarlo prima di procedere ad una nuova attivazione Se dovesse risultare già attivo è necessario disattivarlo prima di procedere ad una nuova attivazione
Linea 259: Linea 260:
 Potrebbe essere utile installare anche questi moduli Potrebbe essere utile installare anche questi moduli
  
-<code bash>sudo apt-get install python-mysqldb python-xml</code>+<code bash>sudo apt-get install python-mysqldb</code>
  
 Per cercarne altri  Per cercarne altri 
Linea 266: Linea 267:
  
  
-==== Perl ===+=== Perl ===
- +
-Per installare il modulo Perl di Apache digitare +
- +
-<code bash>sudo apt-get install libapache2-mod-perl2</code>+
  
 Analogamente a quanto visto per Python è necessario creare il file ''perl.conf'' in ''/etc/apache2/mods-available/''  Analogamente a quanto visto per Python è necessario creare il file ''perl.conf'' in ''/etc/apache2/mods-available/'' 
  
-<code bash>sudo vi /etc/apache2/mods-available/perl.conf</code>+<code bash>sudo nano /etc/apache2/mods-available/perl.conf</code>
  
 e valorizzarlo come segue e valorizzarlo come segue
Linea 291: Linea 288:
 <code bash>sudo a2enmod perl</code> <code bash>sudo a2enmod perl</code>
  
-==== Ruby ==== 
  
-Non ho fatto test su Ruby perché non lo conosco, per installarlo +==== 10.3. Ultimi Ritocchi ====
- +
-<code bash>sudo apt-get install libapache2-mod-ruby</code> +
- +
- +
-==== Ultimi Ritocchi ====+
 Perché tutto funzioni correttamente è necessario editare il file ''/etc/apache2/mods-available/dir.conf'' Perché tutto funzioni correttamente è necessario editare il file ''/etc/apache2/mods-available/dir.conf''
-<code bash>sudo vi /etc/apache2/mods-available/dir.conf</code>+<code bash>sudo nano /etc/apache2/mods-available/dir.conf</code>
 e modificare la direttiva ''DirectoryIndex'' come segue e modificare la direttiva ''DirectoryIndex'' come segue
  
Linea 325: Linea 316:
 sudo /etc/init.d/apache2 restart sudo /etc/init.d/apache2 restart
 </code> </code>
 +
 +o più velocemente
 +
 +<code bash>
 +sudo service apache2 restart
 +</code>
 +
 +
  
 ===== 11. Primi Test ===== ===== 11. Primi Test =====
Linea 403: Linea 402:
 Editare il file ''proftpd.conf'' ed aggiungere le righe riportate di seguito Editare il file ''proftpd.conf'' ed aggiungere le righe riportate di seguito
  
-<code bash>sudo vi /etc/proftpd/proftpd.conf</code>+<code bash>sudo nano /etc/proftpd/proftpd.conf</code>
 <file> <file>
 [...] [...]
Linea 416: Linea 415:
 <code bash>sudo /etc/init.d/proftpd restart</code> <code bash>sudo /etc/init.d/proftpd restart</code>
  
-===== xx. Postfix With SMTP-AUTH And TLS =====+===== xx. Postfix con SMTP-AUTH TLS =====
  
-===== 14. Synchronize the System Clock =====+===== 14. Sincronizzare l'orologio di sistema =====
 Poiché tutti i log e molte operazioni sono legate all'orario di sistema,  Poiché tutti i log e molte operazioni sono legate all'orario di sistema, 
 è una buona idea tenere aggiornato l'orologio di sistema con un NTP (**n**etwork **t**ime **p**rotocol) server su internet. \\ è una buona idea tenere aggiornato l'orologio di sistema con un NTP (**n**etwork **t**ime **p**rotocol) server su internet. \\
Linea 436: Linea 435:
 Selezionare **Apache2** (usando la barra spaziatrice e non l'invio :!:) Selezionare **Apache2** (usando la barra spaziatrice e non l'invio :!:)
  
-Per testarne il funzionamento è sufficiente aprire un borwser e farlo puntare a **%%http://[vostro sito]/phpmyadmin%%**+Per testarne il funzionamento è sufficiente aprire un borwser e farlo puntare a **%%http://[vostro_sito]/phpmyadmin%%**
  
-==== Webalizer ====+==== AWStats ====
 Questo software è un analizzatore del file ''access.log'' di Apache. Questo software è un analizzatore del file ''access.log'' di Apache.
 Genera grafici sulla fruizione delle pagine. Genera grafici sulla fruizione delle pagine.
 +
 Per installarlo basta digitare Per installarlo basta digitare
-<code bash>sudo apt-get install webalizer</code> +<code bash>sudo apt-get install awstats</code>
-Di default la cartella di webalizer viene posta in ''/var/www/webalizer''+
-E' necessario spostarla dove il veb server possa trovarla.+
  
-Creare la nuova cartella dove verranno messi i report+Se si vuole avere anche la geolocalizzazione dei visitatori installare anche 
 <code bash> <code bash>
-su webmaster +sudo apt-get install libnet-ip-perl 
-mkdir /home/webmaster/www/htdocs/webalizer +sudo apt-get install libgeo-ipfree-perl
-exit+
 </code> </code>
-Modificare il file di configurazione 
-<code bash>sudo vi /etc/webalizer/webalizer.conf</code> 
-e modificare la riga 
-<file>OutputDir /var/www/webalizer</file> 
-in  
-<file>OutputDir /home/webmaster/www/htdocs/webalizer</file> 
  
-Potrebbere rendersi anche necessario modificare la linea +Il file di configurazione di AWStats si trova in ''/etc/awstats''
-<file>LogFile /var/log/apache2/access.log.1</file> +Viene fornito un template chiamato "awstats.conf".
-in +
-<file>LogFile /var/log/apache2/access.log</file>+
  
-Webalizer viene schedulato in automatico ma per testarne il funzionamento sarà necessario lanciarlo mano +E' necessario creare una copia di ''awstats.conf'' per ogni dominio di cui si desidera avere le statistiche: 
-<code bash>sudo webalizer</code>+<code bash>sudo cp /etc/awstats/awstats.conf /etc/awstats/awstats.yourdomain.ext.conf</code> 
 +Successivamente modificare il nuovo file 
 +<code bash>sudo nano /etc/awstats/awstats.yourdomain.ext.conf</code> 
 +e renderlo come segue: 
 +<file> 
 +# apache2 
 +LogFile="/var/log/apache2/access.log"  
 + 
 +# domain name 
 +SiteDomain="yourdomain.ext" 
 +HostAliases="localhost 127.0.0.1 yourdomain.ext" 
 + 
 +LogFormat=1 
 +</file> 
 + 
 +Potete anche aggiungere le seguenti righe per attivare i plugins della geolocalizzazione 
 + 
 +<file> 
 +LoadPlugin="tooltips" 
 +LoadPlugin="geoipfree" 
 +</file> 
 + 
 +Generare le prime statistiche (basate sul file ''var/log/apache2/access.log'' già esistente 
 +<code bash>/usr/lib/cgi-bin/awstats.pl -config=yourdomain.ext -update</code> 
 + 
 +Dovreste ottenere un output simile questo 
 +<cli> 
 +Create/Update database for config "/etc/awstats/awstats.toto.com.conf" by AWStats version 6.7 (build 1.892) 
 +From data in log file "/var/log/apache2/access.log"... 
 +Phase 1 : First bypass old records, searching new record... 
 +Searching new records from beginning of log file... 
 +Phase 2 : Now process new records (Flush history on disk after 20000 hosts)... 
 +Jumped lines in file: 0 
 +Parsed lines in file: 191338 
 + Found 0 dropped records, 
 + Found 24 corrupted records, 
 + Found 0 old records, 
 + Found 191314 new qualified records. 
 +</cli> 
 + 
 +Creare il file ''/etc/apache2/conf.d/statistics'' 
 +<code bash>nano /etc/apache2/conf.d/statistics</code> 
 +e copiarvi le seguenti linee 
 +<file> 
 +Alias /awstatsclasses "/usr/share/awstats/lib/" 
 +Alias /awstats-icon/ "/usr/share/awstats/icon/" 
 +Alias /awstatscss "/usr/share/doc/awstats/examples/css" 
 +ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ 
 +ScriptAlias /statistics/ /usr/lib/cgi-bin/ 
 +Options ExecCGI -MultiViews +SymLinksIfOwnerMatch 
 +</file> 
 + 
 +Riavviare Apache 
 +<code bash>sudo /etc/init.d/apache2 restart</code
 +e verificare se tutto ha funzionato puntando il vostro browser su \\ 
 +http://yourdomain.ext/awstats/awstats.pl \\ 
 +o \\ 
 +http://yourdomain.ext/awstats/awstats.pl?config=yourdomain.ext \\ 
 +se avere più files di configurazione. 
 + 
 +Per rendere la generazione delle statistiche automatica è necessario mettere la chiamata per l'aggiornamento in ''contab'' 
 +<code bash>crontab -e</code> 
 +ed aggiungere queste righe 
 +<file> 
 +# update every 10 min 
 +*/10 * * * * root /usr/lib/cgi-bin/awstats.pl -config=toto.com -update > /dev/null 
 +</file>
  
-Per verificare il risultato sul webserver aprire un browser e puntare a **%%http://[vostro sito]/webalizer%%**+^Riferimenti^ 
 +|[[http://awstats.sourceforge.net/|Sito Ufficiale 1]]| 
 +|[[http://www.awstats.org/|Sito Ufficiale 2]]| 
 +|[[http://awstats.sourceforge.net/docs/awstats_faq.html]]| 
 +|[[http://awstats.sourceforge.net/docs/index.html]]| 
 +|[[http://awstats.sourceforge.net/docs/awstats_setup.html]]| 
 +|[[http://jeromejaglale.com/doc/ubuntu/awstats]]| 
 +|[[http://ubuntu-tutorials.com/2008/01/16/configuring-awstats-on-ubuntu-server/]]| 
 +|[[http://www.mneylon.com/blog/archives/2005/08/03/configuring-awstats-with-apache-2-on-ubuntu/]]| 
 +|[[https://help.ubuntu.com/community/AWStats]]| 
 +|[[http://kastang.com/blog/2010/07/awstats-on-ubuntu-10-04-server/]]|
  
 ==== Dokuwiki ==== ==== Dokuwiki ====
linux/webserver/ampp_server.1433794552.txt.gz · Ultima modifica: 2015/06/08 20:15 da 127.0.0.1
Torna su
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0