Przejdź do głównej zawartości

Instalowanie apache i php na debian



Niektóre systemy zarządzania treścią nie działają z kombinacją nginx i php-fpm i wymagają serwera WWW Apache z modułem php. Najczęstszym tego powodem jest potrzeba użycia modułu przeprogramowania, aby witryna działała.



Zainstaluj składniki podstawowe za pomocą jednego polecenia. Zależności zostaną zainstalowane automatycznie.

  # aptitude install apache2-mpm-itk libapache2-mod-php5 php5-curl php5-mysqlnd php5-gd 

Treść artykułu:

Skonfiguruj apache

Najpierw włącz mod_rewrite. Z pewnością będzie go potrzebował, jeśli twoja strona będzie używać CNC.

  # a2enmod przepisać 

Nie będzie konieczne dołączanie mod_php, ponieważ podczas instalacji zostanie ono włączone automatycznie.



Polecam także wyłączenie następujących modułów, jeśli ich nie potrzebujesz:

  # a2dismod -f autoindeks deflate status setenvif 

Pozwoli to zmniejszyć zużycie pamięci.

Otwórz plik /etc/apache2/conf-available/charset.conf i odkomentuj następujący wiersz:


  AddDefaultCharset UTF-8 

Ta dyrektywa wskazuje, że domyślnym kodowaniem będzie UTF-8. Jeśli twoje witryny używają innego kodowania, na przykład CP-1251, musisz to określić albo tam, albo w parametrach wirtualnego hosta.

Zapisz zmiany.

Otwórz plik ServerTokens OS i przekonwertuj linię ServerTokens OS na ServerTokens Prod . Spowoduje to ukrycie wersji apache dla klientów.

ServerSignature On ciąg ServerSignature On na ServerSignature Off .

Zapisz zmiany.

Otwórz plik /etc/apache2/apache2.conf w celu edycji i znajdź parametr KeepAlive On . Jeśli po skonfigurowaniu Apache zainstalujesz nginx i będziesz z niego żądać proxy, to ten parametr musi zostać przekonwertowany na KeepAlive Off , ponieważ ta funkcja (utrzymując połączenie z klientem) zostanie wykonana przez nginx. Jeśli planujesz używać Apache jako głównego serwera WWW, ta funkcja powinna zostać skonfigurowana.

MaxKeepAliveRequests - maksymalna liczba żądań utrzymania stałego połączenia. Aby uzyskać najlepszą wydajność, zaleca się ustawienie wysokiej wartości. Na początek domyślna wartość to 100.

KeepAliveTimeout to czas w sekundach oczekiwania na kolejne żądanie od tego samego klienta.

Zapisz zmiany i uruchom ponownie apache.

Otwórz plik /etc/apache2/mods-available/mpm_prefork.conf.

Parametry w tym pliku powinny zostać określone w zależności od ruchu w witrynie i zasobów serwera. Aby rozpocząć, spróbuj uruchomić witrynę z minimalną konfiguracją i zobacz, jak działa. Jeśli okaże się, że zasoby są niewystarczające, zwiększ je.

Podaj wartości domyślne dla tego widoku:

  StartServers 2
 MinSpareServers 2
 MaxSpareServers 6
 MaxRequestWorkers 32
 MaxConnectionsPerChild 0

StartServers - liczba procesów serwera potomnego utworzonych podczas uruchamiania.

MinSpareServers - minimalna liczba bezczynnych procesów.

MaxSpareServers - maksymalna liczba bezczynnych procesów.

MaxRequestWorkers - maksymalna liczba połączeń, które będą przetwarzane jednocześnie.

MaxConnectionsPerChild - maksymalna liczba połączeń, po przetworzeniu których proces potomny zostanie zakończony. Może być przydatny w radzeniu sobie z wyciekami pamięci.

Zapisz również zmiany i zrestartuj apache: restart usługi apache2 .

Tworzenie wirtualnego hosta

Host wirtualny to grupa parametrów konfiguracyjnych dla określonej witryny. Obejmuje akceptowalną domenę, administratora poczty e-mail, ścieżki do plików dziennika, połączenie procedur php itp.

Lubię hostować konfiguracje hosta wirtualnego w jednym pliku - apache2.conf. Jeśli konieczne jest masowe zastąpienie wartości dla wszystkich witryn, po kolei nie trzeba otwierać wszystkich plików konfiguracyjnych hostów wirtualnych.

Najpierw wyłącz domyślną witrynę.

  # a2dissite 000-default 

Na końcu pliku /etc/apache2/apache2.conf wpisz następującą dyrektywę:

  <VirtualHost *: 80>

 </ Virtualhost> 

Ta dyrektywa grupuje wszystkie parametry witryny. Że jest wirtualnym hostem. W tej dyrektywie zapisano następujące parametry.

ServerName - twoja domena bez www. (Na przykład example.com.)

ServerAlias - domena z www (www.example.com)

DocumentRoot - katalog, w którym znajdują się pliki twojej witryny. Na przykład / var / www /.

ServerAdmin - adres e-mail administratora witryny.

