Instalacja z MPM itk + WebDAV

1. Instalacja z portów

Wchodzimy do katalogu /usr/ports/www/apache22 i wydajemy polecenie:

# make install clean WITH_MPM=itk

2. Konfiguracja Apache

Główny plik konfiguracyjny znajduje się w katalogu /usr/local/etc/apache22 i nazywa się httpd.conf. Dodatkowe pliki konfiguracji znajdują się w katalogu /usr/local/etc/apache22/extra o których będzie później. W pliku httpd.conf zmieniamy:

2.1 Konfiguracja wirtualnych hostów

Będziemy edytować plik /usr/local/etc/apache22/extra/httpd-vhosts.conf:

Dodatkowo utworzymy domyślny host wirtualny, jeśli żaden inny nie zostanie znaleziony po domenie:

<VirtualHost *:80> 
    ServerAdmin root@domena.com.pl 
    DocumentRoot "/usr/local/www/apache22/data/default" 
    ServerName *.domena.com.pl 
    ErrorLog "/var/log/all-httpd-error_log" 
    CustomLog "/var/log/all-httpd-access_log" common 
</VirtualHost> 

Następnie można dodawać już wirtualne hosty z obsługą WebDAV:

<VirtualHost *:80> 
    ServerAdmin root@domena.com.pl 
    ServerName user.domena.com.pl 
    ErrorLog "/var/log/user.domena.com.pl-error_log" 
    CustomLog "/var/log/user.domena.com.pl-access_log" common 
    DocumentRoot "/usr/local/www/apache22/data/user.dav" 
    DavLockDB "/tmp/user-DavLock" 
    Alias /webdav "/usr/local/www/apache22/data/user.dav" 
    Alias /home "/home/user" 
    AssignUserId user user 
    <Directory "/usr/local/www/apache22/data/user.dav"> 
        Dav On 
        Order Allow,Deny 
        Allow from all 
        AuthType Digest 
        AuthName DAV-upload 
        AuthUserFile "/usr/local/www/apache22/passwords/davuser.passwd" 
        AuthDigestProvider file 
        CharsetSourceEnc UTF-8 
        CharsetDefault UTF-8 
    </Directory> 
    <Directory "/home/user">
        Dav On
        Order Allow,Deny 
        Allow from all 
        AuthType Digest 
        AuthName DAV-upload 
        AuthUserFile "/usr/local/www/apache22/passwords/davuser.passwd" 
        AuthDigestProvider file 
        CharsetSourceEnc UTF-8 
        CharsetDefault UTF-8 
    </Directory> 
</VirtualHost> 

Kilka słów wyjaśnień do powyższego wpisu:

3. Dodawanie użytkowników

Przechodzimy do katalogu /usr/local/www/apache22 i tworzymy nowy:

# mkdir passwords

Przechodzimy do nowego katalogu. Na początek należy stworzyć nowy plik autoryzacji (dodając przy tym pierwszego użytkownika):

# htdigest -c davuser.passwd DAV-upload user
Adding password for user in realm DAV-upload.
New password:
Re-type new password:

Każdego kolejnego użytkownika dodajemy już bez parametru -c. Kolejnym krokiem będzie stworzenie katalogu użytkownika oraz dodanie pliku .htaccess:

# cd /usr/local/www/apache22/data
# mkdir user.dav
# chown user:user user.dav
# chmod 5003) user.dav
# cd user.dav
# mkdir home4)
# chown user:user home

Przykładowy plik .htaccess:

AuthType Digest
AuthName DAV-upload
AuthUserFile „/usr/local/www/apache22/passwords/davuser.passwd”
AuthDigestProvider file
Require user user5)

4. Uruchamianie serwera Apache

Dodajemy do pliku /etc/rc.conf.local linię:

apache22_enable="YES"

Po czym uruchamiamy serwer:

# /usr/local/etc/rc.d/apache22 start
Performing sanity check on apache22 configuration:
Syntax OK
Starting apache22.

1)
nazwa użytkownika
2)
grupa użytkownika
3)
zabronimy w ten sposób modyfikacji plików w drzewie głównym
4)
ten katalog będzie pusty, konieczny jest jednak dla celów aliasu
5)
tu wpisz nazwę użytkownika