Android

Jak skonfigurować wirtualne hosty Apache na Centos 7

Установка ModSecurity в Apache на CentOS 7

Установка ModSecurity в Apache на CentOS 7

Spisu treści:

Anonim

Apache Virtual Hosts pozwala na uruchamianie wielu stron internetowych na jednym serwerze WWW. Za pomocą wirtualnych hostów możesz określić katalog główny witryny (katalog zawierający pliki witryny), utworzyć osobne zasady bezpieczeństwa dla każdej witryny, użyć różnych certyfikatów SSL dla każdej witryny i wiele więcej.

W tym samouczku przedstawimy instrukcje krok po kroku dotyczące konfigurowania wirtualnych hostów Apache na serwerze CentOS 7.

Wymagania wstępne

Przed kontynuowaniem tego samouczka upewnij się, że zostały spełnione następujące wymagania wstępne:

  • Masz nazwę domeny wskazującą adres IP twojego publicznego serwera. Będziemy korzystać z example.com . Masz zainstalowany Apache, postępując zgodnie z instrukcjami w jaki sposób zainstalować Apache na CentOS 7. Jesteś zalogowany jako użytkownik z uprawnieniami sudo.

Tworzenie struktury katalogów

DocumentRoot to katalog, w którym pliki witryny dla nazwy domeny są przechowywane i podawane w odpowiedzi na żądania. Możesz ustawić katalog główny dokumentu na dowolną lokalizację, w tym przykładzie użyjemy następującej struktury katalogów:

/var/www/ ├── example.com │ └── public_html ├── example-1.com │ └── public_html ├── example-2.com │ └── public_html

Tworzymy osobny katalog dla każdej domeny, którą chcemy hostować na naszym serwerze w katalogu /var/www . W każdym z tych katalogów utworzymy katalog public_html którym będą przechowywane pliki strony internetowej domeny.

Utwórz katalog główny dla domeny example.com za pomocą komendy mkdir:

sudo mkdir -p /var/www/example.com/public_html

Do celów testowych utworzymy plik index.html w katalogu głównym dokumentu domeny. Otwórz edytor i utwórz plik HTML o następującej treści:

/var/www/example.com/public_html/index.html

<code> Welcome to example.com Success! example.com home page! </code>

Welcome to example.com Success! example.com home page!

Wszystkie polecenia są wykonywane jako użytkownik sudo, więc nowo utworzone pliki i katalogi są własnością użytkownika root. Aby upewnić się, że nie występują problemy z uprawnieniami, zmień własność katalogu głównego dokumentu domeny na użytkownika apache :

sudo chown -R apache: /var/www/example.com

Tworzenie wirtualnego pliku hosta

Istnieje kilka sposobów skonfigurowania wirtualnego hosta. Możesz dodać wszystkie dyrektywy hosta wirtualnego w jednym pliku lub utworzyć nowy plik konfiguracyjny dla każdej dyrektywy hosta wirtualnego. Osobiście wolę drugie podejście, ponieważ jest łatwiejsze w utrzymaniu.

Domyślnie Apache jest skonfigurowany do ładowania wszystkich plików konfiguracyjnych, które kończą się na .conf z katalogu /etc/httpd/conf.d/ .

Aby utworzyć hosta wirtualnego dla określonej witryny, otwórz wybrany edytor i utwórz następujący podstawowy plik konfiguracyjny hosta wirtualnego:

/etc/httpd/conf.d/example.com.conf

ServerName example.com ServerAlias www.example.com ServerAdmin [email protected] DocumentRoot /var/www/example.com/public_html Options -Indexes +FollowSymLinks AllowOverride All ErrorLog /var/log/httpd/example.com-error.log CustomLog /var/log/httpd/example.com-access.log combined ServerName example.com ServerAlias www.example.com ServerAdmin [email protected] DocumentRoot /var/www/example.com/public_html Options -Indexes +FollowSymLinks AllowOverride All ErrorLog /var/log/httpd/example.com-error.log CustomLog /var/log/httpd/example.com-access.log combined ServerName example.com ServerAlias www.example.com ServerAdmin [email protected] DocumentRoot /var/www/example.com/public_html Options -Indexes +FollowSymLinks AllowOverride All ErrorLog /var/log/httpd/example.com-error.log CustomLog /var/log/httpd/example.com-access.log combined

  • ServerName : Domena, która powinna pasować do tej konfiguracji hosta wirtualnego. To powinna być nazwa Twojej domeny. ServerAlias : Wszystkie inne domeny, które również powinny pasować do tego wirtualnego hosta, takie jak subdomena www . DocumentRoot : katalog, z którego Apache będzie obsługiwał pliki domeny. Options : ta dyrektywa kontroluje, które funkcje serwera są dostępne w określonym katalogu.
    • -Indexes : Zapobiega wyświetlaniu katalogów. FollowSymLinks : Ta opcja informuje serwer WWW, aby podążał za dowiązaniami symbolicznymi.
    AllowOverride : Określa, które dyrektywy zadeklarowane w pliku .htaccess mogą przesłonić dyrektywy konfiguracyjne. ErrorLog , CustomLog : Określa lokalizację plików dziennika.

Edytuj plik zgodnie ze swoimi potrzebami i zapisz go.

Ważne jest, aby nazwa pliku konfiguracyjnego kończyła się na .conf . Możesz nazwać plik konfiguracyjny, jak chcesz, ale najlepszą praktyką jest użycie nazwy domeny jako nazwy pliku konfiguracyjnego hosta wirtualnego.

Przetestuj składnię pliku konfiguracyjnego za pomocą:

sudo apachectl configtest

Jeśli nie ma błędów, zobaczysz następujące dane wyjściowe:

Syntax OK

Aby aktywować nowo utworzony wirtualny host, uruchom ponownie usługę Apache za pomocą:

sudo systemctl restart

Sprawdź, czy wszystko działa zgodnie z oczekiwaniami, otwierając http://example.com :

Wniosek

W tym samouczku pokazaliśmy, jak utworzyć konfigurację hosta wirtualnego Apache. Możesz powtórzyć kroki opisane powyżej i utworzyć dodatkowe wirtualne hosty dla wszystkich domen.

apache centos

Ten post jest częścią Install LAMP Stack na CentOS 7 series.

Inne posty z tej serii:

• Jak zainstalować Apache na CentOS 7 • Zainstaluj MySQL na CentOS 7 • Jak skonfigurować Apache Virtual Hosts na CentOS 7 • Bezpieczny Apache za pomocą Let's Encrypt na CentOS 7