CONTENT
- CHANGES
Szukaj
#top Instalacja¶
Instalację serwera thttpd można wykonać na różne sposoby: od kompilacji ze źdródeł poprzez instalację pojedynczych paczek rpm za pomocą polecenia rpm skończywszy na instalacja z użyciem menedżera pakietów, który zainstaluje wszystkie niezbędne paczki wraz zależnościami.
Celem niniejszego dokumentu nie jest rozważanie różnych metod instalacji tylko nieco usprawnienie użyteczności konfiguracji serwera thttpd po zainstalowaniu oraz wprowadzenie porządku / hierarchi położenia plików z których korzysta usługa w strukturze katalogowej.
Zgodnie definicją
FHS
(en.wiki, pl.wiki): katalog /srv zawiera: Data for services provided by this system
toteż jako katalog w którym thttpd będzie przechowywał dane został wybrany: /srv/http i zostanie on utworzony z odpowiednimi atrybutami wraz ze stosownymi podkatalogami:/srv/thttpd/cgi-bin
- z przeznaczeniem na lokalizację skryptów cgi (poprzednio /var/www/thttpd/cgi-bin
),/srv/thttpd/vhosts/error
- z przeznaczeniem na lokalizację stron kodów błędów HTTP,/srv/thttpd/vhosts
- z przeznaczeniem na virtualne domeny vhosts serwerwowane przez serwer (nowoutworzony).Wszystko to zostało opisane poniżej.
#top Postinstalacyjna konfiguracja¶
#top Keep oryginal start script¶
mv /etc/init.d/thttpd /etc/init.d/thttpd-rpm cp -av /etc/init.d/thttpd-rpm /etc/init.d/thttpd
#top Create log directory¶
mkdir /var/log/thttpd
#top Respect config file in start script¶
sed 's,/etc/sysconfig/network,/etc/sysconfig/network\n\n# Source thttpd configuration.\n[ -f /etc/sysconfig/thttpd ] \&\& . /etc/sysconfig/thttpd,g' -i /etc/init.d/thttpd sed 's,daemon thttpd -C /etc/thttpd.conf,daemon thttpd -C /etc/thttpd.conf $OPTIONS,g' -i /etc/init.d/thttpd
#top Create /etc/sysconfig/thttpd file¶
touch /etc/sysconfig/thttpd echo 'OPTIONS=""' > /etc/sysconfig/thttpd
#top Set default setting in config file¶
sed 's,^\(dir=.*\)$,#\1\ndir=/srv/thttpd/vhosts,g' -i /etc/thttpd.conf sed 's,^\(logfile=.*\)$,#\1\nlogfile=/var/log/thttpd/thttpd.log,g' -i /etc/thttpd.conf sed 's,^\(# port.*\)$,\1\nport=80,g' -i /etc/thttpd.conf sed 's,^\(# host.*\)$,\1\nhost=*,g' -i /etc/thttpd.conf sed 's,^\(# charset.*\)$,\1\ncharset=UTF-8,g' -i /etc/thttpd.conf
Po wprowadzeniu powyższych zmian w pliku konfiguracyjnych w logach systemowych (
/var/log/messages
, /var/log/daemon/daemon.log
) pojawi się poniższe ostrzeżenie:logfile is not within the chroot tree, you will not be able to re-open it
Aby umożliwić ponowne otwieranie pliku z logiem (
re-open it
) można wyłączyć uruchamianie serwera w środowisku chroot (en.wiki, pl.wiki)sed 's,^chroot,# chroot\nnochroot,g' -i /etc/thttpd.conf
started as root without requesting chroot(), warning only
#top Create directory root structure¶
mkdir -p /srv/thttpd/vhosts mkdir -p /srv/thttpd/vhosts/default mkdir -p /srv/thttpd/vhosts/cgi-bin
/bin/cp -av /var/www/thttpd/html/* /srv/thttpd/vhosts/default/ /bin/cp -av /var/www/thttpd/cgi-bin/* /srv/thttpd/cgi-bin/
#top Configure virtual hosts¶
echo "# enable virtual hosts" >> /etc/thttpd.conf echo "vhost" >> /etc/thttpd.conf
#top Config file after changes¶
After changes config file
/etc/thttpd.conf
will be looks like:# BEWARE : No empty lines are allowed! # This section overrides defaults #dir=/var/www/thttpd/html dir=/srv/thttpd/vhosts # chroot nochroot user=thttpd # default = nobody #logfile=/var/log/thttpd.log logfile=/var/log/thttpd/thttpd.log pidfile=/var/run/thttpd.pid # This section _documents_ defaults in effect # port=80 port=80 # nosymlink # default = !chroot # novhost # nocgipat # nothrottles # host=0.0.0.0 host=* # charset=iso-8859-1 charset=UTF-8 vhosts
Zmodyfikowany ostatnio: 2015/10/12 15:52:17 (9 lat temu),
textsize: 4,12 kB,
htmlsize: 10,3 kB
Zapraszam do komentowania, zgłaszania sugestii, propozycji, własnych przykładów, ...
Dodaj komentarzKomentarze użytkowników