Jak zainstalować stos Linux, Apache, MariaDB, PHP (LAMP) na Debianie 10

Konfiguracja środowiska LAMP na Debianie 10: Kompletny przewodnik

Wprowadzenie

LAMP to powszechnie stosowany zestaw oprogramowania, który umożliwia tworzenie interaktywnych witryn internetowych i rozbudowanych aplikacji. Akronim LAMP odnosi się do następujących komponentów:

  • Linux – fundament, czyli system operacyjny
  • Apache – serwer sieciowy, obsługujący żądania HTTP
  • MariaDB – system zarządzania relacyjnymi bazami danych
  • PHP – język skryptowy wykonywany po stronie serwera

W niniejszym poradniku zaprezentujemy krok po kroku, jak zainstalować i skonfigurować środowisko LAMP na serwerze z systemem Debian 10. To rozwiązanie jest doskonałe do hostowania stron WWW, zaawansowanych aplikacji internetowych oraz innych projektów online.

Instalacja serwera Apache

1. Odśwież listę dostępnych pakietów w systemie:


sudo apt update

2. Zainstaluj oprogramowanie Apache:


sudo apt install apache2

3. Uruchom usługę Apache i ustaw jej automatyczne włączanie przy starcie systemu:


sudo systemctl enable apache2
sudo systemctl start apache2

4. Zweryfikuj, czy serwer Apache działa poprawnie, wpisując poniższy adres w przeglądarce:


http://localhost

Jeśli wyświetli się domyślna strona Apache, serwer został zainstalowany prawidłowo.

Instalacja systemu MariaDB

1. Zainstaluj pakiet MariaDB:


sudo apt install mariadb-server

2. Włącz usługę MariaDB i ustaw jej automatyczne uruchamianie:


sudo systemctl enable mariadb
sudo systemctl start mariadb

3. Zadbaj o bezpieczeństwo instalacji MariaDB, uruchamiając dedykowany skrypt:


sudo mysql_secure_installation

4. Skrypt poprosi o ustawienie hasła administratora (root) dla MariaDB. Wybierz silne hasło.

Instalacja interpretera PHP

1. Zainstaluj pakiet PHP oraz moduł PHP dla Apache:


sudo apt install php libapache2-mod-php

2. Aktywuj moduł PHP dla Apache:


sudo a2enmod php7.4

3. Zrestartuj serwer Apache, aby zmiany zostały zastosowane:


sudo systemctl restart apache2

4. Sprawdź działanie PHP, tworząc plik info.php w głównym katalogu serwera Apache:


sudo nano /var/www/html/info.php

5. Wklej do pliku następujący fragment kodu:


<?php
phpinfo();
?>

6. Zapisz plik i otwórz w przeglądarce URL:


http://localhost/info.php

Jeśli wyświetlą się informacje o konfiguracji PHP, instalacja przebiegła pomyślnie.

Konfiguracja wirtualnego hosta

1. Utwórz katalog przeznaczony na pliki Twojej strony WWW:


sudo mkdir /var/www/html/moja-strona

2. Stwórz plik konfiguracji wirtualnego hosta:


sudo nano /etc/apache2/sites-available/moja-strona.conf

3. Wklej poniższy kod do pliku, zastępując moja-strona nazwą Twojej domeny lub subdomeny:


<VirtualHost *:80>
ServerAdmin webmaster@moja-strona
ServerName moja-strona
DocumentRoot /var/www/html/moja-strona
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

4. Aktywuj skonfigurowanego wirtualnego hosta:


sudo a2ensite moja-strona.conf

5. Zrestartuj serwer Apache:


sudo systemctl restart apache2

Konfiguracja bazy danych

1. Zaloguj się do MariaDB z uprawnieniami administratora:


sudo mysql -u root -p

2. Utwórz nową bazę danych oraz użytkownika z dostępem do niej:


CREATE DATABASE moja_baza;
CREATE USER 'użytkownik' IDENTIFIED BY 'hasło';
GRANT ALL ON moja_baza.* TO 'użytkownik';
FLUSH PRIVILEGES;

Weryfikacja działania środowiska LAMP

1. Utwórz plik index.php w katalogu Twojej strony internetowej:


sudo nano /var/www/html/moja-strona/index.php

2. Wprowadź następujący kod do pliku, dostosowując dane dostępowe do bazy:


<?php
$servername = "localhost";
$username = "użytkownik";
$password = "hasło";
$dbname = "moja_baza";

// Nawiązanie połączenia z bazą danych
$conn = mysqli_connect($servername, $username, $password, $dbname);

// Weryfikacja połączenia
if (!$conn) {
die(„Błąd połączenia z bazą danych: ” . mysqli_connect_error());
}

// Przygotowanie zapytania SQL
$sql = „SELECT * FROM users”;

// Wykonanie zapytania
$result = mysqli_query($conn, $sql);

// Przetwarzanie wyników zapytania
if ($result) {
while ($row = mysqli_fetch_assoc($result)) {
echo „ID: ” . $row[„id”] . „<br>”;
echo „Imię: ” . $row[„name”] . „<br>”;
echo „Email: ” . $row[„email”] . „<br><br>”;
}
} else {
echo „Błąd wykonywania zapytania: ” . mysqli_error($conn);
}

// Zamknięcie połączenia
mysqli_close($conn);
?>

3. Otwórz adres URL Twojej strony w przeglądarce:


http://moja-strona

Jeżeli strona wyświetli zawartość z bazy danych, oznacza to, że stos LAMP został prawidłowo skonfigurowany.

Często zadawane pytania

1. Jaki system operacyjny jest najbardziej odpowiedni dla środowiska LAMP?
Debian 10 jest często wybierany ze względu na swoją niezawodność i wysoki poziom bezpieczeństwa.

2. Czy instalacja LAMP jest możliwa na innych systemach operacyjnych?
Oczywiście, jednak poszczególne kroki instalacyjne mogą się nieznacznie różnić.

3. Co zrobić w przypadku wystąpienia błędu podczas instalacji?
Warto sprawdzić logi systemowe, poszukując komunikatów o błędach. Pomocne mogą być również fora internetowe i strony wsparcia technicznego.

4. Jak zaktualizować zainstalowane komponenty LAMP?
Użyj polecenia sudo apt update && sudo apt upgrade w terminalu.

5. W jaki sposób skonfigurować dodatkowe usługi, np. SSL?
Należy zapoznać się z dokumentacją danej usługi i postępować według podanych wskazówek.

6. Jak można poprawić wydajność środowiska LAMP?
Zoptymalizuj ustawienia Apache i MariaDB, wykorzystaj pamięć podręczną oraz rozważ użycie dysków SSD.

7. Czy LAMP nadaje się do tworzenia sklepów internetowych?
Tak, ale może być konieczne wdrożenie dodatkowego oprogramowania.

8. Jakie są alternatywy dla MariaDB?
MySQL, PostgreSQL oraz SQLite.

Podsumowanie

W niniejszym artykule przedstawiliśmy proces instalacji i konfiguracji środowiska LAMP na serwerze z systemem Debian 10. To rozwiązanie jest kluczowe dla tworzenia dynamicznych stron internetowych i aplikacji bazujących na technologiach PHP i MySQL. Pamiętaj o regularnych aktualizacjach oraz optymalizacji poszczególnych elementów, aby zapewnić stabilność i bezpieczeństwo Twojej infrastruktury.


newsblog.pl