Jak zainstalować i skonfigurować serwer WWW Apache na Ubuntu


Co to jest serwer WWW Apache?

Apache lub serwer HTTP Apache to darmowy serwer WWW typu open source, opracowany i obsługiwany przez Apache Software Foundation. Jego popularność można ocenić po tym, że około 46% stron internetowych na całym świecie jest obsługiwanych przez Apache. Apache umożliwia programistom witryn internetowych udostępnianie treści w Internecie. Służy jako dostawca, dostarczając pliki żądane przez użytkowników, gdy wprowadzają nazwę domeny w pasku adresu przeglądarki.

Ten samouczek dotyczy instalacji i konfiguracji Apache2 w systemie Ubuntu. Polecenia i procedury wymienione w tym artykule zostały uruchomione w systemie Ubuntu 18.04 LTS. Ponieważ używamy wiersza polecenia Ubuntu, terminala, w tym artykule; możesz go otworzyć poprzez Dash systemu lub skrót Ctrl + Alt + T .

Zainstaluj Apache 2 na Ubuntu Linux

Wykonaj następujące kroki, aby zainstalować oprogramowanie Apache2 za pośrednictwem oficjalnych repozytoriów Ubuntu.

Krok 1: Zaktualizuj repozytoria systemowe

Możesz pobrać najnowszą wersję oprogramowania, najpierw aktualizując indeks lokalnych pakietów repozytoriów Ubuntu. Otwórz Terminal i wprowadź w tym celu następujące polecenie:

$ sudo apt update

Krok 2: Zainstaluj Apache 2 za pomocą polecenia apt

Następnie wprowadź następujące polecenie jako sudo, aby zainstalować Apache2 i jego wymagane zależności:

$ sudo apt install apache2

Może pojawić się monit z opcją y / n, aby kontynuować instalację. Wpisz Y, po czym rozpocznie się procedura instalacji.

Krok 3: Sprawdź instalację Apache

Po zakończeniu instalacji możesz sprawdzić numer wersji, a tym samym sprawdzić, czy Apache2 jest rzeczywiście zainstalowany w systemie, wprowadzając następujące polecenie:

$ apache2 -version

Skonfiguruj ustawienia zapory

Aby skonfigurować Apache, najpierw musimy zezwolić na zewnętrzny dostęp do niektórych portów internetowych naszego systemu i zezwolić Apache na twojej zaporze UFW.

Krok 1: Wymień profile aplikacji UFW

Aby skonfigurować zaporę, wypiszmy najpierw profile aplikacji, które będą nam potrzebne, aby umożliwić dostęp do Apache. Użyj poniższego polecenia, aby wyświetlić listę takich dostępnych aplikacji:

$ sudo ufw app list

W powyższym pliku wyjściowym możesz zobaczyć trzy profile Apache, z których każdy zapewnia różne poziomy bezpieczeństwa; Apache jest tym, który zapewnia maksymalne ograniczenie przy wciąż otwartym porcie 80.

Krok 2: Zezwól Apache na UFW i sprawdź jego status

Zezwolenie Apache na UFW otworzy port 80 dla ruchu sieciowego, zapewniając jednocześnie maksymalne bezpieczeństwo serwera. Skonfiguruj UFW, aby zezwolić Apache za pomocą następującego polecenia:

$ sudo ufw allow 'Apache'

Status UFW wyświetli teraz włączony Apache w zaporze.

$ sudo ufw status

Skonfiguruj ustawienia serwera WWW Apache

Krok 1: Sprawdź, czy usługa Apache działa

Pierwszym krokiem jest sprawdzenie, czy usługa Apache2 jest uruchomiona w systemie za pomocą następującego polecenia :

$ sudo systemctl status apache2

Status „aktywny (uruchomiony) sprawdza, czy usługa apache2 jest uruchomiona.

Krok 2: Sprawdź, czy Apache działa poprawnie i nasłuchuje na twoim adresie IP

Możesz również sprawdzić, czy Apache działa, żądając strony z serwera Apache. W tym celu możesz użyć adresu IP swojego serwera, aby uzyskać dostęp do strony docelowej Apache.

Użyj następującego polecenia, aby dowiedzieć się o adresie IP swojego serwera:

$ hostname -I

Następnie wypróbuj adresy IP, jeden po drugim z wyjścia, w przeglądarce internetowej w następujący sposób:

http: // server_IP

W moim przypadku , http://192.168.100.4 i http://192.168.100.5. Spowoduje to wyświetlenie następującej strony internetowej Apache dla systemu Ubuntu, sprawdzając, czy serwer Apache działa poprawnie.

Konfigurowanie wirtualnych hostów w Apache

Wirtualny host jest podobny do bloków serwerów w Nginx. Służy do zarządzania konfiguracjami dla więcej niż jednej domeny z jednego serwera. Przedstawimy przykład konfiguracji wirtualnego hosta za pośrednictwem serwera Apache. Skonfigurujemy witrynę o nazwie sampledomain.com, używając bloku serwera, który jest domyślnie włączony w Apache dla Ubuntu 18.

Krok 1: Skonfiguruj nazwę domeny

Blok serwera, który jest domyślnie włączony, może wyświetlać dokumenty z / var / www / html. Jednak utworzymy katalog pod adresem / var / www / pozostawiając nienaruszony katalog domyślny.

Utwórz ten katalog za pomocą następującego polecenia, zastępując sampledomain.com odpowiednią nazwą domeny.

sudo mkdir -p /var/www/sampledomain.com/html

Następnie przypisz własność katalogu za pomocą następujących poleceń:

sudo chown -R $USER:$USER /var/www/sampledomain.com/html
sudo chmod -R 755 /var/www/sampledomain.com

