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

Photo of author

By maciekx

Zestawienie LAMP, składające się z systemu Linux, serwera Apache, bazy danych MariaDB oraz języka PHP, jest fundamentem wielu platform internetowych. Jego niezawodność i skalowalność czynią go popularnym wyborem do hostowania stron internetowych oraz różnorodnych aplikacji. W niniejszym poradniku przeprowadzimy Cię przez proces instalacji i konfiguracji tego wszechstronnego stosu na systemie Debian 11 (Bullseye).

Proces wdrożenia serwera LAMP obejmuje kilka kluczowych etapów:

  • Aktualizacja systemu operacyjnego
  • Instalacja niezbędnych komponentów LAMP
  • Konfiguracja serwera Apache
  • Ustawienie serwera bazy danych MariaDB
  • Implementacja i konfiguracja interpretera PHP

Instalacja pakietów LAMP

Po upewnieniu się, że system jest aktualny, przechodzimy do instalacji niezbędnych pakietów. Możemy to osiągnąć za pomocą poniższego polecenia w terminalu:


sudo apt update
sudo apt install apache2 mariadb-server mariadb-client php php-common php-mysql

Ta komenda zapewni instalację serwera Apache, bazy danych MariaDB, interpretera PHP oraz wszystkich wymaganych modułów do prawidłowej pracy PHP z bazą danych.

Konfiguracja serwera Apache

Kiedy pakiety są już zainstalowane, czas na konfigurację serwera Apache. Główny plik konfiguracyjny znajduje się w /etc/apache2/apache2.conf. Możesz go modyfikować za pomocą edytora tekstu, np. vim lub nano:


sudo vim /etc/apache2/apache2.conf

W pliku konfiguracyjnym dodaj lub zmień następujące dyrektywy:


DocumentRoot /var/www/html
<Directory /var/www/html>
    Options Indexes FollowSymLinks
    AllowOverride All
</Directory>

Te ustawienia definiują główny katalog strony internetowej oraz uprawnienia dostępu do niego.

Konfiguracja MariaDB

Następnie przystąpimy do konfiguracji serwera bazy danych MariaDB. Pierwszym krokiem jest zabezpieczenie instalacji, co wykonujemy za pomocą skryptu:


sudo mysql_secure_installation

Skrypt ten poprosi Cię o ustawienie hasła administratora (roota) MariaDB oraz przeprowadzi przez dodatkowe ustawienia bezpieczeństwa.

Po zabezpieczeniu instalacji, utwórz nową bazę danych i użytkownika bazy danych dla Twojej aplikacji:


sudo mysql -u root -p
CREATE DATABASE moja_baza_danych;
CREATE USER 'moj_uzytkownik'@'localhost' IDENTIFIED BY 'haslo_uzytkownika';
GRANT ALL PRIVILEGES ON moja_baza_danych.* TO 'moj_uzytkownik'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Instalacja i konfiguracja PHP

Ostatnim krokiem jest konfiguracja interpretera PHP. Domyślny plik konfiguracyjny PHP znajduje się w /etc/php/7.4/apache2/php.ini. Możesz go modyfikować używając ulubionego edytora tekstu:


sudo vim /etc/php/7.4/apache2/php.ini

W tym pliku, odkomentuj lub zmodyfikuj poniższe dyrektywy:


memory_limit = 128M
upload_max_filesize = 20M
max_execution_time = 30

Te ustawienia kontrolują limity pamięci, rozmiar przesyłanych plików oraz czas wykonywania skryptów PHP.

Testowanie instalacji

Aby upewnić się, że wszystko działa poprawnie, otwórz przeglądarkę internetową i wpisz adres http://localhost. Powinieneś zobaczyć domyślną stronę powitalną serwera Apache.

Możesz dodatkowo przetestować połączenie z bazą danych, tworząc plik test.php w katalogu /var/www/html z następującą zawartością:


<?php
$servername = "localhost";
$username = "moj_uzytkownik";
$password = "haslo_uzytkownika";
$dbname = "moja_baza_danych";

// Utwórz połączenie
$conn = new mysqli($servername, $username, $password, $dbname);

// Sprawdź, czy połączenie się powiodło
if ($conn->connect_error) {
    die("Błąd połączenia z bazą danych: " . $conn->connect_error);
}

// Wykonaj zapytanie
$sql = "SELECT * FROM users";
$result = $conn->query($sql);

// Wyświetl wyniki
if ($result->num_rows > 0) {
    // Dane są dostępne
    while($row = $result->fetch_assoc()) {
        echo "ID: " . $row["id"] . " - Nazwa: " . $row["name"] . " - Email: " . $row["email"] . "<br>";
    }
} else {
    // Dane nie są dostępne
    echo "Brak danych w bazie danych.";
}

// Zamknij połączenie
$conn->close();
?>

Następnie przeładuj konfigurację serwera Apache:


sudo systemctl reload apache2

Otwórz ponownie przeglądarkę i przejdź do adresu http://localhost/test.php. Jeśli wszystko jest skonfigurowane poprawnie, powinieneś zobaczyć dane z bazy danych.

Podsumowanie

W tym poradniku przedstawiliśmy kompleksowe instrukcje dotyczące instalacji i konfiguracji środowiska LAMP na Debianie 11. Dzięki temu solidnemu zestawowi narzędzi, możesz z łatwością tworzyć dynamiczne i interaktywne strony internetowe oraz aplikacje. Pamiętaj o regularnym aktualizowaniu systemu i dbałości o bezpieczeństwo swojej platformy.

FAQ – Najczęściej zadawane pytania

Czy konfiguracja LAMP jest możliwa na innych dystrybucjach Linuksa?

Tak, przedstawiony proces jest adaptowalny do innych systemów, np. Ubuntu, CentOS czy Fedora.

Jak uaktualnić poszczególne elementy stosu LAMP?

Aby zaktualizować wszystkie zainstalowane pakiety, łącznie ze stosem LAMP, użyj polecenia:

sudo apt update && sudo apt upgrade

w terminalu.

Jak rozszerzyć funkcjonalność PHP o dodatkowe moduły?

W celu instalacji nowych modułów PHP, skorzystaj z komendy:

sudo apt install php-nazwa_modulu

Czy można wykorzystać Nginx zamiast Apache do obsługi PHP?

Tak, można wykorzystać Nginx. Należy wtedy zainstalować pakiet php-fpm i odpowiednio skonfigurować Nginx.

Jak zoptymalizować wydajność stosu LAMP?

Istnieje kilka metod optymalizacji wydajności: zwiększ rozmiar pamięci cache, wykorzystaj pamięć podręczną opcache PHP i zmień ustawienia puli wątków Apache.

Jak podnieść bezpieczeństwo serwera LAMP?

Aby zabezpieczyć LAMP, włącz HTTPS, skonfiguruj zaporę sieciową, regularnie aktualizuj oprogramowanie i wykonuj kopie zapasowe.

Jak skutecznie rozwiązywać problemy ze stosem LAMP?

Monitoruj logi serwera Apache i PHP, używając poleceń tail -f oraz grep do wyszukiwania błędów, i w razie problemów skontaktuj się z wsparciem technicznym Twojego hostingu.

Czy zamiast MariaDB można użyć innych serwerów baz danych?

Oczywiście, możesz wybrać MySQL, PostgreSQL lub MongoDB zamiast MariaDB.


newsblog.pl