Jump to content

Konfiguracja Apache'a

From mediawiki.org
This page is a translated version of the page Apache configuration and the translation is 97% complete.
Outdated translations are marked like this.

Apache HTTP Server (httpd) jest najczęściej używanym serwerem WWW w MediaWiki.

Moduły

PHP

PHP jako moduł Apache

MediaWiki jest napisane tak, aby używało PHP jako moduł Apache. Twój PHP jest prawdopodobnie skonfigurowany jako moduł, jeśli zaczynasz od adresów URL takich jak ten:

example.com/index.php/Main_Page

Możesz sprawdzić, jaką konfigurację i wersję PHP posiadasz, przeglądając stronę swojej wiki za Special:Version lub za phpinfo().

Zainstaluj PHP, Apache i moduł PHP dla Apache. Następnie upewnij się, że usługa Apache jest uruchomiona. Aby uzyskać informacje o konkretnych poleceniach, zapoznaj się z dokumentacją systemu operacyjnego lub dystrybucji.

PHP jako CGI

Jeśli PHP działa jako CGI, domyślnie będziesz miał "brzydkie" adresy URL, ale nadal możesz zaimplementować krótkie adresy URL.

CGIWrap

Jeśli masz własny serwer z uruchomionym Apache i korzystasz z PHP jako CGI, możesz zainstalować CGIWrap. To narzędzie umożliwia uruchomienie serwera Apache jako innego użytkownika dla CGI.

W ten sposób możesz utworzyć nowego użytkownika dla swoich stron MediaWiki. Instalacja CGIWrap wykracza poza zakres tego dokumentu, zwłaszcza, że musisz go skompilować odpowiednio na własnym serwerze. Jednak jako szybką wskazówkę możesz postępować zgodnie z tymi zasadami:

  • Załóż konto na Wikimedii
useradd -M -s /sbin/nologin wikiuser
  • Mieć folder cgi-bin, zawierający CGIWrap (przykład w /home/myuser/cgi-bin). Gdy wszystko jest już skonfigurowane, zachowaj tylko cgiwrap, przenieś wersje debugowania do innego folderu, jeśli kiedykolwiek będziesz tego potrzebować. Twój plik cgiwrap powinien być dostępny tylko dla Apache (odpowiednio chown i chmod).
chown apache:apache cgiwrap
chmod 500 cgiwrap
  • Wewnątrz folderu cgi-bin utwórz dowiązanie symboliczne do katalogu głównego Wikimedia.
ln -s /home/myuser/public_html/wiki /home/myuser/cgi-bin/wikilink
  • Do twojego pliku wiki .htaccess file, dodaj następującą definicję:
AddHandler php-wrapper .php
Action php-wrapper /cgi-bin/cgiwrap/wikiuser/wikilink
  • Na koniec, chown i chmod wszystkie .php pliki z Twojego folderu Wikimedia, aby były dostępne wyłącznie dla wikiużytkowników.
find . -name \*.php -exec chown wikiuser:wikiuser {} \;
find . -name \*.php -exec chmod 500 {} \;

Pliki będą dostępne jak zwykle. Nie musisz określać w swojej ścieżce żadnego cgi-bin, ponieważ jest to dla Ciebie przejrzyste rozwiązanie.

Zdecydowanie sugeruję, aby zacząć od /cgi-bin/cgiwrapd/... jako php-wrapper, ponieważ dokładnie pokaże, co obecnie działa. Zdecydowanie sugeruję również, aby nie usuwać folderu źródłowego CGIWrap, dopóki wszystko nie będzie działać idealnie, ponieważ jest to prawdziwy proces prób i błędów, który zajmuje dużo czasu. Jest to jednak warte poświęconego czasu, ponieważ MediaWiki będzie uruchamiane w osobnym procesie, w swoim własnym uid, bez możliwości ingerencji w jakikolwiek inny uid. Odwrotność jest również prawdą, z wyjątkiem roota, który może czytać wszystko w dowolnym miejscu.

mod_alias / mod_rewrite

Zalecana metoda upiększania adresów URL obejmuje mod_alias. Inne metody zamiast tego używają mod_rewrite.

mod_security

Wiadomo, że ModSecurity może powodować problemy z MediaWiki. Jeśli błędy pojawiają się losowo, sprawdź dziennik błędów, aby dowiedzieć się, czy jest to przyczyną problemów.

VisualEditor i podstrony

Aby zapobiec błędom kontaktującym się z serwerem Parsoid, AllowEncodedSlashes NoDecode musi zostać dodane do bloku konfiguracyjnego VirtualHost na wiki (lub do ogólnej konfiguracji serwera, jeśli VirtualHosts nie są używane).[1]

Rozmiar wątku

Rozmiar stosu dla każdego wątku Apache to konfigurowalny, a wartość domyślna różni się w różnych systemach operacyjnych. Aby uruchomić MediaWiki w środowiskach Windows, może być konieczne zwiększenie rozmiaru stosu (jeśli występują problemy), ponieważ domyślny rozmiar 1 MB jest mały i może 2 powodować przepełnienie stosu podczas wykonywania skryptu PHP. Następujące ustawienie httpd.conf ustawi rozmiar stosu na około 8 MB (mniej więcej typowe domyślne ustawienie Linuksa):

<IfModule mpm_winnt_module>
ThreadStackSize 8388608
</IfModule>

Pająki i boty

Naprawdę powinieneś użyć pliku o wartości robots.txt , aby powiedzieć dobrze zachowującym się pająkom, aby nie pobierały dynamicznie generowanych stron (na przykład stron edycji). Może to zmniejszyć obciążenie serwera internetowego, zachować przepustowość i zapobiec problemom z duplikacją treści w wyszukiwarkach. Jednak złośliwe boty mogą zablokować Twój serwer WWW i marnować przepustowość, bardzo szybko pobierając dużą liczbę stron. Ograniczanie żądań może pomóc w ochronie przed tym.

Zobacz też

Przypisy