Wyszukiwanie w witrynie

Jak zainstalować stos LEMP na Debianie 8 Jessie (Nginx, MariaDB, PHP7)


LEMP oznacza Linux, Nginx (wymawiane Egnine X), MySQL/MariaDB i PHP. Umożliwia serwerowi hostowanie dynamicznych witryn internetowych i aplikacji internetowych. W tym samouczku pokażę, jak zainstalować stos LEMP na Debianie 8 Jessie. Wybieram instalację MariaDB jako serwera bazy danych zamiast MySQL i instaluję PHP7.

Krok 1 Zainstaluj Nginx

Nginx to lekki i szybki serwer WWW w porównaniu do Apache, który obecnie staje się coraz bardziej popularny. Może być również używany jako odwrotne proxy. Aby zainstalować Nginx na Debianie 8, wprowadź następujące polecenie w terminalu:

$ sudo apt-get install nginx -y

Po zainstalowaniu Nginx powinien działać.

$ sudo service nginx status
[ ok ] nginx is running.

Sprawdź wersję Nginx

$ nginx -v
nginx version: nginx/1.6.2

Wpisz adres IP swojego serwera w przeglądarce internetowej. Jeśli zobaczysz następujący tekst, oznacza to, że Nginx został poprawnie zainstalowany.

Możesz sprawdzić swój publiczny adres IP za pomocą następującego polecenia

$ curl http://icanhazip.com

Możesz także użyć curl na swoim serwerze, aby pobrać nagłówek HTTP

user@www:~$ curl -I localhost
HTTP/1.1 200 OK
Server: nginx/1.6.2
Date: Mon, 25 Jan 2016 16:33:28 GMT
Content-Type: text/html
Content-Length: 867
Last-Modified: Mon, 25 Jan 2016 16:20:36 GMT
Connection: keep-alive
ETag: "56a64b54-363"
Accept-Ranges: bytes

Jak widać, Nginx zwraca kod odpowiedzi 200 wskazujący, że Nginx działa poprawnie.

Zainstaluj MariaDB

MariaDB to zastępcza wersja MySQL. Zainstaluj go za pomocą następującego polecenia:

sudo apt-get install -y mariadb-server mariadb-client

Podczas procesu instalacji poprosi Cię o ustawienie hasła dla użytkownika root Mariadb. Wpisz dobre hasło i naciśnij Enter. Użytkownika root MariaDB nie należy mylić z użytkownikiem root systemu Debian.

Powtórz hasło i naciśnij Enter.

Sprawdź wersję MariaDB

$ mysql --version
mysql Ver 15.1 Distrib 10.0.22-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2

Teraz uruchom skrypt bezpieczeństwa

$ sudo mysql_secure_installation

Wprowadź hasło roota MariaDB. Gdy pojawi się pytanie, czy chcesz zmienić hasło roota, naciśnij klawisz n. Następnie możesz po prostu nacisnąć Enter, aby odpowiedzieć na wszystkie pozostałe pytania.

Instalacja MariaDB została ukończona.

Zainstaluj PHP7

Umieść poniższy tekst w pliku /etc/apt/sources.list, aby dodać repozytorium dotdeb.org.

deb http://packages.dotdeb.org jessie all
deb-src http://packages.dotdeb.org jessie all

Pobierz i zainstaluj klucz GnuPG

$ wget https://www.dotdeb.org/dotdeb.gpg

$ sudo apt-key add dotdeb.gpg

Zaktualizuj indeks pakietu lokalnego i zainstaluj PHP7.

$ sudo apt-get update

$ sudo apt-get install php7.0-fpm php7.0-mysql php7.0-common php7.0-gd php7.0-json php7.0-cli php7.0-curl php7.0-xml php7.0-zip php7.0-mbstring

Skonfiguruj PHP7

Edytuj główny plik konfiguracyjny php-fpm:

sudo vi /etc/php/7.0/fpm/php.ini

Znajdź następującą linię:

;cgi.fix_pathinfo=1

usuń poprzedzający średnik i ustaw jego wartość na 0

cgi.fix_pathinfo=0

Zapisz i zamknij plik. Uruchom ponownie php-fpm

sudo service php7.0-fpm restart

Skonfiguruj wirtualny host Nginx

Utwórz nowy plik hosta wirtualnego w katalogu /etc/nginx/sites-available:

sudo vi /etc/nginx/sites-available/yourdomain.conf

Dodaj do niego następujące linie.

server {
  listen 80;
  server_name yourdoman.com www.yourdomain.com;
  root /var/www/html;
  index index.php index.html index.htm index.nginx-debian.html;

  location / {
     try_files $uri $uri/ =404;
  }

  error_page 404 /404.html;
  error_page 500 502 503 504 /50x.html;

  location = /50x.html {
     root /var/www/html;
  }

  location ~ \.php$ {
    try_files $uri =404;
    fastcgi_pass unix:/run/php/php7.0-fpm.sock;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
  }
}

Zamień yourdoman.com na rzeczywistą nazwę domeny. Zapisz i zamknij plik. Utwórz miękkie łącze:

sudo ln -s /etc/nginx/sites-available/yourdomain.conf /etc/nginx/sites-enabled/yourdomain.conf

Następnie przetestuj konfigurację Nginx

user@www:$  sudo nginx -t
 nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
 nginx: configuration file /etc/nginx/nginx.conf test is successful

Załaduj ponownie konfigurację Nginx

$ sudo service nginx reload

Daj pełne uprawnienia /var/www/html użytkownikowi www-data.

sudo chown www-data:www-data /var/www/* -R

Przetestuj PHP

Utwórz plik info.php w katalogu głównym witryny:

$ sudo vi /var/www/html/info.php

Umieść następujący tekst w pliku info.php.

<?php
   phpinfo();
?>

Zapisz i zamknij plik. Teraz w pasku adresu przeglądarki wpisz następujący tekst:

yourdomain.com/info.php

Zamień yourdomain.com na rzeczywistą nazwę domeny.

Jeśli widzisz coś takiego, oznacza to, że Twój PHP działa poprawnie.

Upewnij się, że ustawiłeś poprawny rekord A dla swojej nazwy domeny.

Plik info.php służy wyłącznie do testowania. Ze względów bezpieczeństwa możesz go teraz usunąć. Teraz pomyślnie zainstalowałeś stos LEMP (Nginx, Mariadb, PHP7-FPM) na Debianie 8 Jessie.

Dzięki!

Powiązane artykuły