Samouczek: instalowanie stosu LAMP na maszynie wirtualnej z systemem Linux platformy Azure

Dotyczy: ✔️ Maszyny wirtualne z systemem Linux

W tym artykule przedstawiono kroki wdrażania serwera internetowego Apache oraz oprogramowania MySQL i PHP (stosu LAMP) na maszynie wirtualnej z systemem Ubuntu na platformie Azure. Aby zobaczyć, jak działa serwer LAMP, możesz opcjonalnie zainstalować i skonfigurować witrynę WordPress. Ten samouczek zawiera informacje na temat wykonywania następujących czynności:

  • Tworzenie maszyny wirtualnej z systemem Ubuntu
  • Otwieranie portu 80 na potrzeby ruchu w sieci Web
  • Instalowanie oprogramowania Apache, MySQL i PHP
  • Weryfikowanie instalacji i konfiguracji
  • Instalowanie platformy WordPress

Ta konfiguracja umożliwia szybkie przeprowadzenie testów lub weryfikacji koncepcji. Aby uzyskać więcej informacji na temat stosu LAMP, w tym zalecenia dotyczące środowiska produkcyjnego, zobacz dokumentację systemu Ubuntu.

W tym samouczku jest używany interfejs wiersza polecenia w usłudze Azure Cloud Shell, który jest stale aktualizowany do najnowszej wersji. Aby otworzyć Cloud Shell, wybierz pozycję Wypróbuj w górnej części dowolnego bloku kodu.

Jeśli zdecydujesz się zainstalować interfejs wiersza polecenia i korzystać z niego lokalnie, ten samouczek będzie wymagał interfejsu wiersza polecenia platformy Azure w wersji 2.0.30 lub nowszej. Uruchom polecenie az --version, aby dowiedzieć się, jaka wersja jest używana. Jeśli konieczna będzie instalacja lub uaktualnienie, zobacz Instalowanie interfejsu wiersza polecenia platformy Azure.

Tworzenie grupy zasobów

Utwórz grupę zasobów za pomocą polecenia az group create. Grupa zasobów platformy Azure to logiczny kontener przeznaczony do wdrażania zasobów platformy Azure i zarządzania nimi.

Poniższy przykład obejmuje tworzenie grupy zasobów o nazwie myResourceGroup w lokalizacji eastus.

az group create --name myResourceGroup --location eastus

Tworzenie maszyny wirtualnej

Utwórz maszynę wirtualną za pomocą polecenia az vm create.

Poniższy przykład tworzy maszynę wirtualną o nazwie myVM i tworzy klucze SSH, jeśli jeszcze nie istnieją w domyślnej lokalizacji klucza. Aby użyć określonego zestawu kluczy, użyj opcji --ssh-key-value. To polecenie ustawia również nazwę azureuser jako nazwę użytkownika administratora. Użyjesz tej nazwy później, aby nawiązać połączenia z maszyną wirtualną.

az vm create \
    --resource-group myResourceGroup \
    --name myVM \
    --image Ubuntu2204 \
    --admin-username azureuser \
    --generate-ssh-keys

Po utworzeniu maszyny wirtualnej w interfejsie wiersza polecenia platformy Azure zostanie wyświetlona informacja podobna do następującej. Zwróć uwagę na element publicIpAddress. Ten adres służy do uzyskiwania dostępu do maszyny wirtualnej w późniejszych krokach.

{
  "fqdns": "",
  "id": "/subscriptions/<subscription ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
  "location": "eastus",
  "macAddress": "00-0D-3A-23-9A-49",
  "powerState": "VM running",
  "privateIpAddress": "10.0.0.4",
  "publicIpAddress": "40.68.254.142",
  "resourceGroup": "myResourceGroup"
}

Otwieranie portu 80 na potrzeby ruchu w sieci Web

Domyślnie dozwolone są tylko połączenia SSH z maszynami wirtualnymi z systemem Linux wdrożonymi na platformie Azure. Ponieważ ta maszyna wirtualna ma być serwerem sieci Web, port 80 należy otworzyć z Internetu. Użyj polecenia az vm open-port , aby otworzyć żądany port.

