Tutorial - Instalacja serwera www (LAMP) na Debian lub Ubuntu

Bazy wiedzy

Tutorial - Instalacja serwera www (LAMP) na Debian lub Ubuntu


Icons/System/eye-open Created with Sketch. 5010 wyśw. 10.05.2023 Cloud / Serwer dedykowany (bare metal)

Tłumaczenie zostało wygenerowane automatycznie przez system naszego partnera SYSTRAN. W niektórych przypadkach mogą wystąpić nieprecyzyjne sformułowania, na przykład w tłumaczeniu nazw przycisków lub szczegółów technicznych. W przypadku jakichkolwiek wątpliwości zalecamy zapoznanie się z angielską/francuską wersją przewodnika. Jeśli chcesz przyczynić się do ulepszenia tłumaczenia, kliknij przycisk "Zgłóś propozycję modyfikacji" na tej stronie.

Wprowadzenie

Uruchomienie serwera www i powiązanych z nim aplikacji pozwala serwerowi cloud na hostowanie stron www lub dynamicznych aplikacji www. Instalacja LAMPstack jest sprawdzoną operacją realizowaną z wykorzystaniem aplikacji open source. LAMP oznacza Linux (OS), Apache (serwer www), MariaDB (system zarządzania bazami danych) i PHP (język programowania).

Tutorial wyjaśnia, jak zainstalować serwer LAMP w Twojej usłudze OVHcloud.

Wymagania początkowe

Tutorial przedstawia zastosowanie jednego lub kilku rozwiązań OVHcloud w powiązaniu z zewnętrznymi narzędziami i opisuje operacje, jakie należy wykonać w konkretnym przypadku. Być może będziesz musiał dostosować instrukcję do Twojego przypadku.

W przypadku trudności lub wątpliwości związanych z administrowaniem, użytkowaniem lub wdrażaniem usług na serwerze zalecamy skorzystanie z pomocy wyspecjalizowanego usługodawcy lub zbliżenie się do naszej społeczności.

W praktyce

Jeśli dystrybucja Debian lub Ubuntu nie jest już zainstalowana na Twoim serwerze, przeprowadź wstępną instalację w Panelu klienta OVHcloud. Jest to najlepszy sposób na posiadanie własnego systemu dla Twojego serwera www i aplikacji, które go wykonują.

Zapoznaj się z przewodnikiem dotyczącym instalacji dystrybucji w Twojej usłudze OVHcloud i połącz się z nią przez SSH:

Poniższe instrukcje są sprawdzane dla dystrybucji Debian 11. Ponieważ Ubuntu opiera się na Debianie, ten tutorial powinien również działać na bieżącej dystrybucji Ubuntu.

Etap 1: aktualizacja systemu

Po zalogowaniu się do serwera przez SSH upewnij się, że wszystkie pakiety są zaktualizowane:

sudo apt update && sudo apt upgrade -y

Teraz możesz zainstalować aktualne pakiety LAMP.

Ponieważ oprogramowanie jest regularnie aktualizowane, może być konieczne dostosowanie poniższych instrukcji do najnowszych wersji.

Etap 2: instalacja Apache

Zainstaluj pakiety Apache (w tym dokumentację):

sudo apt install -y apache2 apache2-doc

Możesz sprawdzić instalację za pomocą polecenia:

sudo systemctl status apache2

Można również otworzyć http://server_IP w przeglądarce internetowej. Należy wyświetlić stronę "Apache2 Debian Default Page".

Etap 3: zainstalować serwer baz danych i PHP

Zainstaluj pakiety MariaDB i PHP:

sudo apt install -y php php-pdo php-mysql php-zip php-gd php-mbstring php-curl php-xml php-pear php-bcmath mariadb-server

Etap 4: konfiguracja serwera bazy danych

MariaDB zapewnia skrypt, który pomoże Ci w początkowej konfiguracji i zastosować niektóre parametry związane z bezpieczeństwem.

Aby go wykonać, wprowadź następującą komendę:

sudo mariadb-secure-installation

Potwierdź pierwszą prośbę, naciskając Enter.

Następnie wybierz metodę zabezpieczenia dostępu do serwera baz danych.

Switch to unix_socket authentication [Y/n]

Zaleca się stosowanie proponowanej metody uwierzytelniania (unix_socket) zamiast dostępu za pomocą hasła root. Kliknij y, a następnie Enter. Jeśli zdecydujesz się na korzystanie z dostępu użytkownika root zamiast tego, wybierz n i zdefiniuj hasło root na następnej stronie.

Wpisz n na poniższy adres e-mail:

Change the root password? [Y/n]

Poniższe zaproszenia dotyczące środków bezpieczeństwa, potwierdź je wszystkie za pomocą y do końca skryptu.

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] y
 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

Jeśli skonfigurowałeś dostęp MariaDB w zalecany sposób (unix_socket), możesz mieć do niego dostęp automatycznie (root) za każdym razem, gdy jesteś podłączony do serwera jako użytkownik z dużymi prawami (sudo).

Aby przygotować bazę danych do korzystania z niej przy użyciu programu, zapoznaj się z poniższą sekcją. Podczas instalacji aplikacji, takiej jak CMS (np. WordPress, Drupal, etc.) podaj dane dostępowe bazy danych (nazwa bazy danych, użytkownik, hasło). Jeśli chodzi o dobre praktyki, unikaj korzystania z tej samej bazy danych w różnych aplikacjach.

Aby zainstalować system WordPress na serwerze, zapoznaj się z tym tutorialu.