Utwórzmy teraz stronę indeksu, do której możemy później uzyskać dostęp w celu przetestowania, czy Apache obsługuje naszą nazwę domeny. Utwórz plik HTML za pomocą edytora Nano lub dowolnego ulubionego edytora tekstu.

$ nano /var/www/sampledomain.com/html/index.html

Wpisz następujący kod HTML strony indeksu:

<html>
<head>
<title>Welcome to the page sampledomain.com!</title>
</head>
<body>
<h1>You got Lucky! Your sampledomain.com server block is up!</h1>
</body>
</html>

Używamy edytora nano do tworzenia pliku HTML.

Możesz zapisać plik w nano, używając Ctrl + X, a następnie wpisz Y i wciśnij Enter.

Apache potrzebuje wirtualnego pliku hosta do obsługi zawartości twojego serwera. Domyślny plik konfiguracyjny do tego celu jest już utworzony, ale utworzymy nowy dla naszych niestandardowych konfiguracji.

$ sudo nano /etc/apache2/sites-available/sampledomain.com.conf

Wprowadź następujące niestandardowe szczegóły konfiguracji dla naszej nazwy domeny:

<VirtualHost *:80>
ServerAdmin admin@sampledomain.com
ServerName sampledomain.com
ServerAlias www.sampledomain.com
DocumentRoot /var/www/sampledomain.com/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Używamy edytora nano do utworzenia tego pliku .conf.

Możesz zapisać plik w nano, używając Ctrl + X , a następnie wpisz Y i wciśnij Enter.

Krok 2: Włącz plik konfiguracyjny domeny

Pozwól nam włączyć plik konfiguracyjny utworzony za pomocą narzędzia a2ensite:

$ sudo a2ensite sampledomain.com.conf

Dane wyjściowe zasugerują aktywację nowej konfiguracji, ale możemy to wszystko zrobić zbiorowo po uruchomieniu następujących czynności polecenie, które wyłącza oryginalny plik konfiguracyjny:

$ sudo a2dissite 000-default.conf

Teraz uruchom ponownie usługę Apache:

$ sudo systemctl restart apache2

Krok 3: Test na błędy

Na koniec przetestujmy, czy występują jakieś błędy konfiguracji za pomocą następującego polecenia:

$ sudo apache2ctl configtest

Jeśli nie otrzymasz żadnych błędów, otrzymasz następujące dane wyjściowe:

Jednak następujący błąd występuje często w Ubuntu 18.04

Rozwiąż błąd:

Wpisz następujące polecenie, aby rozwiązać wyżej wymieniony błąd:

$ echo "ServerName sampledomain.com | sudo tee /etc/apache2/conf-available/servername.conf

A potem:

$ sudo a2enconf servername

Teraz, gdy ponownie sprawdzisz, czy nie ma błędów, zobaczysz to błąd rozwiązany przez następujące dane wyjściowe:

Krok 4: Sprawdź, czy Apache obsługuje twoją nazwę domeny

Serwer Apache jest teraz skonfigurowany do obsługi twojej nazwy domeny. Można to zweryfikować, wprowadzając nazwę serwera w następujący sposób w dowolnej przeglądarce internetowej uruchomionej w systemie:

http://sampledomain.com

Strona indeksu powinna być wyświetlana w następujący sposób, wskazując, że Apache jest teraz gotowy do obsługi twojego blok serwera!

Niektóre typowe polecenia zarządzania Apache

Po skonfigurowaniu serwera WWW może być konieczne wykonanie podstawowych operacji zarządzania na Apache. Oto polecenia, które można wprowadzić w aplikacji Terminal dla tych operacji.

sudo systemctl start apache2

Użyj tego polecenia jako sudo, aby uruchomić serwer Apache.

sudo systemctl stop apache2

Użyj tego polecenia jako sudo, aby zatrzymać serwer Apache, gdy jest on w trybie startowym.

sudo systemctl restart apache2

Użyj tego polecenia jako sudo, aby zatrzymać, a następnie ponownie uruchomić usługę Apache.

sudo systemctl reload apache2

Użyj tego polecenia jako sudo, aby zastosować zmiany konfiguracji bez ponownego uruchamiania połączenia.

sudo systemctl enable apache2

Użyj tego polecenia jako sudo, aby umożliwić uruchamianie Apache przy każdym uruchomieniu systemu.

sudo systemctl disable apache2

Użyj tego polecenia jako sudo, aby wyłączyć, jeśli skonfigurowałeś uruchamianie Apache przy każdym uruchomieniu systemu.

Wniosek

W tym artykule nauczyłeś się instalować i konfigurować serwer WWW Apache w systemie Ubuntu. Obejmuje to wprowadzenie zmian w zaporze UFW, a następnie skonfigurowanie serwera WWW pod kątem adresu IP. Zalecamy również skonfigurowanie wirtualnego hosta za pośrednictwem Apache; da ci to podstawę do używania Apache do hostowania twoich plików w Internecie. Podstawowe polecenia zarządzania Apache pomogą również jako administrator sieci w optymalnym zarządzaniu serwerem WWW.

Komentarze
klesk

root@klesk:~# $ echo "ServerName historiewikingow.pl | sudo tee /etc/apache2/conf-available/servername.conf"
$: nie znaleziono polecenia

nie wiem

dolara przed echo usuń i dodaj cudzysłów po nazwie serwera

olga

brakuje zamknięcia cudzysłowu.
Spróbuj:
"ServerName historiewikingow.pl" | sudo tee /etc/apache2/conf-available/servername.conf

marek

wpisując w przeglądarkę adres ip - stronę wyszukuje natomiast wpisując po domenie (moja to domena.pl) wyszukuje czyjąś stronę. cała konfiguracja u mnie jest w porządku, w czym lezy problem?:

stanisław paluchowski

bardzo inspirujący poradnik kolego