tło

Instalacja Apache, MySQL i PHP (LAMP) (Debian).

Możesz skorzystać z tego poradnika jeśli posiadasz: Serwer VPS SSD VPS KVM SSD VPS OpenVZ Serwer Dedykowany
Ostatnia modyfikacja: 23 lipca 2021
Przeczytanie zajmie Ci: 3 min

Niniejszy poradnik przedstawia proces instalacji tzw. LAMP czyli kompletu usług jakimi są Serwer WWW (Apache), bazy danych (MySQL) – tu MariaDB oraz języka PHP. Dzięki czemu możemy hostować dynamiczne strony internetowe czy popularne CMS takie jak WordPress czy PrestaShop.

Dystrybucja: Debian 10

  • W pierwszej kolejności logujemy się do swojego VPS po SSH np. za pomocą puTTy, na domyślny port 22
  • Następnie po zalogowaniu na konto ’root’ wydajemy polecenie aktualizacji listy pakietów poleceniem:
apt update

Wynik:

root@adamhitme:~# apt update
Hit:1 http://ftp.debian.org/debian buster InRelease
Hit:2 http://security.debian.org buster/updates InRelease
Hit:3 http://ftp.debian.org/debian buster-updates InRelease
Reading package lists... Done

 

Instalacja Apache.

Serwer WWW Apache instalujemy poleceniem:

apt install apache2 -y

Wynik:

root@adamhitme:~# apt install apache2
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
  apache2-bin apache2-data apache2-utils
Suggested packages:
  apache2-suexec-pristine | apache2-suexec-custom
The following packages will be upgraded:
  apache2 apache2-bin apache2-data apache2-utils
4 upgraded, 0 newly installed, 0 to remove and 135 not upgraded.
Need to get 1961 kB of archives.
After this operation, 12.3 kB disk space will be freed.
Do you want to continue? [Y/n] y
Get:1 http://security.debian.org buster/updates/main amd64 apache2 amd64 2.4.38-3+deb10u5 [252 kB]
Get:2 http://security.debian.org buster/updates/main amd64 apache2-bin amd64 2.4.38-3+deb10u5 [1307 kB]
Get:3 http://security.debian.org buster/updates/main amd64 apache2-data all 2.4.38-3+deb10u5 [165 kB]
Get:4 http://security.debian.org buster/updates/main amd64 apache2-utils amd64 2.4.38-3+deb10u5 [237 kB]
Fetched 1961 kB in 1s (3009 kB/s)
(Reading database ... 28135 files and directories currently installed.)
Preparing to unpack .../apache2_2.4.38-3+deb10u5_amd64.deb ...
Unpacking apache2 (2.4.38-3+deb10u5) over (2.4.38-3) ...
Preparing to unpack .../apache2-bin_2.4.38-3+deb10u5_amd64.deb ...
Unpacking apache2-bin (2.4.38-3+deb10u5) over (2.4.38-3) ...
Preparing to unpack .../apache2-data_2.4.38-3+deb10u5_all.deb ...
Unpacking apache2-data (2.4.38-3+deb10u5) over (2.4.38-3) ...
Preparing to unpack .../apache2-utils_2.4.38-3+deb10u5_amd64.deb ...
Unpacking apache2-utils (2.4.38-3+deb10u5) over (2.4.38-3) ...
Setting up apache2-bin (2.4.38-3+deb10u5) ...
Setting up apache2-data (2.4.38-3+deb10u5) ...
Setting up apache2-utils (2.4.38-3+deb10u5) ...
Setting up apache2 (2.4.38-3+deb10u5) ...
insserv: warning: current start runlevel(s) (empty) of script `apache-htcacheclean' overrides LSB defaults (2 3 4 5).
insserv: warning: current stop runlevel(s) (0 1 2 3 4 5 6) of script `apache-htcacheclean' overrides LSB defaults (0 1 6).
Processing triggers for man-db (2.8.5-2) ...
Processing triggers for systemd (241-5) ...
root@adamhitme:~#

Apache jest zainstalowane.

Możemy sprawdzić status usługi poleceniem: systemctl status apache2

Wynik:

root@adamhitme:~# systemctl status apache2
● apache2.service - The Apache HTTP Server
   Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
   Active: active (running) since Fri 2021-07-23 07:14:44 CEST; 2min 24s ago
     Docs: https://httpd.apache.org/docs/2.4/
 Main PID: 6999 (apache2)
    Tasks: 28 (limit: 4915)
   Memory: 4.3M
   CGroup: /system.slice/apache2.service
           ├─6999 /usr/sbin/apache2 -k start
           └─7000 /usr/sbin/apache2 -k start

Jul 23 07:14:44 adamhitme.serwervps.pl systemd[1]: Starting The Apache HTTP Server...
Jul 23 07:14:44 adamhitme.serwervps.pl systemd[1]: Started The Apache HTTP Server.