ErrorLog - lokalizacja pliku dziennika błędów. Z reguły znajdują się one w katalogu / var / log / apache2 /. Używany jest do tego alias $ {APACHE_LOG_DIR}. Przykład:

  ErrorLog $ {APACHE_LOG_DIR} / example.com .error.log 

LogLevel warn . Nic nie zmieniamy, rejestrujemy to w ten sposób. Ustawia poziom rejestrowania błędów.

CustomLog - Lokalizacja i typ strony logu dostępu. Domyślny typ jest połączony. Chociaż istnieją inne typy. Przykład:

  Połączono plik CustomLog $ {APACHE_LOG_DIR} /example.com.access.log 

W obu przykładach witryna example.com jest zamieniana na twoją domenę bez www.

Dodajemy ustawienia dla mpm-itk, ponieważ zainstalowaliśmy ten konkretny moduł. Co on daje? Umożliwia obsługę skryptów php w imieniu użytkownika, który jest właścicielem witryny.

  <IfModule mpm_itk_module>
 AssignUserId grupa użytkowników
 </ IfModule> 

W tym miejscu należy zastąpić użytkownika nazwą użytkownika i grupą nazwą grupy, w której folderze macierzystym znajdują się witryny.

Definiujemy ustawienia dla katalogów.

  <Katalog />
 Opcje + FollowSymLinks
 AllowOverride Brak
 Wymagaj wszystkich przyznanych
 </ Directory>
 <Katalog / var / www>
 Opcje -Indeksy + FollowSymLinks 
 AllowOverride All
 Zezwalaj na zamówienia, odmawiaj
 Pozwólcie od wszystkich
 </ Directory> 

Zamień katalog / var / www na taki, w którym znajdują się twoje witryny.

Łączymy php-skrypty obsługi.

  <IfModule mod_php5.c>
 silnik silnika php_admin_flag
 php_admin_value open_basedir "/ var / www: / tmp / sessions: / tmp / upload_tmp"
 php_admin_value upload_tmp_dir / tmp / sessions
 php_admin_value session.safe_path / tmp / upload_tmp
 php_admin_value sendmail_path "/ usr / sbin / sendmail -t -i -fmail@example.com"
 </ IfModule> 

open_basedir jako wartość, określamy katalogi dwukropka, do których php będzie miał dostęp: katalog z witryną, katalog do przechowywania plików sesji, katalog do pobierania plików tymczasowych.

upload_tmp_dir - katalog do przechowywania plików tymczasowych. Gdy prześlesz zdjęcie (lub coś innego) do witryny, pobrany plik zostanie najpierw umieszczony w tym katalogu, a następnie w ostatecznej lokalizacji.

session.safe_path - katalog do przechowywania sesji.

Ze względów bezpieczeństwa te dwa katalogi nie powinny być przechowywane w miejscu publicznym. Utwórz je w katalogu domowym użytkownika, w którym znajdują się Twoje witryny. Zezwalaj na dostęp do nich tylko temu użytkownikowi (prawa 0750).

sendmail_path - ścieżka i parametry sendmail_path . Z reguły sendmail znajduje się w katalogu / usr / sbin. Po parametrze -f podaj adres e-mail, bez oddzielania spacją.

Zapisz plik konfiguracyjny apache2.conf, zrestartuj apache:

  Uruchom ponownie usługę apache2 

Testowanie dostosowanych pakietów

W katalogu witryny utwórz plik index.php. Napisz kod w nim:

  <? php phpinfo ();  ?> 

Następnie otwórz swoją witrynę w przeglądarce i sprawdź, czy informacje o php są wyświetlane. Jeśli tak, oznacza to, że serwer został pomyślnie skonfigurowany i możesz umieścić witrynę w katalogu przeznaczonym dla niego.

W przeciwnym razie należy przeanalizować dzienniki błędów, sprawdzić ustawienia w plikach konfiguracyjnych.



Jak oceniasz artykuł?
Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 ( 2 ocen, średnia: 5,00 na 5)
Ładowanie ...

” 2 komentarzy " Instalowanie apache i php na Debianie "

  1. Dziękuję. Nazywam się Sergey. 65 lat. uch. lekarz. SPb. Dostałem hosting VDS. Na tej stronie powstała strona: egmontgroup.ru
    Zgodnie z twoim artykułem: php7. Również postgreSQL 9.4 i Apache 2.4
    Zasadniczo normalne. Na lokalnym komputerze Debian 8.6 jessey (na VDS jest taki sam). Zainstalowałem wszystko tak samo. Ale już od kilku dni nie mogę uruchomić Apache. W dziennikach nie jest dla mnie jasne, nic nie wydarzyło się na VDS.
    A co z hostingiem VDS (jest tylko ssh (używam putty).) Skopiuj niektóre konfiguracje, i rzeczywiście. ?
    Pozdrawiam Dziękuję. Mój e-mail to sergeygsd@yandex.ru
    Podobało mi się również przełączanie pracy między wersjami php.

Dodaj komentarz

Twój e-mail nie zostanie opublikowany.