Установка ModSecurity в Apache на CentOS 7
Spisu treści:
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:
Welcome to example.com Success! example.com home page!
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 subdomenawww
.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 centosTen 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 7Jak zainstalować i skonfigurować NextCloud z Apache na Centos 7
Nextcloud to otwarta platforma do udostępniania plików i współpracy, podobnie jak Dropbox. W tym samouczku pokażemy, jak zainstalować i skonfigurować Nextcloud z Apache na komputerze CentOS 7.
Jak skonfigurować wirtualne hosty Apache na Debianie 9
Apache Virtual Hosts pozwala hostować więcej niż jedną domenę na jednym komputerze. W tym samouczku przeprowadzimy Cię przez proces konfigurowania wirtualnych hostów Apache w systemie Debian 9.
Jak skonfigurować wirtualne hosty Apache na Ubuntu 18.04
W tym samouczku przedstawimy instrukcje krok po kroku dotyczące konfigurowania wirtualnych hostów Apache w systemie Ubuntu 18.04. Wirtualne hosty Apache pozwalają na uruchamianie więcej niż jednej strony na jednym komputerze.