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ć usługę 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.
W poniższym przykładzie tworzona jest grupa 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. Otwórz odpowiedni port za pomocą polecenia az vm open-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ą:
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.
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.
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.