Komendy sterujące usługą to:

systemctl start apache2 – Start serwera
systemctl restart apache2 – Restart serwera
systemctl stop apache2 – Zatrzymanie serwera
systemctl reload apache2 – Przeładowanie konfiguracji serwera
systemctl status apache2 – Status usługi

 

Jeśli teraz wpiszemy w przeglądarce adres IP naszego serwera http://<adres ip serwera> wyświetli nam się domyślna strona Apache:

apache

Debian. Apache – domyślna strona powitalna.

Domyślny katalog serwera WWW to /var/www i możemy tam umieścić naszą stronę.

Jeśli używamy jakiejkolwiek zapory (firewall) należy pamiętać o odblokowaniu portów TCP: 80, 443 

Instalacja MySQL (MariaDB).

W celu instalacji serwera bazy danych wydajemy komendę:

apt install mariadb-server

Do you want to continue? [Y/n] Y W celu potwierdzenia instalacji wpisujemy ’Y’ + [enter]

Po zainstalowaniu sprawdzamy usługę: systemctl status mysqld

Wynik:

root@adamhitme:~# systemctl status mysqld
● mariadb.service - MariaDB 10.3.29 database server
   Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
   Active: active (running) since Fri 2021-07-23 07:37:17 CEST; 2min 3s ago
     Docs: man:mysqld(8)
           https://mariadb.com/kb/en/library/systemd/
 Main PID: 8047 (mysqld)
   Status: "Taking your SQL requests now..."
    Tasks: 31 (limit: 4915)
   Memory: 76.3M
   CGroup: /system.slice/mariadb.service
           └─8047 /usr/sbin/mysqld

Jul 23 07:37:17 adamhitme.serwervps.pl systemd[1]: Starting MariaDB 10.3.29 database server...
Jul 23 07:37:17 adamhitme.serwervps.pl mysqld[8047]: 2021-07-23  7:37:17 0 [Note] /usr/sbin/mysqld (mysqld 10.3.29-MariaDB-0+deb10u1) starti
Jul 23 07:37:17 adamhitme.serwervps.pl systemd[1]: Started MariaDB 10.3.29 database server.

Następnie przeprowadzamy wstępną konfigurację poleceniem: mysql_secure_installation

W tym procesie nadamy hasło dla głównego użytkownika bazy danych (root).

Na pierwsze pytanie o obecne hasło root – jeśli jest to nowa instalacja serwera – wtedy hasło jest puste.

Następnie na pytanie o ustawienie hasła root – zgadzamy się ’y’ oraz wymyślamy i wklejamy nowe hasło.

Na wszystkie pytania kreatora odpowiadamy ’y’ .

Wynik:

root@adamhitme:~# mysql_secure_installation

Enter current password for root (enter for none):
OK, successfully used password, moving on...
Set root password? [Y/n] y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
 ... Success!

Remove anonymous users? [Y/n] y
 ... Success!

Disallow root login remotely? [Y/n] y
 ... Success!

Remove test database and access to it? [Y/n] y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

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!
root@adamhitme:~#

Gotowe.

Teraz możemy użyć komendy mysql -u root -p i wydawać polecenia SQL serwerowi.

Przykład:

root@adamhitme:/var/www/html# mysql -u root -p
Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 57
Server version: 10.3.29-MariaDB-0+deb10u1 Debian 10

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> quit
Bye
root@adamhitme:/var/www/html#

 

 

Instalacja PHP.

Apache domyślnie nie obsługuję języka PHP tylko strony statyczne (.html/.shtml). Aby móc zainstalować popularne CMS musimy zainstalować PHP. Wybór wersji PHP zależy od administratora. Zainstalujemy wersję domyślną 7.3.

PHP wystarczy zainstalować poleceniem:

apt install php libapache2-mod-php -y

Następnie we wspomnianym domyślnym katalogu stron Apache, tj. /var/www/html/ tworzymy plik info.php z funkcją phpinfo();

Wydajemy polecenie:

nano /var/www/html/info.php

i w edytorze wklejamy poniższy kod i zapisujemy zmiany w pliku:

<?php
phpinfo();
?>

Następnie odwiedzamy w przeglądarce http://<ip serwera>/info.php

phpinfo

Funkcja phpinfo(). Potwierdzenie wersji i działania serwera PHP.

Gotowe. Mamy zainstalowany LAMP.

Czy ten artykuł był pomocny?
0 0 z 0 uznało ten artykuł za pomocny .
Wyświetleń: 44
... ... ...
Czy kawa już zaparzona?

Polecamy nasz BLOG, gdzie publikujemy: #informacje, #poradniki, #tutoriale oraz #nowinki ze świata hostingu.

blog.hitme.pl

Masz pytania? Przeszukaj naszą Bazę Wiedzy