безкоштовно з міських телефонів України
Київ | 044 392-73-56 |
Харків | 057 728-49-18 |
Дніпро | 056 790-86-00 |
Одеса | 048 734-56-54 |
Львів | 032 229-58-50 |
Миколаїв | 051 270-12-63 |
Полтава | 053 262-53-74 |
Запоріжжя | 061 228-69-91 |
Стек LEMP (Linux, nginx, MySQL, PHP) є набором відкритих програмних продуктів для запуску веб-серверів.
Скорочення LEMP утворено за першими літерами назв продуктів, що входять в пакет - Linux, Nginx (вимовляється як Engine x), MySQL, PHP.
Перш ніж приступити до установки, необхідно підключитися до сервера по ssh .
Nginx є веб-сервером і поштовим проксі-сервером, що працює на Unix-подібних операційних системах.
Встановлюємо epel-release:
sudo yum install epel-release
Запускаємо установку Nginx:
sudo yum install nginx
Запускаємо Nginx:
sudo systemctl start nginx
Бачимо помилку:
Job for nginx.service failed because control process exited with error code. Натисніть "systemctl status nginx.service" та "journalctl -xe" for details.
Ця помилка виникає тому, що порт 80 вже прослуховується.
Щоб у цьому переконатися встановлюємо net-tools
sudo yum install net-tools
І після цього вводимо команду:
netstat-ntupl | grep 80
Якщо 80 порт зайнятий, тоді зупиняємо його:
sudo systemctl stop httpd.service
Потім виконуємо повторно запуск Nginx:
sudo systemctl start nginx
Тепер вводимо IP адресу сервера в браузері і перевіряємо, чи з'являється стартова сторінка nginx.
Сторінка не з'явилась.
Причина в iptables та для вирішення проблеми необхідно виконати в терміналі команду:
sudo iptables -I INPUT 4 -p tcp --dport 80 -j ACCEPT
Тепер відкривши IP-адресу сервера в браузері ми побачимо стартову сторінку nginx.
Включаємо Nginx для запуску при завантаженні:
sudo systemctl enable nginx
MariaDB є відгалуженням від системи управління базами даних MySQL, що розробляється спільнотою.
Встановлюємо MariaDB та допоміжні пакети:
sudo yum install mariadb-server mariadb
Запускаємо MariaDB:
sudo systemctl start mariadbЗапускаємо сценарій безпеки, що дозволяє видалити деякі небезпечні значення за умовчанням, а також обмежити доступ до системи баз даних:
sudo mysql_secure_installation
Після виконання запиту з'явиться повідомлення із запитом пароля root.
Оскільки MySQL був тільки що встановлений і пароля root немає, необхідно просто натиснути enter.
Після цього необхідно натиснути 'y', щоб задати пароль для користувача root.
Після призначення пароля та підтвердження пароля з'явиться повідомлення на зображенні 10.
Для інших питань необхідно просто натиснути клавішу enter у кожному питанні, щоб прийняти значення за замовчуванням:
Включаємо MariaDB для запуску під час завантаження:
sudo systemctl enable mariadb
sudo yum install php php-mysql php-fpmВносимо зміни до конфігурації php для більшої безпеки. У прикладі використовується текстовий редактор nano, для встановлення якого потрібно виконати команду:
yum install nanoВідкриваємо основний файл конфігурації php-fpm:
sudo nano /etc/php.iniЗмінюємо значення
;cgi.fix_pathinfo=1на значення
cgi.fix_pathinfo=0Зберігаємо зміну у файлі, натиснувши клавіші Ctrl+x , потім клавішу y і потім клавішу Enter Далі відкриваємо файл конфігурації php-fpm www.conf:
sudo nano /etc/php-fpm.d/www.confЗмінюємо значення
listen = 127.0.0.1: 9000на значення
listen = /var/run/php-fpm/php-fpm.sockУ тому ж файлі змінюємо значення
;listen.owner = nobodyна значення
;listen.group = nobody
listen.owner = nobodyУ тому ж файлі змінюємо значення
listen.group = nobody
user = apacheна значення
group = apache
user = nginxЗберігаємо зміну у файлі, натиснувши клавіші Ctrl+x , потім клавішу y і потім клавішу Enter. Запускаємо php:
group = nginx
sudo systemctl start php-fpmВключаємо php для запуску при завантаженні:
sudo systemctl enable php-fpm
sudo nano /etc/nginx/nginx.confЗмінюємо наступні рядки:
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name _;
root /usr/share/nginx/html;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
location / {
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
змінюємо на наступні рядки (замість ip адреси 93.190.42.52 необхідно вказати ip адресу власного севрера): server { listen 80; server_name 93.190.42.52; # note that these lines are originally from the "location /" block root /usr/share/nginx/html; index index.php index.html index.htm; location / { try_files $uri $uri/ =404; } error_page 404 /404.html; error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } location ~ .php$ { try_files $uri =404; fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
Зберігаємо зміну у файлі, натиснувши клавіші Ctrl+x , потім клавішу y і потім клавішу Enter.sudo systemctl restart nginx
sudo nano /usr/share/nginx/html/info.phpВказуємо у файлі наступний код: Зберігаємо зміну у файлі, натиснувши клавіші Ctrl+x , потім клавішу y і потім клавішу Enter.
Див. також: