Поиск по сайту:
В программировании инварианты эфемерны. (Алан.Дж.Перлис)

Как установить стек LEMP (Linux, Nginx, MySQL, PHP) на OpenSUSE

09.11.2016
Как установить стек LEMP (Linux, Nginx, MySQL, PHP) на OpenSUSE

В сегодняшней простой статье мы рассмотрим шаги, необходимые для установки и настройки базового стека LEMP на OpenSUSE VPS. Стек LEMP является синонимом сервера LEMP или веб – сервера LEMP. Он включает Linux, Nginx, MySQL (MariaDB) и PHP.

ПОДГОТОВКА

Войдите на сервер с помощью SSH:

ssh root@server_ip

 

Перед тем как начать, введите следующую команду, чтобы проверить есть ли у вас правильная версия ОС установленная на вашем компьютере:

cat /etc/issue

 

Вывод команды. Конечно, если вы используете другую версию OpenSUSE выход будет показывать эту версию:

Welcome to openSUSE 13.1 "Bottle" - Kernel \r (\l)

 

А теперь без лишних слов, мы можем начать путем удаления предварительно установленного Apache веб-сервера, так как мы заменим его Nginx.

Для этого, во-первых, мы остановить службу, отключим его от автозагрузке, а затем удалить его. Для этого введите следующие команды в интерфейсе командной строки:

systemctl stop apache2.service
systemctl disable apache2.service
zypper rm apache2

 

Обновите систему

Теперь, когда веб-сервер Apache был удален, мы можем обновить систему:

zypper up

 

Когда обновления закончены, можно приступать к настройке стека LEMP путем установки MySQL. На нашем большом опыте в работе с операционной системой, которой является OpenSUSE мы наткнулись на ошибки и не удалось запустить MySQL из-за отсутствия зависимостей PERL. В некоторых случаях мы получали следующее сообщение об ошибке:

FATAL ERROR: please install the following Perl modules before executing /usr/bin/mysql_install_db:
Sys::Hostname
Creation of MySQL databse in /var/lib/mysql failed
mysql.service: control process exited, code=exited status=1

 

Читать  Как использовать функцию mysqli_real_escape_string в MySQL

Чтобы избежать этой ошибки, просто установите зависимость PERL Sys::Hostnameс помощью следующей команды:

zypper install perl-Sys-Hostname-Long

 

С этим заботились, теперь вы можете продолжить установку MySQL. Выполнить:

zypper install -y mysql-community-server mysql-community-server-client

 

Включите MySQL для запуска при загрузке системы, а затем запустить службу:

systemctl enable mysql.service
systemctl start mysql.service

 

Выполните первоначальную настройку MySQL. Следуйте указаниям на экране следующим образом:

mysql_secure_installation steps:

- Enter current password for root (enter for none):
 - Set root password? [Y/n] Y
 - Remove anonymous users? [Y/n] Y
 - Disallow root login remotely? [Y/n] Y
 - Remove test database and access to it? [Y/n] Y
 - Reload privilege tables now? [Y/n] Y

 

Далее, давайте установим Nginx:

zypper install -y nginx

 

Включите Nginx для запуска при загрузке:

systemctl enable nginx.service

 

В случае ошибки ‘/sbin/insserv failed, exit code 1’, введите следующую команду:

insserv syslog

 

и повторите:

systemctl enable nginx.service

 

Затем запустите Nginx:

systemctl start nginx.service

 

Теперь переходим к http://<yourdomain.ru> или http://<your_ip_address> из вашего браузера. Вы должны увидеть содержимое файла index.html, который хранится в корневом каталоге документов для Nginx (/srv/www/htdocs/).

Теперь мы будем редактировать файл конфигурации Nginx. Убедитесь, что он напоминает ту, которую мы публикуем, за исключением если вы уверены, что вы хотите, чтобы он был скорректирован в соответствии с вашими потребностями. Заметим, что это только первоначальная конфигурация и он может изменяться в зависимости от веб-сайта / приложения.

