Apache w Slackware
Opisze tutaj moje doświadczenia związane z zainstalowaniem i późniejszą
konfiguracją serwera HTTP w wersji 1.x na komputerze z zainstalowanym systemem
Slackware 8.1. Na płytach instalacyjnych jest apache, php, ssh, ssl, cgi, mysql
i inne moduły wystarczające do typowych zastosowań. W moim przypadku chciałem mieć oprócz
ogólnodostępnych stron, strony z autoryzacją na login i na hasło. Aby
to zrealizować utworzyłem użytkownika www o grupie ftp oraz użytkownika http
o grupie ftp. Zrobiłem to dlatego, aby można było programem Proftp wrzucać
pliki do katalogu ogólnodostępnego (/home/www) i na hasło (/home/http).
Przy tworzeniu tych kont ustawiłem dla nich hasła systemowe, które będa potrzebne przy łączeniu
się za pomoca ftp. Po wykonaniu tych czynności edytowałem plik
konfiguracyjny apache o nazwie /etc/apache/httpd.conf. Ze względu na czytelność
zamieściłem tylko zmiany i rzeczy nowe:
ServerAdmin asperczwielun@poczta.onet.pl
DocumentRoot "/home/www"
Alias /http/ "/home/http/"
<Directory "/home/http">
AllowOverride All
Order allow,deny
Allow from all
</Directory>
Include /etc/apache/mod_php.conf
#Include /etc/apache/mod_ssl.conf
DirectoryIndex index.php index.html
<Files ~ "^\.ht">
Order allow,deny
Deny from all
</Files>
Aby można się było zalogować do katalogu /home/http musiałem
wygenerować plik /etc/apache/.htaccess za pomoca polecenia:
htpasswd -c /etc/apache/.htaccess andrzej
Przy czym andrzej to osoba, dla której program wygenerował hasło.
Znaczy to, że po podaniu loginu andrzej i właściwego hasła można wejść na stronę.
Proszę nie mylić tego hasła z hasłami użytkowników linuksa. Dla uproszczenia można utworzyć
te same hasła dla apache co są dla systemu. Ułatwi to znacząco prace, bo
system, apache i ftp będą miały te same hasła. Jeżeli tych osób ma być więcej to piszemy
analogiczne polecenia opuszczając opcję -c. Dodatkowo w katalogu /etc/apache musimy utworzyć
plik .group i wpisać do niego osoby, które mogą sie logować. Dla przykładu w grupie swoi są:
swoi: andrzej maciek ania gosia
W katalogu udostepnianym (http) musimy utworzyć plik o nazwie .htaccess, w którym są zawarte
nastepujące wpisy:
AuthName "Katalog na hasło"
AuthType basic
AuthUserFile /etc/apache/.htaccess
AuthGroupFile /etc/apache/.group
require valid-user
require group swoi
Po wykonaniu tych czynności wystarczy zrestartowac serwer poleceniem /etc/rc.d/rc.httpd restart. Sprawdzenie,
czy server właściwie pracuje polega na wpisaniu w pole adresu nastepujacych wpisów (wpisz swój adres):
http://80.80.80.80/ - bez logowania
http://80.80.80.80/http/ - na hasło
http://80.80.80.80/cgi-bin/test-cgi - test cgi
http://80.80.80.80/manual/ - dokumentacja apache
Przy drugim poleceniu zostaniemy poproszeni o login (andrzej) i hasło
(hasło wygenerowane powyżej). Opisana metoda logowania się jest prosta i ma
wadę w postaci przesyłania niekodowanego hasła. Są też inne metody bardziej zaawansowane i zainteresowanych
odsyłam do dokumentacji i opisów w internecie. DirectoryIndex index.php index.html mówi nam o
kolejności czytania plików w katalogu ftp i http, a poniższy wpis zabezpiecza plik .htaccess w
katalogu http przed przeczytaniem podczas wizyty na stronie.
<Files ~ "^\.ht">
Order allow,deny
Deny from all
</Files>
Te informacje wystarczą do uruchomienia własnego serwera WWW, ale zachęcam do
skorzystania z dokumentacji i z opisów. Serwer został tak skonfigurowany, aby pracować razem z
serwerem Proftp w internecie i sieci szkolnej (większa ilość użytkowników).
do góry 2002.06.03