Poprawna instalacja thttpd w OpenBSD

Jeśli korzystasz z serwera o bardzo ograniczonych zasobach i potrzebujesz prostego serwera WWW, to zapewne zainteresuje Cię thttpd. Mało wymagający, szybki, zoptymalizowany do treści statycznych i wysoce konfigurowalny serwer WWW – tak można go opisać w jednym zdaniu. Niestety, część dostępnych w Internecie tutoriali traktuje o błędnym sposobie instalacji, ja jednak pokażę Ci prawidłową drogę.

  1. Zainstaluj paczkę thttpd-2.25bp2.
  2. Utwórz katalog /etc/thttpd, a następnie przejdź do niego.
  3. Utwórz plik thttpd.conf i wpisz konfigurację w następujący sposób:

    root@demetria:[/etc/thttpd]# nano thttpd.conf

    port=80
    dir=/home/ksx4system/htdocs
    chroot
    user=ksx4system
    throttles=/etc/thttpd/throttle.conf
    logfile=/var/log/thttpd.log
    charset=iso-8859-2
    host=example.com

    oczywiście ksx4system zamień swoją nazwą użytkownika, a example.com swoją domeną lub adresem IP.

  4. Utwórz plik throttle.conf zawierający następującą linię:

    root@demetria:[/etc/thttpd]# nano throttle.conf

    # /etc/thttpd/throttle.conf: thttpd throttle file

  5. Aby ułatwić sobie uruchamianie thttpd utwórz skrypt w następujący sposób:

    root@demetria:[/home/ksx4system]# nano uruchom-thttpd.sh

    /usr/local/sbin/thttpd -C /etc/thttpd/thttpd.conf -t /etc/thttpd/throttle.conf
    echo “thttpd uruchomiony!”

  6. Nadaj skryptowi odpowiednie permissions:

    root@demetria:[/home/ksx4system]# chmod 777 uruchom-thttpd.sh

    i uruchom go:

    ksx4system@demetria:[~]$ ./uruchom-thttpd.sh

    po wykonaniu skryptu serwer thttpd będzie działać w sposób ustalony w plikach konfiguracji.

Serwer plików dla MacOS X oparty na OpenBSD

W sieci domowej lub firmowej warto mieć serwer plików. Zakładam, że większość maszyn w sieci (lub najważniejsze z nich) pracuje pod kontrolą MacOS X (ewentualnie MacOS 9), więc serwer powinien używać protokołu AFP. Proponuję użyć małej, energooszczędnej maszyny pod kontrolą OpenBSD. Poniższy tutorial dotyczy MacOS X 10.4.11 i OpenBSD 4.6/i386.

  1. Skonfiguruj sieć tak, aby serwer miał swoje stałe IP.
  2. Skonfiguruj PF tak, aby dopuszczał zarówno pakiety przychodzące jak i wychodzące wewnątrz sieci lokalnej:

    root@eon2kgeode:[/]# nano /etc/pf.conf

    pass out on lan0 all
    pass in on lan0 all

    oczywiście lan0 należy zamienić prawdziwą nazwą interfejsu sieciowego.

  3. Zainstaluj paczkę netatalk-2.0.3p3.
  4. Przejdź do folderu /etc/netatalk. Jeśli wewnątrz znajduje się plik afppasswd – skasuj go.
  5. Zrób kopię pliku afpd.conf w następujący sposób:

    root@eon2kgeode:[/etc/netatalk]# cp afpd.conf afpd.conf.bak

    a następnie skasuj oryginalny plik.

  6. Utwórz nowy plik afpd.conf zawierający następującą linię:

    root@eon2kgeode:[/etc/netatalk]# nano afpd.conf

    “MojSerwerPlikow” -uamlist uams_clrtxt.so,uams_dhx.so,uams_guest.so -loginmesg “Witaj!”

  7. Uruchom demona Netatalk w następujący sposób:

    root@eon2kgeode:[/]# /usr/local/sbin/afpd

  8. Spróbuj zamontować zasób serwera plików. Aby to zrobić przejdź do Findera (np. kliknij na puste miejsce pulpitu), a następnie użyj skrótu ⌘K (command+K). W nowym oknie wpisz adres IP serwera i potwierdź.
  9. W nowym oknie zaloguj się używając nazwy użytkownika i hasła z serwera. W ten sposób zamontujesz zasób swojego folderu domowego (np. /home/ksx4system) na serwerze.
  10. Na pulpicie powinieneś zobaczyć ikone wyglądającą tak:

    nazwa ikony to Twoja nazwa użytkownika na serwerze.

Modyfikacja znaku zachęty w OpenBSD

Po instalacji OpenBSD powita Cię mało motywujący do pracy znak zachęty, a mianowicie $ dla standardowego użytkownika lub # dla roota (zakładając, że pracujemy w domyślnym ksh). Naturalnie modyfikacja jest możliwa, wystarczy użyć jednej komendy.

Jako przykład użyję aktualnego znaku zachęty w swoim serwerze domowym:

ksx4system@eon2kpuffy:[~]$

aby uzyskać taką kombinacje należy wpisać w terminalu komendę

$ export PS1=”\u@\h:[\w]\\$ “

spowoduje to wyświetlanie przed znakiem zachęty kolejno loginu aktualnie zalogowanego użytkownika, hostname i katalog, w którym się znajdujemy (“~” to nasz katalog domowy, np. /home/ksx4system).

Jeśli chcesz uzyskać inne kombinacje możesz wykorzystać następujące zmienne:

\e – wstawia znak ASCII escape.
\h – hostname ale bez domeny.
\H – pełny hostname, włącznie z domeną.
\n – wstawia znak nowej linii.
\t – aktualny czas 24-godzinny, w formacie GG:MM:SS.
\u – nazwa aktualnie zalogowanego użytkownika.
\w – aktualnie otwarty katalog (domowy opisywany jest jako “~”).
\W – nazwa bazowa dla aktualnie otwartego katalogu.
\$ – wyświetla znak zachęty ($ dla użytkownika, # dla roota).

oczywiście można wykorzystać niektóre znaki specjalne np. kwadratowe nawiasy.

Aby utrwalić modyfikację należy dopisać komendę do pliku .profile w katalogu domowym użytkownika i /etc/profile.