LEMP (Linux, Nginx, MySQL, PHP) jest modyfikacją bardzo popularnego LAMP, czyli Linux, Apache, MySQL, PHP. Używany jest do tworzenia aplikacji internetowych. LEMP od LAMP różni się serwerem WWW – wystarczy wymienić Apache na lekki i wydajny nginx.


W tym poradniku zainstalujemy i skonfigurujemy LEMP stack na Debianie 8.

Łączymy się przez SSH (używając terminala w linuxie, bądź programu putty w windowsie) z serwerem.

Zacznijmy od zalogowania się na konto root (możemy również korzystać z konta, które może używać sudo, wtedy przed każdym poleceniem dodajemy sudo)

 su

Wykonujemy niezbędne aktualizacje

apt-get update && apt-get upgrade

 

nginx

Instalujemy:

apt-get install nginx

Po instalacji otwieramy przeglądarkę i wchodzimy na adres naszego serwera (używając adresu domeny, bądź IP). Powinna nam się ukazać strona powitalna:

debian

Przejdźmy do podstawowej konfiguracji, otwórz plik nginx.conf w dowolnym edytorze i w linijce worker_processes zmień wartość na liczbę CPU. Aby to sprawdzić w terminalu wpisz

lscpu

Bez tytułu

nano /etc/nginx/nginx.conf

W moim przypadku jest to 2, więc taką wartość wpisuje.

worker_processes 2;

Zmieńmy również wartość worker_connections, która domyślnie ustawiona jest na 768. Mówi ona ile osób jednocześnie może być obsłużonych. Należy pamiętać, że przeglądarki otwierają bardzo często więcej niż jedno połączenie. Dlatego zwiększmy wartość na maksymalną dostępną. Aby sprawdzić, jaką liczbę możemy ustawić w terminalu wpisz:

ulimit -n

W moim przypadku jest to 65536, więc taką wartość ustawiam.

worker_connections 65536;

Wychodzimy poprzez wciśnięcie CTRL + X, następnie Y i ENTER.

Sprawdzamy czy wszystko działa.

nginx -t

Jeśli tak możemy przeładować konfigurację.

service nginx reload

Aby włączyć lub wyłączyć usługę wystarczy zamiast reload wpisać start bądź stop.

 

MySQL

Po instalacji serwera WWW pora na system zarządzania bazą danych.

apt-get install mysql-server

Zostaniesz poproszony o ustawienie hasła konta root.

Warto zmienić kilka niezbyt bezpiecznych ustawień domyślnych.

mysql_secure_installation

Zostaniemy poproszeni o wpisanie hasła, które wcześniej ustaliliśmy. Jeśli chcemy zmienić to hasło, możemy to zrobić. Pozostałe opcje zostawiamy domyślne.

Logujemy się.

mysql -u root -p

Tworzymy bazę danych

CREATE DATABASE shintest;

Teraz stwórzmy oddzielne konto użytkownika i nadajmy mu odpowiednie uprawnienia:

GRANT ALL ON shintest.* TO 'testuser'@'localhost' IDENTIFIED BY 'sUp#rs1ln#h@sL0';

Ostatnie polecenie

FLUSH PRIVILEGES;

Wychodzimy

exit;

PHP

Została nam instalacja PHP.

apt-get install php5 php5-fpm php5-mysql php5-curl php5-gd php5-mcrypt php5-xmlrpc

Otwórz php.ini

nano /etc/php5/fpm/php.ini

Znajdź cgi.fix_pathinfo=1, usuń ; na początku linijki i zmień wartość z 1 na 0. Ostatecznie powinno to wyglądać tak:

cgi.fix_pathinfo=0

Resetujemy usługę

service php5-fpm restart

WordPress

Skasujmy domyślne server-blocks

rm /etc/nginx/sites-enabled/default /etc/nginx/sites-available/default

Stwórzmy nowy plik w folderze sites-enabled:

nano shintest

Wklejamy następującą konfigurację zmieniając odpowiednie wartości na swoje

server {
 listen 80;
 server_name naszadomena.pl;
 root /var/www/shintest/public;
 index index.php;
 access_log /var/www/shintest/logs/access.log;
 error_log /var/www/shintest/logs/error.log;


 location = /favicon.ico {
 log_not_found off;
 access_log off;
 }

location = /robots.txt {
 allow all;
 log_not_found off;
 access_log off;
 }

location / {
 try_files $uri $uri/ /index.php?$args;
 }

location ~ \.php$ {
 include fastcgi.conf;
 include fastcgi_params;
 fastcgi_pass unix:/var/run/php5-fpm.sock;
 fastcgi_intercept_errors on;
 fastcgi_index index.php;
 }
}

Jeśli chcemy, aby adres domeny był zarówno z www jak i bez www w linijce server name wpisujemy obie wartości

server_name naszadomena.pl www.naszadomena.pl;

Sprawdzamy konfigurację

nginx -t

Jeśli wszystko jest w porządku restartujemy nginx

service nginx restart

Pobieramy wordpressa

wget https://pl.wordpress.org/wordpress-4.5.3-pl_PL.zip

Wypakowujemy archiwum (może być konieczna instalacja programu unzip, jeśli go nie posiadasz)

apt-get install unzip
unzip wordpress-4.5.3-pl_PL.zip

Przenosimy pliki do folderu, który ustawiliśmy jako główny w konfiguracji nginx

cp -R wordpress/* /var/www/shintest/public/

Wchodzimy do katalogu, do którego skopiowaliśmy pliki wordpressa. Warto teraz przygotować plik konfiguracyjny.

mv wp-config-sample.php wp-config.php

nano wp-config.php

Wpisujemy teraz dane, które ustawiliśmy wcześniej konfigurując MySQL

define('DB_NAME', 'shintest');
define('DB_USER', testuser');
define('DB_PASSWORD', 'sUp#rs1ln#h@sL0');

Ustawiamy również klucze uwierzytelniające i sole. Wchodzimy na ten link i kopiujemy całość, a następnie wklejamy do pliku zastępując domyślne wartości. Zapisujemy i wychodzimy.

Zmieniamy właściciela plików na www-data

chown -R www-data:www-data /var/www/shintest/

Wchodzimy teraz na adres naszej domeny, bądź IP i powinniśmy zobaczyć końcowy instalator

wp

Wszystko gotowe.

Proste, prawda?

ZOSTAW ODPOWIEDŹ

Please enter your comment!
Please enter your name here