|
Strona 4 z 7
6. Przykładowe dyrektywy modułów z punktu 3.2
Opisze tutaj standardowe dyrektywy, które dają nam pewność poprawnego
funkcjonowania modułów.
mod_bandwidth :
Na początek, należy stworzyć katalogi modułu np.:
# mkdir /tmp/apachebw # mkdir /tmp/apachebw/link # mkdir /tmp/apachebw/master
Następnie wyedytujmy znany już plik httpd.conf :
BandWidthModule On
Dodajemy dyrektywę BandWidthDataDir, czyli lokalizacje stworzonego
katalogu:
BandWidthDataDir /tmp/apachebw
W tym momencie moduł jest już zainicjowany, zajmijmy się teraz nałożeniem
limitu przepustowości:
Przyjrzyjmy się dyrektywie "BandWidth"
Posiada ona kilka opcji do wyboru mianowicie:
BandWidth <domain|ip|all> <rate>
Czyli ograniczamy po domenie, po ip lub dla wszystkich.
Jeżeli życzymy sobie aby ograniczenie było zastosowane na cały serwer
httpd i wszystkie katalogi piszemy :
BandWidth all 1024
W takim przypadku ograniczenie dotyczy wszystkich odwiedzających,
a przepustowość to 1024 Bajtów czyli 1Kb
Możemy oczywiście zastosować tylko dla domeny czyli:
BandWidth domena.pl 1024
Lub ip, lub tylko jego klasy :
BandWidth 195.116 1024
W takim przypadku jeżeli adres odwiedzającego zaczyna się od 195.116,
ma on do dyspozycji tylko 1Kb przepustowości. Nic nie stoi na przeszkodzie
abyśmy dali np. 100kb przepustowości, pamiętajmy jednak iż wartości
w "BandWidth" mogą być podawane tylko w bajtach.
Następnie jeżeli życzymy sobie aby niezależnie od odwiedzających
każdy z nich miał do dyspozycji nie mniej niż 1kb/s transferu podajemy
w takim przypadku dyrektywę MinBandWidth:
MinBandWidth all -1
BandWidth all 1024
Tutaj mamy pewność, ze odwiedzający, przy ściąganiu np. pliku, nie
będzie miał mniej niż 1Kb (oczywiście w dyspozycji naszego łącza)
Jeżeli życzymy sobie aby tylko ograniczyć użytkowników z wybranego
katalogu np. /home/users/, w takim przypadku zdefinjujmy katalog:
<Directory "/home/users">
BandWidth all 1024
</Directory> |
Więcej informacji na stronie projektu:
www.cohprog.com/mod_bandwidth.html
mod_throttle:
Na początek wyedytujmy plik httpd.conf i dodajmy dyrektywy:
<IfModule mod_throttle.c>
ThrottlePolicy none
<Location /throttle-status>
SetHandler
throttle-status
</Location>
<Location /throttle-me>
SetHandler
throttle-me
</Location>
<Location /~*/throttle-me>
SetHandler
throttle-me
</Location>
</IfModule> |
przeładujmy serwer:
# /usr/local/apache/bin/apachectl restart
Jeżeli ujrzeliśmy znany już nam: Syntax OK Możemy sprawdzić, wpisując
w przeglądarce:
http://www.naszedomena.pl/throttle-status
Lub danego użytkownika:
http://www.naszadomena.pl/~jasio/throttle-me
W module tym mamy do wyboru wiele opcji, jedną z nich jest blokowanie
witryny po przekroczeniu danej ilości ściągniętych danych, służy do
tego dyrektywa: ThrottlePolicy np.
<Directory "/home/users/jasio/"> ThrottlePolicy Volume 1G 30d </Directory> |
W takim przypadku użytkownik może wykorzystać 1GB przepustowości
w ciągu 30 dni.
Moduł ten posiada ciekawa opcje mianowicie : ThrottleClientIP
Możemy za pomocą tej dyrektywy ograniczyć ilość wizyt z jednego
adresu ip, w przeciągu określonego czasu np.:
ThrottleClientIP 1024 Document 10 60 |
W takim przypadku, pozwalamy na 10 zapytań / minutę z danego adresu
ip.
Moduł ten jest bardzo rozbudowany, ma szereg innych ciekawych
opcji, dlatego zapraszam na : stronę projektu:
http://www.snert.com/Software/mod_throttle/.
mod_php4:
Skompilowaliśmy apache z modułem php, w takim przypadku należy
jeszcze `powiedzieć` serwerowi httpd, aby umiał interpretować
pliki z rozszerzeniem .php
Dodajemy w pliku httpd.conf:
AddType application/x-httpd-php .php |
Możemy już przeładować serwer:
# /usr/local/apache/bin/apachectl restart
Przechodzimy do katalogu /usr/local/apache/htdocs/
Tworzymy i edytujemy plik np. phpinfo.php i dodajemy:
Zapisujemy i z poziomu przeglądarki wywołujemy plik:
http://www.naszadomena.pl/phpinfo.php
Jeżeli oczom naszym ukazały się ładne tabelki z opcjami i konfiguracja
naszego php, znaczy to iż wszystko jest w porządku.
|