From 2da0a50855fc46852dc76cb9a1e6baa54eff5ef0 Mon Sep 17 00:00:00 2001 From: Andrea Manni Date: Tue, 12 May 2009 12:49:57 +0200 Subject: [PATCH] Aggiunto htacces per apache --- servizi.html | 357 ++++++++++++++++++++++++++++----------------- source/servizi.txt | 45 ++++++ 2 files changed, 269 insertions(+), 133 deletions(-) diff --git a/servizi.html b/servizi.html index d601518..1c57465 100644 --- a/servizi.html +++ b/servizi.html @@ -338,224 +338,239 @@ @@ -564,11 +579,11 @@

1   Configurazione sistema

+ "#id6">1   Configurazione sistema

1.1   Solo per uso interno

+ "#id7">1.1   Solo per uso interno

Impostazioni di base per la configurazione del sistema operativo e della rete nel laboratorio 208 facente parte @@ -581,7 +596,7 @@

1.2   Rete

+ "#id8">1.2   Rete

Parametri della rete attualmente in uso:

@@ -652,7 +667,7 @@

1.3   Bash completion

+ "#id9">1.3   Bash completion

Il completamento automatico della shell (che si attiva premendo il tasto tab una o due volte mentre si sta @@ -736,7 +751,7 @@ umask 022

1.4   Vim

+ "#id10">1.4   Vim

Vim e' l'editor di testo preferito dai sistemisti, quindi sara' conveniente impostare fin da subito alcune @@ -811,7 +826,7 @@ e modificare il file di configurazione generale ``/etc/vim/vimrc`` ::

1.5   VNC

+ "#id11">1.5   VNC

I Virtual Network Computing (o VNC) sono software di controllo remoto e servono per amministrare il proprio @@ -869,7 +884,7 @@ exit

1.6   Lista dei pacchetti di + "#id12">1.6   Lista dei pacchetti di base

I pacchetti installati generalmente

1.7   Apt configurazione

+ "#id13">1.7   Apt configurazione

Vediamo i due file principali di apt:

@@ -922,7 +937,7 @@ kde-core kdm kde-i18n-it xorg vim less xtightvncviewer

1.7.1   sources.list

+ "#id14">1.7.1   sources.list

Questo file contiene i sorgenti da cui apt preleva i pacchetti da installare tramite dpkg, @@ -987,7 +1002,7 @@ deb-src http://volatile.debian.org/debian-volatile Lenny/volatile main

1.7.2   /etc/apt/apt.conf

+ "#id15">1.7.2   /etc/apt/apt.conf

Questo file contiene le opzioni di apt, come ad esempio il proxy:

@@ -1005,12 +1020,12 @@ Acquire::http::Proxy "http://10.10.208.254:3128"

2   Squid

+ "#id16">2   Squid

3   Apache

+ "#id17">3   Apache

Apache HTTP Server, o più comunemente Apache, e' il nome dato alla piattaforma server Web modulare più diffusa (ma @@ -1028,7 +1043,7 @@ Acquire::http::Proxy "http://10.10.208.254:3128"

3.1   Pacchetti da + "#id18">3.1   Pacchetti da installare::

@@ -1042,7 +1057,7 @@ Acquire::http::Proxy "http://10.10.208.254:3128"

3.2   Configurazione di + "#id19">3.2   Configurazione di Apache

I file di configurazione di apache si trovano nella @@ -1101,7 +1116,7 @@ Acquire::http::Proxy "http://10.10.208.254:3128"

3.3   apache.conf

+ "#id20">3.3   apache.conf

File di configurazione del servizio Apache, contiene le impostazioni generiche (ad esempio utilizzo della RAM e @@ -1158,7 +1173,7 @@ Acquire::http::Proxy "http://10.10.208.254:3128"

3.4   Installazione di PHP

+ "#id21">3.4   Installazione di PHP

Pacchetti da installare: php5 @@ -1166,7 +1181,7 @@ Acquire::http::Proxy "http://10.10.208.254:3128"

3.4.1   Test del modulo + "#id22">3.4.1   Test del modulo php

Creare nella cartella

3.4.2   Installazione del supporto + "#id23">3.4.2   Installazione del supporto per Mysql

Installare i pacchetti:

@@ -1213,7 +1228,7 @@ php5-mysql phpmyadmin

3.4.3   phpmyadmin

+ "#id24">3.4.3   phpmyadmin

L'interfaccia web Phpmyadmin non richede necessariamente la presenza di un database Mysql locale, @@ -1238,7 +1253,7 @@ php5-mysql phpmyadmin

3.4.4   Installazione del supporto + "#id25">3.4.4   Installazione del supporto per Postgresql

Installare i pacchetti:

@@ -1255,7 +1270,7 @@ php5-pgsql phppgadmin

3.4.5   phppgadmin

+ "#id26">3.4.5   phppgadmin

L'interfaccia web Phppgadmin per il database server PostgreSQL non richede necessariamente la presenza di un @@ -1280,7 +1295,7 @@ php5-pgsql phppgadmin

3.5   Virtual hosts

+ "#id27">3.5   Virtual hosts
    @@ -1321,7 +1336,7 @@ php5-pgsql phppgadmin

    3.5.1   Gestione DNS

    + "#id28">3.5.1   Gestione DNS

    Prima di tutto per poter impostare i virtual hosts dovete avere un server DNS che risolva i vostri nomi di @@ -1404,7 +1419,7 @@ php5-pgsql phppgadmin

    3.5.2   Virtual host

    + "#id29">3.5.2   Virtual host

    Esempio di Virtual host:

    @@ -1516,7 +1531,7 @@ php5-pgsql phppgadmin
     
           

    3.6   Negoziazione accessi

    + "#id30">3.6   Negoziazione accessi

    Tipicamente quando si installa un server web il proprio desiderio e' di dare accesso ai materiali disponibili al @@ -1529,7 +1544,7 @@ php5-pgsql phppgadmin

    3.6.1   Limiti su base ip

    + "#id31">3.6.1   Limiti su base ip

    La forma piu' semplice di restrizine degli accessi e' su base degli indirizzi IP dei client: tipicamente i siti @@ -1537,8 +1552,10 @@ php5-pgsql phppgadmin

     <VirtualHost *:80 >
            # ...
    +       <Directory "/var/www/177.piffa.net">
            Order allow,deny
            Allow from all
    +       </Directory>
     </VirtualHost>
     
    @@ -1546,9 +1563,11 @@ php5-pgsql phppgadmin questo modo:

     <VirtualHost *:80 >
    +       <Directory "/var/www/177.piffa.net">
            Order allow,deny
            Allow from all
            Deny from 192.168.0.1
    +       </Directory>
     </VirtualHost>
     
    @@ -1579,7 +1598,7 @@ php5-pgsql phppgadmin

    3.6.2   User + "#id32">3.6.2   User Authentication

    A volte conviene negoziare gli accessi ad un area di @@ -1598,9 +1617,81 @@ php5-pgsql phppgadmin

    +
    +

    3.7   Definire la cartella

    + +

    Decidere quale sara' il path della cartella da + sottoporre ad autentizazione:(e creiamo la cartella):

    + +
    + mkdir /var/www/177.piffa.net/privata +
    +
    + +
    +

    3.8   Creazione del database delle + passwords

    + +

    Un modo semplice per gestire una database di user-id + / passwords e' appoggiarsi all'utility htpasswd + di Apache. Questa crea un file in cui un crypt + delle password viene associato agli utenti.

    + +

    Si dovra' decidere dove tenere questo file, la cosa + importante e' che non sia disopnibile nel sito web, non + deve essere scaricabile dai visitatori. Deve essere cioe' + all'esterno della DocumentRoot: un buon posto + potrebbe essere la /home dell'utente:

    +
    +htpasswd -c /home/utente/passwords luca
    +
    + +

    Creiamo (con il flag -c) il + file /home/utente/passwords con l'utente + luca.

    +
    + +
    +

    3.9   Configurazione di + Apache

    + +

    Ora possiamo passare alla ocnfigurazione vera e propria + di Apache, ma con una novita': andremo a inserire la voce + in un .htaccess.

    + +

    /var/www/177.piffa.net/privata/.htaccess

    +
    +# Questo file viene incluso
    +# nella configurazione del sito web
    +# Messaggio visualizzato al prompt per l'autenticazione
    +AuthName "Area privata soggetta ad autentizazione"
    +# tipo di autenticazione da usarsi
    +AuthType Basic
    +# File generato precedentemente con htpasswd
    +AuthUserFile  /home/utente/passwords
    +
    +# Negoziazione degli accessi
    +# valid users permette l'accesso agli utenti specificati
    +# nel file generato da htpasswd
    +require valid-user
    +
    + +

    Si noti che non e' necessario fare ripartire Apache per + onorare i cambiamenti (un utente non avrebbe la + possibilita' di farlo!).

    +
    +

    3.7   Cavets

    + "#id36">3.10   Cavets

    Problemi di cache:

    @@ -1625,7 +1716,7 @@ php5-pgsql phppgadmin

    4   Domain Name System

    + "#id37">4   Domain Name System

    Domain Name System (spesso indicato con DNS) è un servizio utilizzato per la risoluzione di nomi di host in @@ -1650,7 +1741,7 @@ php5-pgsql phppgadmin

    4.1   Nomi di dominio

    + "#id38">4.1   Nomi di dominio

    Un nome a dominio è costituito da una serie di stringhe separate da punti, ad esempio it.wikipedia.org. A @@ -1672,7 +1763,7 @@ php5-pgsql phppgadmin

    4.2   Tipologie di record

    + "#id39">4.2   Tipologie di record

    Ad un nome DNS possono corrispondere diversi tipi di informazioni. Per questo motivo, esistono diversi tipi di @@ -1727,7 +1818,7 @@ php5-pgsql phppgadmin

    4.3   Utilizzo

    + "#id40">4.3   Utilizzo

    I computer vengono identificati in rete grazie agli indirizzi IP, questi pero' non sono comodi per gli @@ -1744,7 +1835,7 @@ PING www.l.google.com (74.125.43.104) 56(84) bytes of data.

    4.4   Risoluzione dei nomi di + "#id41">4.4   Risoluzione dei nomi di dominio

    Ci sono vari strumenti per interrogare i server DNS e @@ -1809,7 +1900,7 @@ ns4.mydomain.com. 96208 IN A 63.251.83.74

    4.5   Dig

    + "#id42">4.5   Dig

    Vediamo alcune opzioni utili nell'utilizzo di dig per @@ -1886,7 +1977,7 @@ l.google.com. 80856 IN NS g.l.google.com.

    5   DNSmasq

    + "#id43">5   DNSmasq

    Dnsmasq puo' svolgere le funzioni di un DNS cache / forwarder e un server DHCP caratterizzato dalla facilita' di @@ -1925,7 +2016,7 @@ l.google.com. 80856 IN NS g.l.google.com.

    6   Samba

    + "#id44">6   Samba

    Samba e' un progetto libero che fornisce servizi di condivisione di file e stampanti a client SMB/CIFS.

    @@ -1946,11 +2037,11 @@ l.google.com. 80856 IN NS g.l.google.com.

    6.1   Pacchetti

    + "#id45">6.1   Pacchetti

    Pacchetti da installare per utilizzare Samba in - modalita' client [2]

    + modalita' client [2]

     samba-client
     
    @@ -1961,7 +2052,7 @@ samba-client samba smbfs smbclient
    - @@ -1971,7 +2062,7 @@ samba smbfs smbclient + "#id4">[2]
    [2] Anche se nato per i sistemi Windows, Samba puo' essere usato anche per montare cartelle sotto @@ -1999,7 +2090,7 @@ dpkg-reconfigure samba-common

    6.2   Passwords e + "#id46">6.2   Passwords e autenticazione

    Per poter configurare Samba in modo che usi un sistema @@ -2060,7 +2151,7 @@ dpkg-reconfigure samba-common

    6.3   Creazione Utenti

    + "#id47">6.3   Creazione Utenti

    Creiamo per primo l'utente sotto GNU/Linux, facendo attenzione a non dargli una shell di sistema. Gli @@ -2097,7 +2188,7 @@ smbpasswd sambo

    6.4   Creare la + "#id48">6.4   Creare la condivisione

    La condivisione altro non e' che una cartella sul server @@ -2124,7 +2215,7 @@ smbpasswd sambo

    6.4.1   Sicurezza: permessi di + "#id49">6.4.1   Sicurezza: permessi di esecuzione sul server

    Bisognerebbe notare sul server i permessi di @@ -2154,7 +2245,7 @@ smbpasswd sambo

    6.5   Configurazione + "#id50">6.5   Configurazione dell'applicativo Samba vero e proprio.

    Avendo preparato gli utenti (ancora una volta: non si @@ -2194,7 +2285,7 @@ smbpasswd sambo

    6.6   Testare il Servizio

    + "#id51">6.6   Testare il Servizio

    Come testare il servizio

    @@ -2234,7 +2325,7 @@ mount -t smbfs //localhost/sambo_share /mnt/sambo_mount/ --verbose -o user=sambo

    7   NOTE

    + "#id52">7   NOTE
    • controllare apache
    • diff --git a/source/servizi.txt b/source/servizi.txt index 3164c07..694de66 100644 --- a/source/servizi.txt +++ b/source/servizi.txt @@ -458,16 +458,20 @@ La forma piu' semplice di restrizine degli accessi e' su base degli indirizzi IP # ... + Order allow,deny Allow from all + Potremmo negare l'accesso a uno o piu' indirizzi IP in questo modo:: + Order allow,deny Allow from all Deny from 192.168.0.1 + Ora l'IP 192.168.0.1 non potra' piu' accedere ai materiali dell'intero sito virtuale, oppure potremmo lavorare su una sola directory:: @@ -490,6 +494,47 @@ A volte conviene negoziare gli accessi ad un area di un sito tramite autenticazi link: http://www.apacheweek.com/features/userauth +Definire la cartella +----------------------- + +Decidere quale sara' il *path* della cartella da sottoporre ad autentizazione:(e creiamo la cartella): + + mkdir /var/www/177.piffa.net/privata + +Creazione del database delle passwords +--------------------------------------- + +Un modo semplice per gestire una database di *user-id / passwords* e' appoggiarsi all'utility ``htpasswd`` di Apache. Questa crea un file in cui un *crypt* delle password viene associato agli utenti. + +Si dovra' decidere dove tenere questo file, la cosa importante e' che non sia disopnibile nel sito web, non deve essere scaricabile dai visitatori. Deve essere cioe' all'esterno della *DocumentRoot*: un buon posto potrebbe essere la /home dell'utente:: + + htpasswd -c /home/utente/passwords luca + +Creiamo (con il *flag* ``-c``) il file ``/home/utente/passwords`` con l'utente ``luca``. + +Configurazione di Apache +------------------------- + +Ora possiamo passare alla ocnfigurazione vera e propria di Apache, ma con una novita': andremo a inserire la voce in un .htaccess. + +/var/www/177.piffa.net/privata/.htaccess :: + + # Questo file viene incluso + # nella configurazione del sito web + # Messaggio visualizzato al prompt per l'autenticazione + AuthName "Area privata soggetta ad autentizazione" + # tipo di autenticazione da usarsi + AuthType Basic + # File generato precedentemente con htpasswd + AuthUserFile /home/utente/passwords + + # Negoziazione degli accessi + # valid users permette l'accesso agli utenti specificati + # nel file generato da htpasswd + require valid-user + +Si noti che non e' necessario fare ripartire Apache per onorare i cambiamenti (un utente non avrebbe la possibilita' di farlo!). + Cavets ----------- -- 2.39.2