vim /etc/nginx/nginx.conf

 

worker_processes  2;

    sendfile        on;

    keepalive_timeout  65;

    gzip  on;

    include conf.d/*.conf;

    server {
        listen       80;
        server_name  _;

        #charset koi8-r;

        location / {
            root   /srv/www/htdocs/;
            index index.php index.html index.htm;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /srv/www/htdocs/;
        }

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        location ~ \.php$ {
            root           /srv/www/htdocs/;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }

        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        location ~ /\.ht {
            deny  all;
        }
    }

 

Читать  Что такое схема в MySQL

Сохраните и закройте файл. Проверьте конфигурацию Nginx:

nginx -t

 

Если все в порядке, подключите сервис Nginx , перезагружая его с помощью следующей команды:

systemctl reload nginx.service

 

Ваш следующий шаг заключается в установке PHP-FPM. Вы можете сделать это с помощью приведенных ниже команд:

zypper install -y php5-pear php5-gd php5-mbstring php5-mcrypt php5-sockets php5-xmlrpc php5-zlib php5-curl php5-bz2 php5-ftp php5-sysvsem php5-fpm php5-mysql

 

Запустите конфигурацию PHP-FPM путем копирования файла конфигурации:

cp -v /etc/php5/fpm/php-fpm.conf.default /etc/php5/fpm/php-fpm.conf

 

Теперь отредактируйте PHP-fpm.conf и измените значения пользователя и группы из nobody в Nginx . Также включите ведение журнала ошибок. Откройте конфигурационный файл в текстовом редакторе, например vim:

vim /etc/php5/fpm/php-fpm.conf

 

Раскомментируйте и отредактируйте следующую строку, чтобы установить правильный путь к файлу журнала:

error_log = /var/log/php-fpm.log

 

После того, как вы измените значения пользователя и группы, соответствующие строки должны выглядеть следующим образом:

; Unix  user/group of processes
; Note: The user is mandatory. If the group is not set, the default user's group
;       will be used.
user = nginx
group = nginx

 

У OpenSUSE 13.1 нет php.ini файла для PHP-FPM. Давайте изменим это. Скопируйте файл php.ini из /etc/php5/cli/ в /etc/php5/fpm/, как показано ниже:

cp /etc/php5/cli/php.ini /etc/php5/fpm/

 

Теперь отредактируйте файл php.ini:

vim /etc/php5/fpm/php.ini

 

Измените значение параметра cgi.fix_pathinfo на 0. По умолчанию он будет закомментирован и установлено значение на 1, это практически гарантирует, что PHP попытается выполнить ближайший доступный файл, если запрошенный файл PHP не может быть найден. Сохраните и закройте файл после редактирования.

Читать  Как переименовать столбец в MySQL?

Включите службу на запуск при загрузке, а затем запустить его:

systemctl enable php-fpm.service

systemctl start php-fpm.service

 

Затем создайте файл тест PHP:

vim /srv/www/htdocs/index.php

 

 

<?php
 phpinfo();
 ?>

 

Откройте http://<yourdomain.ru> или http://<your_ip_address> в вашем веб-браузере. Если вы внимательно следили, вы должны увидеть стартовую страницу phpinfo.

Вот и все. Мы успешно создали стек LEMP на нашем OpenSUSE VPS.

Как установить стек LEMP (Linux, Nginx, MySQL, PHP) на OpenSUSE

PS . Если вам понравился этот пост, пожалуйста поделитесь им с друзьями в социальных сетях помощью кнопок на левой стороне поста или просто оставьте комментарий ниже. Заранее благодарю.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...
Поделиться в соц. сетях:


0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

**ссылки nofollow

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

Это может быть вам интересно


Рекомендуемое
[gn_button url="https://andreyex.ru/operacionnaya-sistema-opensuse/ustanovka-minimalnoj-servernoj-versii-opensuse-13-2-chast-1/" style="soft" center="yes" icon="icon: arrow-right"]Начало установки На этой странице…

Спасибо!

Теперь редакторы в курсе.