Apache
Z wiki linux-user
(→Instalacja) |
(→Inne polecenia dla serwera apache) |
||
Linia 3: | Linia 3: | ||
'''Apache''' jest oprogramowaniem służącym do realizacji zapytań protokołu http. Kod pakietu jak i sama aplikacja jest dostępna na licencji Apache License i jest w pełni darmowa. | '''Apache''' jest oprogramowaniem służącym do realizacji zapytań protokołu http. Kod pakietu jak i sama aplikacja jest dostępna na licencji Apache License i jest w pełni darmowa. | ||
== Instalacja == | == Instalacja == | ||
− | Aby zainstalować serwer apache | + | Aby zainstalować serwer apache 2+ najlepiej pobrać jego najnowszą stabilną wersję i wykonać samodzielną kompilację. W większości dystrybucji można wykorzystać gotowy pakiet który jest już wstępnie skonfigurowany. Przykładowo w CentOS(i innych dystrybucjach które pochodzą od RH) należy wydać polecenie |
yum install http* | yum install http* | ||
− | |||
lub | lub | ||
yum groupinstall "Web Server" | yum groupinstall "Web Server" | ||
+ | w Debianie czy ubuntu wydamy polecenie | ||
+ | apt-get install apache2 | ||
− | Aby była możliwość używania bezpiecznego protokołu ''https'', należy doinstalować moduł ''mod_ssl'' | + | Aby była możliwość używania bezpiecznego protokołu ''https'', w CentOS należy doinstalować moduł ''mod_ssl'' |
yum install mod_ssl | yum install mod_ssl | ||
+ | w Debianie należy go tylko uaktywnić tworząc odpowiednie dowiązania symboliczne | ||
+ | ln -s /etc/apache2/mods-available/ssl.load /etc/apache2/mods-enabled/ | ||
+ | ln -s /etc/apache2/mods-available/ssl.conf /etc/apache2/mods-enabled/ | ||
− | Po zainstalowaniu pakietów możemy włączyć serwer za pomocą kilku różnych poleceń | + | Po zainstalowaniu pakietów możemy włączyć serwer za pomocą kilku różnych poleceń w CentOS |
/etc/init.d/httpd start | /etc/init.d/httpd start | ||
Linia 18: | Linia 22: | ||
apachectl start | apachectl start | ||
− | + | natomiast w Debianie serwer wystartował po jego instalacji my musimy tylko go zrestartować | |
− | + | /etc/init.d/apache2 restart | |
− | + | podobnie wygląda restart w CentOS, polecenia przedstawione są poniżej | |
− | /etc/init.d/ | + | |
− | + | ||
restartowanie serwera | restartowanie serwera | ||
Linia 28: | Linia 30: | ||
/etc/init.d/httpd restart | /etc/init.d/httpd restart | ||
service httpd restart | service httpd restart | ||
+ | |||
+ | zatrzymywanie serwera w CentOS | ||
+ | apachectl stop | ||
+ | /etc/init.d/httpd stop | ||
+ | service httpd stop | ||
+ | zatrzymanie serwra w Debianie | ||
+ | /etc/init.d/apache2 stop | ||
sprawdzanie statusu | sprawdzanie statusu | ||
− | apachectl status/etc/init.d/httpd status service httpd status | + | apachectl status |
+ | /etc/init.d/httpd status | ||
+ | service httpd status | ||
Istnieje również możliwość przeładowania konfiguracji apach'a bez jego zatrzymywania, uczynimy to za pomocą polecenia | Istnieje również możliwość przeładowania konfiguracji apach'a bez jego zatrzymywania, uczynimy to za pomocą polecenia | ||
Linia 39: | Linia 50: | ||
== Inne polecenia dla serwera '''apache''' == | == Inne polecenia dla serwera '''apache''' == | ||
− | Możliwość sprawdzenia plików konfiguracyjnych serwera | + | Możliwość sprawdzenia plików konfiguracyjnych serwera w CentOS |
httpd -t | httpd -t | ||
Linia 51: | Linia 62: | ||
httpd -l | httpd -l | ||
− | Aby zobaczyć wszystkie polecenia poczytaj | + | Pamiętając że w Debianie pakiet nazywa się apache2 polecenia przyjmą postać |
+ | apache2 -t | ||
+ | |||
+ | lub | ||
+ | apache2 -S | ||
+ | |||
+ | wyświetlenie parametrów z jakimi został zainstalowany apache | ||
+ | apache2 -V | ||
+ | |||
+ | lista zainstalowanych modułów | ||
+ | apache2 -l | ||
+ | Aby zobaczyć wszystkie polecenia poczytaj stronę podręcznika man dla serwera Apache. Możesz ją wyświetlić za pomocą polecenia man nazwa serwera czyli w CentOS | ||
man httpd | man httpd | ||
+ | |||
+ | lub | ||
+ | |||
+ | man apache2 | ||
+ | |||
+ | w Debianie | ||
+ | |||
== Konfiguracja serwera apache == | == Konfiguracja serwera apache == | ||
Serwer '''apache''' potrafi działać w trzech trybach '''prefork''', '''worker''' oraz '''event''' używając mechanizmu, tzw MPM (''Multi-Processing Modules''). W sytemach red hatowych domyślnie działa w trybie prefork. | Serwer '''apache''' potrafi działać w trzech trybach '''prefork''', '''worker''' oraz '''event''' używając mechanizmu, tzw MPM (''Multi-Processing Modules''). W sytemach red hatowych domyślnie działa w trybie prefork. | ||
− | * '''prefork''' domyślny tryb, najmniej awaryjny lecz zużywający najwięcej pamięci. * worker charakteryzuje się obsługą żądania za pomocą osobnych wątków procesora, jest szybszy niż prefork, jednak jest bardziej podatny na awarie, jest njawydajniejszy gdy używa się go na komputerach wieloprocesorowych. Nie powinno się go używać do serwowania stron opartych na php. * event jest trybem eksperymentalnym. | + | * '''prefork''' domyślny tryb, najmniej awaryjny lecz zużywający najwięcej pamięci. |
+ | * '''worker''' charakteryzuje się obsługą żądania za pomocą osobnych wątków procesora, jest szybszy niż prefork, jednak jest bardziej podatny na awarie, jest njawydajniejszy gdy używa się go na komputerach wieloprocesorowych. Nie powinno się go używać do serwowania stron opartych na php. | ||
+ | * '''event''' jest trybem eksperymentalnym. | ||
Aby zmienić tryb pracy serwera należy dokonać zmian w pliku ''/etc/sysconfig/httpd'' i zrestartować serwer. | Aby zmienić tryb pracy serwera należy dokonać zmian w pliku ''/etc/sysconfig/httpd'' i zrestartować serwer. | ||
Linia 234: | Linia 265: | ||
− | Należy określić odpowiednie ścieżki do katalogów, zadbać o to aby te katalogi istniały i miały odpowiednie prawa dostępu(użytkownik prawo do wszystkiego, reszta przynajmniej do czytania). Takie strony będą widoczne w adresie http://twoje_ip/~user | + | Należy określić odpowiednie ścieżki do katalogów, zadbać o to aby te katalogi istniały i miały odpowiednie prawa dostępu(użytkownik prawo do wszystkiego, reszta przynajmniej do czytania). Takie strony będą widoczne w adresie http://twoje_ip/~user<br /> |
<br /><google1 style="4"></google1> | <br /><google1 style="4"></google1> |