806
contributi
m (template stub) |
|||
Riga 18: | Riga 18: | ||
===Apache 1.3=== | ===Apache 1.3=== | ||
====Installazione==== | |||
L' installazione nuda e cruda di Apache 1.3 in Debian di una semplicit disarmante. Tutto quello che avremo bisogno di fare consiste nel dare il comando: | |||
<pre># apt-get install apache</pre> | |||
al termine del download ci viene chiesto se vogliamo abilitare suExec: a meno di utilizzi professionali, possiamo tranquillamente rispondere "No". | |||
====Verifica==== | |||
A questo punto il nostro server web gi attivo, ma possiamo anche verificarlo tramite il comando '''ps''': | |||
<pre># ps aux |grep apache | |||
root 7378 0.0 0.4 4592 2228 pts/1 S 12:01 0:00 /usr/sbin/apache | |||
www-data 7379 0.0 0.4 4592 2364 pts/1 S 12:01 0:00 /usr/sbin/apache | |||
www-data 7380 0.0 0.4 4592 2364 pts/1 S 12:01 0:00 /usr/sbin/apache | |||
www-data 7381 0.0 0.4 4592 2204 pts/1 S 12:01 0:00 /usr/sbin/apache | |||
www-data 7382 0.0 0.4 4592 2204 pts/1 S 12:01 0:00 /usr/sbin/apache | |||
www-data 7383 0.0 0.4 4592 2204 pts/1 S 12:01 0:00 /usr/sbin/apache</pre> | |||
Notiamo subito uno dei meccanismi principali di Apache: esistono svariati processi in esecuzione. Per la rpecisione abbiamo 1 processo popriet dell' utente root e ben 5 processi di propriet dell' utente www-data.<br> | |||
Il primo processo (padre) viene lanciato da root e ed il suo unico compito consiste nel genere e controllare i restanti processi (figli). Sono questi ultimi a rispondere alle richieste http ed a fornire le pagine. In questo modo Apache gira con privilegi minimi (quelli dell' utente www-data) ed in caso di una sua eventuale compromissione gli effetti sul sistema sono in qualche misura limitati. | |||
====Configurazione==== | |||
La configurazione di Apache un compito estremamente delicato e pu richiedere conoscenze anche notevoli in svariati ambiti quali networking, programmazione e amministrazione di sistema. Dato che questa guida si propone fondamentalmente di illustrare i passi necessari ad installare e configurare un sistema per uso non professionale, ci limiteremo agli aspetti macroscopici della configurazione. | |||
I files di configurazione di Apache risiedono nella directory '''/etc/apache''' al cui interno troviamo svariati files. Quello di cui ci occuperemo qui il file di controllo principale e cio '''httpd.conf'''. Apriamo il file con il nostro editor di fiducia (dobbiamo essere root per modificare questo file) e vediamo quali sono le direttive principali su cui agiremo. | |||
'''server-pool size''' | |||
Alla riga 130 del file di configurazione originale troviamo il primo blocco da prendere in esame: si tratta della direttiva che dice ad Apache il numero minimo e massimo di processi "figlio" da mantenere in memoria. Ogni processo "figlio" risponde ad un numero prefissato di richeste, dopodich viene ucciso (mondo crudele) e ne viene generato uno nuovo. Esaminiamo la direttiva: | |||
<pre>MinSpareServers 5 | |||
MaxSpareServers 10</pre> | |||
Come default Apache genera 5 processi, ma se il carico aumenta pu arrivare fino a 10 figli simultanei. Per un sistema domestico sicuramente eccessivo ed io consiglio di porre queste limitazioni: | |||
<pre>MinSpareServers 1 | |||
MaxSpareServers 2</pre> | |||
'''Number of servers to start initially''' | |||
Questo blocco (riga 153) dice ad Apache quanti sono i figli da generare al momento dell' avvio del server. Il default : | |||
<pre>StartServers 5</pre> | |||
che noi cambieremo in: | |||
<pre>StartServers 1</pre> | |||
'''Listen''' | |||
Questo blocco (riga 192) indica ad Apache su quale porta TCP restare in attesa di richeste http. E' anche possibile specificare una particolare accoppiata di indirizzo IP + porta TCP. Possiamo tranquillamente lasciare commentata la direttiva ed il nostro server sar in ascolto sulla porta 80 per tutti gli indirizzi configurati sul sistema. | |||
'''BindAddress''' | |||
Alla riga 199 abbiamo la direttiva che specifica a quale specifico indirizzo IP associare Apache. Come per il punto precedente, lasciamo pure il valore di default. | |||
'''ServerName''' | |||
Con questa direttiva (alla linea 276) diciamo ad Apache quale il suo nome. Questo particolarmente utile nel caso abbiamo a disposizione un [[FQDN]] (a questo proposito puoi consultare la guida [[Server Web Casalingo]]. | |||
'''DocumentRoot''' | |||
Con questa direttiva (riga 284) indichiamo ad Apache quale directory del nostro sistema deve corrispondere alla radice del Web Server. Il default va pi che bene: ricordatevi quindi che tutti i vostri files che volete pubblicare sul server http dovranno risiedere in '''/var/www''' o in una sua sotto-directory. | |||
{{Warningbox| fondamentale per il funzionamento di Apache che i files che devono essere visibili via Web siano leggibili da parte dell' utente '''www-data''' e che le sotto-directory di /var/www siano raggiunbili dallo stesso utente}} | |||
Questo il minimo indispensabile che ci occorre sapere per poter utilizzare proficuamente Apache: salviamo il file e procediamo a riavviare Apache. Per fare questo possiamo procedere in due modi distinti: | |||
* metodo standard <pre># apachectl graceful | |||
/usr/sbin/apachectl graceful: httpd gracefully restarted</pre> | |||
* metodo debian init.d <pre># /etc/init.d/apache restart | |||
Restarting apache.</pre> | |||
Senza dubbio '''apachectl''' il metodo da preferire. Oltre a riavviare Apache possiamo controllare altri aspetti del server web. Tra questi quello che inizialmente pu risultare pi comodo consiste nel controllo della sintassi del file di configurazione.<br> | |||
Facciamo un esempio: | |||
<pre># apachectl configtest | |||
Syntax error on line 49 of /etc/apache/httpd.conf: | |||
ServerType takes one argument, 'inetd' or 'standalone'</pre> | |||
lo script mi avvisa che alla riga 49 di httpd.conf c' un errore di sintassi: la direttiva ServerType supporta un solo argomento, mentre nel file ne sono specificati almeno 2. Se controllo a riga incriminata scopro che: | |||
<pre>ServerType is either inetd, or standalone. Inetd mode is only supported on</pre> | |||
Noto subito che manca il commendo (#) a inizio riga, provvedo a reinserirlo e quindi controllo nuovamente la configurazione: | |||
<pre># apachectl configtest | |||
Syntax OK</pre> | |||
Se non abbiamo fatto pasticci, una volta riavviato il server Apache, baster puntare il nostro browser all' indirizzo '''http://127.0.0.1''' per vedere la pagina di default installata dal manutentore del pacchetto Debian: | |||
<pre>Placeholder page | |||
If you are just browsing the web | |||
The owner of this web site has not put up any web pages yet. Please come back later. | |||
Move along, nothing to see here... :-)</pre> | |||
{{box|Nota Bene: Directory home degli utenti|Per default Apache permette anche a ciascun utente del sistema di avere una propria home. Poniamo l' esempio dell' utente '''pippo''': all' interno di /home/pippo l' utente dovr semplicemente creare la directory '''public_html''' per poter accedere ai files in essa contenuti attraverso l' indirizzo '''http://127.0.0.1/~pippo/'''}} | |||
Ora non ci resta che inserire i nostri files in /var/www o nella nostra public_html per poter cominciare ad usare Apache! | |||
===Apache 2.0=== | ===Apache 2.0=== | ||
contributi