Utwórz Twoją pierwszą bazę danych i użytkownika bazy danych (opcjonalnie)

Otwórz powłokę MariaDB:

sudo mariadb
MariaDB [(none)]> 

Utwórz bazę danych:

MariaDB [(none)]> CREATE DATABASE database_name;

Utwórz wybranego przez Ciebie "użytkownika" i nadaj mu wszystkie uprawnienia do korzystania z tej bazy danych. Może on wówczas uzyskać dostęp do bazy danych i wykonać wszystkie operacje dla aplikacji używającej tej bazy danych. Zamień database_name na nazwę bazy danych, user_name na wybraną nazwę i hasło na silne hasło.

MariaDB [(none)]> GRANT ALL ON database_name.* TO 'user_name'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;

Upewnij się, że wprowadzone modyfikacje zostały zastosowane i następnie opuść powłokę MariaDB:

MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> exit;

Etap 5: konfiguracja firewalla (opcjonalnie)

Konfiguracja zapory ogniowej (iptables) poprawi bezpieczeństwo Twojego serwera. Proces ten można uprościć, korzystając z front-endu "Uncomplicated Firewall" (UFW) oraz zestawu wstępnie zdefiniowanych profili.

Zainstaluj UFW:

sudo apt install ufw

Profile, o których mowa, zawierają wpis "WWW" na liście aplikacji:

sudo ufw app list | grep WWW
  WWW
  WWW Cache
  WWW Full
  WWW Secure

Wybierając "WW Full", zezwalasz na jednoczesne bezpieczne połączenia (port 443) i niezabezpieczone zapytania http (port 80) na serwer www.

Aby zobaczyć, które porty mają wpływ na określony profil, wprowadź sudo ufw app info "profile name".

Po wprowadzeniu następującego polecenia porty określone w profilu "WWW Full" zostaną otwarte:

sudo ufw allow 'WWW Full'

Ponieważ wszystkie nieautoryzowane porty zostaną zablokowane po aktywacji firewalla, upewnij się, że zezwalasz również na połączenia SSH (port 22 w konfiguracji domyślnej):

sudo ufw allow 'SSH'

Włącz reguły firewalla i sprawdź konfigurację:

sudo ufw enable
sudo ufw status
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip

To                         Action      From
--                         ------      ----
80,443/tcp (WWW Full)      ALLOW IN    Anywhere                  
22/tcp (SSH)               ALLOW IN    Anywhere                  
80,443/tcp (WWW Full (v6)) ALLOW IN    Anywhere (v6)             
22/tcp (SSH (v6))          ALLOW IN    Anywhere (v6)      

Możesz pójść o krok dalej z UFW, na przykład, jeśli chcesz ograniczyć ataki typu denial of service (DOS) lub zapobiec zapytania przez niektóre zakresy adresów IP. Zapoznaj się z oficjalną dokumentacją UFW.

Etap 6: konfiguracja DNS (opcjonalnie)

Aby uzyskać dostęp do instalacji serwera www za pomocą domeny, należy przypisać go do Twojej usługi. W tym celu edytuj strefę DNS dostępną w Panelu klienta OVHcloud, pod warunkiem, że OVHcloud jest Twoim operatorem rekordu i że nazwa domeny wykorzystuje serwery DNS OVHcloud.

Aby dowiedzieć się więcej, zapoznaj się z przewodnikiem "Modyfikacja strefy DNS". Jeśli nazwa domeny jest aktualnie używana, skonfiguruj serwery DNS tylko po tym, jak Twoja strona WWW lub aplikacja są gotowe.

Etap 7: aktywować bezpieczne połączenia z Let's Encrypt (opcjonalnie)

Aby zbudować bezpieczne połączenia (https), serwer www musi być zabezpieczony przez Oficjalny Organ Certyfikacyjny jako "Let's Encrypt", który oferuje bezpłatne certyfikaty. Musisz zainstalować narzędzie klienta (takie jak Certbot) i odpowiednio skonfigurować Apache. Bez tego etapu Twoja strona WWW lub aplikacja mogą akceptować tylko niezaszyfrowane zapytania http.

OVHcloud oferuje również rozwiązanie SSL Gateway. Więcej informacji znajdziesz w dokumentacji.

Upewnij się najpierw, czy Twoja domena jest poprawnie wpisana w strefie DNS, czyli zaznaczona na adres IP Twojego serwera.

Poniższe polecenie wprowadza działającą wersję Certbot (certbot 1.12.0). Aby zainstalować najnowszą wersję, należy użyć dodatkowego snappy managera pakietów. Instrukcje instalacji znajdują się na stronie Certbot.

Zainstaluj pakiety wymagane dla klienta Certbot:

sudo apt install -y certbot python3-certbot-apache

Uzyskaj certyfikat dla domeny i subdomeny "www":

sudo certbot --apache -d domainname.ovh -d www.domainname.ovh

Wpisz poprawny adres e-mail i zaakceptuj warunki korzystania z usługi.

Certbot automatycznie odnawia certyfikaty. Nie ma potrzeby wykonywania innych czynności. Aby dowiedzieć się więcej o funkcjonalności Certbot, zapoznaj się z dostępnymi opcjami.

Sprawdź również

Jak pobierać i pobierać dane z serwera za pomocą SFTP

Dokumentacja UFW

Dokumentacja Apache

Dokumentacja MariaDB

Dokumentacja Let's Encrypt

Dokumentacja Certbot

Dokumentacja NGINX (alternatywna Apache)

Przyłącz się do społeczności naszych użytkowników na stronie https://community.ovh.com/en/.

Powiązane artykuły