Введите имя домена:
.ua .com.ua .in.ua .org.ua
.ru .com .net .org
Показать все домены

Установка стека LEMP

Ответы на вопросы от компании «Украинский хостинг».

Установка стека LEMP в Ubuntu

Стек LEMP (Linux, nginx, MySQL, PHP) — является набором открытых программных продуктов для запуска веб-серверов.
Сокращение LEMP образовано по первых буквам названий входящих в пакет продуктов - Linux, Nginx (произносится как Engine x), MySQL, PHP.

Прежде чем приступить к установке необходимо подключиться к серверу по ssh.

Установка стека LEMP в Ubuntu состоит из нескольких шагов:

  1. Установка Nginx

    Nginx является веб-сервером и почтовым прокси-сервером, работающим на Unix-подобных операционных системах.

    Процесс установки Nginx выглядит таким образом:

    Устанавливаем epel-release:

    sudo yum install epel-release

    Запускаем установку Nginx:

    sudo yum install nginx

    Запускаем Nginx:

    sudo systemctl start nginx

    Видим ошибку:

    Job for nginx.service failed because the control process exited with error code. See "systemctl status nginx.service" and "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
  2. Установка MySQL (MariaDB)

    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
  3. Установка PHP
    PHP является распространенным языком программирования общего назначения с открытым исходным кодом.
    Устанавливаем php, а так же пакеты php-mysql и php-fpm:
    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
    group = nginx
    Сохраняем изменение в файле, нажав сочетание клавиш Ctrl+x , затем клавишу y и затем клавишу Enter.
    Запускаем php:
    sudo systemctl start php-fpm
    Включаем php для запуска при загрузке:
    sudo systemctl enable php-fpm
  4. Настройка Nginx для обработки страниц PHP
    Открываем файл /etc/nginx/nginx.conf:
    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.
    Перезагружаем Nginx, чтобы внести необходимые изменения:
    sudo systemctl restart nginx
  5. Тестирование PHP
    Создаем новый файл:
    sudo nano /usr/share/nginx/html/info.php
    Указываем в файле следующий код:
    Сохраняем изменение в файле, нажав сочетание клавиш Ctrl+x , затем клавишу y и затем клавишу Enter.
    Открываем в браузере адрес http://93.190.42.52/info.php (вместо 93.190.42.52 необходимо указать адрес своего сервера) и видим информацию о php.

См.также:

Помощь
Тикеты