az vm open-port --port 80 --resource-group myResourceGroup --name myVM

Aby uzyskać więcej informacji na temat otwierania portów na maszynie wirtualnej, zobacz Otwieranie portów.

Łączenie z maszyną wirtualną za pośrednictwem protokołu SSH

Jeśli nie znasz jeszcze publicznego adresu IP maszyny wirtualnej, uruchom polecenie az network public-ip list. Ten adres IP będzie potrzebny do wykonania kilku późniejszych kroków.

az network public-ip list --resource-group myResourceGroup --query [].ipAddress

Użyj następującego polecenia, aby utworzyć sesję SSH z maszyną wirtualną. Pamiętaj o wstawieniu prawidłowego publicznego adresu IP swojej maszyny wirtualnej. W tym przykładzie adres IP to 40.68.254.142. Element azureuser to nazwa użytkownika administratora określona podczas tworzenia maszyny wirtualnej.

ssh azureuser@40.68.254.142

Instalowanie oprogramowania Apache, MySQL i PHP

Uruchom następujące polecenie, aby zaktualizować źródła pakietów systemu Ubuntu oraz zainstalować oprogramowanie Apache, MySQL i PHP. Widoczny na końcu polecenia znak karetki (^) jest częścią nazwy pakietu lamp-server^.

sudo apt update && sudo apt install lamp-server^

Zostanie wyświetlony monit o zainstalowanie pakietów i innych zależności. W tym procesie jest instalowana minimalna liczba wymaganych rozszerzeń PHP potrzebnych do używania języka PHP z oprogramowaniem MySQL.

Weryfikowanie oprogramowania Apache

Sprawdź wersję oprogramowania Apache przy użyciu następującego polecenia:

apache2 -v

Po zainstalowaniu oprogramowania Apache i otwarciu portu 80 dla maszyny wirtualnej można uzyskać dostęp do serwera internetowego z Internetu. Aby wyświetlić stronę domyślną oprogramowania Apache2 Ubuntu, otwórz przeglądarkę internetową i wpisz publiczny adres IP maszyny wirtualnej. Wpisz publiczny adres IP użyty do nawiązania połączenia SSH z maszyną wirtualną:

Strona domyślna oprogramowania Apache

Weryfikowanie i zabezpieczanie oprogramowania MySQL

Sprawdź wersję oprogramowania MySQL przy użyciu następującego polecenia (zwróć uwagę na parametr V oznaczony wielką literą):

mysql -V

Aby ułatwić zabezpieczenie instalacji oprogramowania MySQL, włącznie z ustawieniem hasła głównego, uruchom skrypt mysql_secure_installation.

sudo mysql_secure_installation

Opcjonalnie możesz skonfigurować wtyczkę weryfikacji hasła (zalecane). Następnie ustaw hasło użytkownika głównego oprogramowania MySQL i skonfiguruj pozostałe ustawienia zabezpieczeń dla środowiska. Zalecamy udzielenie odpowiedzi Tak („Y”, czyli ang. „Yes”) na wszystkie pytania.

Jeśli chcesz wypróbować funkcje oprogramowania MySQL (na przykład utworzyć bazę danych MySQL, dodać użytkowników lub zmienić ustawienia konfiguracji), zaloguj się do systemu MySQL. Ten krok nie jest wymagany do ukończenia tego samouczka.

sudo mysql -u root -p

Gdy skończysz, zamknij wiersz polecenia mysql, wpisując \q.

Weryfikowanie oprogramowania PHP

Sprawdź wersję oprogramowania PHP przy użyciu następującego polecenia:

php -v

Jeśli chcesz wykonać dodatkowe testy, utwórz prostą stronę z informacjami o PHP, przeznaczoną do wyświetlania w przeglądarce. Poniższe polecenie tworzy stronę z informacjami o języku PHP:

sudo sh -c 'echo "<?php phpinfo(); ?>" > /var/www/html/info.php'

Możesz teraz sprawdzić zawartość utworzonej strony z informacjami o języku PHP. Otwórz przeglądarkę i przejdź pod adres http://yourPublicIPAddress/info.php. Zastąp publiczny adres IP maszyny wirtualnej. Zawartość okna powinna wyglądać mniej więcej tak.

Strona z informacjami o języku PHP

Instalowanie platformy WordPress

Jeśli chcesz wypróbować swój stos, zainstaluj aplikację przykładową. W ramach przykładu przedstawiono poniższe kroki, które pozwalają zainstalować platformę „open source” WordPress do tworzenia witryn internetowych i blogów. Inne obciążenia do wypróbowania to m.in. Drupal i Moodle.

Ten instalator platformy WordPress służy wyłącznie do weryfikacji koncepcji. Aby zainstalować najnowszą platformę WordPress w produkcji z zalecanymi ustawieniami zabezpieczeń, zobacz dokumentację platformy WordPress.

Instalowanie pakietu WordPress

Uruchom następujące polecenie:

sudo apt install wordpress

Konfigurowanie usługi WordPress

Skonfiguruj platformę WordPress pod kątem używania rozwiązań MySQL i PHP.

W katalogu roboczym utwórz plik tekstowy wordpress.sql, aby skonfigurować bazę danych MySQL dla platformy WordPress:

sudo sensible-editor wordpress.sql

Dodaj następujące polecenia, zastępując ciąg yourPassword swoim hasłem do bazy danych (inne wartości pozostaw bez zmian). Jeśli wcześniej skonfigurowano zasady zabezpieczeń MySQL w celu sprawdzania siły hasła, upewnij się, że hasło spełnia te wymagania. Zapisz plik.

CREATE DATABASE wordpress;
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER
ON wordpress.*
TO wordpress@localhost
IDENTIFIED BY 'yourPassword';

Uruchom następujące polecenie, aby utworzyć bazę danych:

cat wordpress.sql | sudo mysql --defaults-extra-file=/etc/mysql/debian.cnf

Ponieważ plik wordpress.sql zawiera poświadczenia bazy danych, usuń go po użyciu:

sudo rm wordpress.sql

W celu skonfigurowania środowiska PHP uruchom następujące polecenie, aby otworzyć wybrany edytor tekstów i utworzyć plik /etc/wordpress/config-localhost.php:

sudo sensible-editor /etc/wordpress/config-localhost.php

Skopiuj następujące wiersze do pliku, zastępując ciąg yourPassword swoim hasłem do bazy danych platformy WordPress (inne wartości pozostaw bez zmian). Następnie zapisz plik.

<?php
define('DB_NAME', 'wordpress');
define('DB_USER', 'wordpress');
define('DB_PASSWORD', 'yourPassword');
define('DB_HOST', 'localhost');
define('WP_CONTENT_DIR', '/usr/share/wordpress/wp-content');
?>

Przenieś instalację platformy WordPress do katalogu głównego dokumentu serwera internetowego:

sudo ln -s /usr/share/wordpress /var/www/html/wordpress

sudo mv /etc/wordpress/config-localhost.php /etc/wordpress/config-default.php

Teraz możesz ukończyć instalację platformy WordPress i zacząć na niej publikować. Otwórz przeglądarkę i przejdź pod adres http://yourPublicIPAddress/wordpress. Zastąp publiczny adres IP maszyny wirtualnej. Zawartość okna powinna wyglądać mniej więcej tak.

Strona instalacji platformy WordPress

Następne kroki

W tym samouczku wdrożono serwer LAMP na platformie Azure. W tym samouczku omówiono:

  • Tworzenie maszyny wirtualnej z systemem Ubuntu
  • Otwieranie portu 80 na potrzeby ruchu w sieci Web
  • Instalowanie oprogramowania Apache, MySQL i PHP
  • Weryfikowanie instalacji i konfiguracji
  • Instalowanie oprogramowania WordPress na serwerze LAMP

Przejdź do następnego samouczka, aby dowiedzieć się, jak zabezpieczyć serwery internetowe przy użyciu certyfikatów TLS/SSL.