
Опишу как с нуля завести сайт на Linux & NGINX
- Установка NGINX, СУБД MariaDB и нужные библиотеки для PHP
- Установка Composer
- Настройка виртуального хоста для Drupal. Установка Composer Drupal Project.
Очень полезно почитать: https://help.ubuntu.ru/wiki/nginx-phpfpm
-
Установка NGINX, СУБД MariaDB и нужные библиотеки для PHP
Как всегда первым делом обновляем систему до актуального состояния:
sudo apt update && sudo apt upgrade -y
-
Установка NGINX.
Сервер «Nginx» поставляется в одноименном пакете «nginx» и его установка производится командой в терминале:
sudo apt-get install nginx nginx-extras -y
Проверяем работу веб-серввера, в браузере открываем начальную страницу нашего сервера по адресу
htpp://localhost
-
Библиотеки для PHP
Установку «PHP-FPM» можно произвести, командой:
apt-get install php-cli php-common php-mysql php-gd php-fpm php-cgi php-pear php-dom
-
СУБД Mariadb
MariaDB есть в официальных репозиториях Ubuntu, и если вам нужна стабильная версия, то лучше устанавливать её именно оттуда. Для этого выполните:
sudo apt install mariadb-server mariadb-client
После того, как установка будет завершена, проверяем запущена ли база данных:
sudo systemctl status mariadb
Сразу после установки MariaDB ещё не готова к работе. Для обеспечения её безопасности необходимо выполнить команду:
sudo mysql_secure_installation
Теперь СУБД готова к работе. Создадим первую базу данных и пользователя с привилегиями Админа. Чтобы запустить клиент, выполните в терминале:
sudo mysql -u root -p
MariaDB [(none)]> create database drupal;
MariaDB [(none)]> CREATE USER 'drupal' IDENTIFIED BY 'password';
У нашего пользователя имя drupal и пароль password. Теперь дадим ему права на нашу базу данных:
Работать в командной строке MariaDB не очень удобно, поэтому, если вам надо создавать много пользователей и таблиц, то можно установить ADMINER
или PHPMyAdmin.
Мне больше понравился своей простотой установки и спользования - ADMINER. Установка сводится к скачиванию РНР скрипта с сайта разработчика https://www.adminer.org/#download
Я ставлю обычно http://localhost/adminer для этого в дефолтной папке сайта на NGINX создаем папку adminer и скопируем туда скрипт adminer (скачаный по ссылке выше) и переименуем в index.php. Так же подправим конфигурацию дефолтного сайта:
sudo nano /etc/nginx/sites-available/default
корректируем строку с файлами по умолчанию, добавляем index.php. раскоментировать секцию для обработки PHP.
2. Установка Composer
Рассмотрим как установить программу глобально для всей системы.
Подготовим зависимости для Composer:
sudo apt install curl php-cli php-mbstring git unzip
Вы можете скачивать файл установщика в любую папку, например, домашнюю:
curl -sS https://getcomposer.org/installer -o composer-setup.php
Указываем папку, куда нужно установить скрипт:
sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer
Для проверки работы, вы можете выполнить команду:
composer
______ / ____/___ ____ ___ ____ ____ ________ _____ / / / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/ / /___/ /_/ / / / / / / /_/ / /_/ (__ ) __/ / \____/\____/_/ /_/ /_/ .___/\____/____/\___/_/ /_/ Composer version 1.9.1 2019-11-01 17:20:17
Если будет указана версия, то прога установлена УРА!!!!
3. Настройка виртуального хоста для Drupal. Установка Composer Drupal Project.
-
Настройка виртуального хоста для Drupal.
В NGINX очень тонкая настройка для хостов на Drupal, образец беру с сайта разработчика NGINX https://www.nginx.com/resources/wiki/start/topics/recipes/drupal
Для начала нужно создать root папку для нашего сайта и файл конфигурации, например:
mkdir ~/projects/drup8
создаем конфигурационный файл для виртуального хоста NGINX:
sudo nano /etc/nginx/sites-available/drup8
вставляем содержимое из стандартного файла конфигурации Drupal для NGINX https://www.nginx.com/resources/wiki/start/topics/recipes/drupal/, меняем следующие параметры:
server_name drup8.loc; root /home/$USER/projects/drup8/web; ## <-- Your only path reference.
location ~* \.(txt|log)$ { allow 192.168.0.0/16; ## <-- пишем СВОЮ ПОДСЕТЬ!!!! deny all; }
# PHP 7 socket location. fastcgi_pass unix:/var/run/php/php7.2-fpm.sock; ## <--ВНИМАТЕЛЬНО ПИШЕМ ПУТЬ И НАЗВАНИЕ ФЙЛА !!
добавляем строку по рецепту с сайта https://groups.drupal.org/node/510563 для того чтоб не было ошибки при установки модулей
rewrite ^/core/authorize.php/core/authorize.php(.*)$ /core/authorize.php$1;
Сохраняем файл и активируем наш сайт. Чтоб активировать наш виртуальный хост, нам нужно создать символическую ссылку между директорией sites-available, где лежит наш файл конфигурации, и sites-enabled.
sudo ln -s /etc/nginx/sites-available/drup8 /etc/nginx/sites-enabled/drup8
Для проверки работоспособности нашего хоста, создадим простой скрипт на РНР. Создайте файл index.php в root папке сайтаи внесите туда 2 строки:
<?php
echo phpinfo();
в файле /etc/hosts добавьте строку:
127.0.0.1 drup8.loc
в браузере перейти по ссылке должен открытся сайт с информацией об установленном РНР и его модулях
-
Установка Composer Drupal Project.
- В корне проекта
composer create-project drupal-composer/drupal-project:8.x-dev some-dir --stability dev --no-interaction
- Удаляем временную папку
cp -r some-dir/. ./ && rm -rf some-dir/
- Смена владельца и прав на папку сайта
sudo chown -R www-data:www-data /home/$USER/projects/drup8/
sudo chmod -R 755 /home/$USER/projects/drup8/
Комментарии
перезапуск РНР после правки…
перезапуск РНР после правки конфига: sudo service php7.2-fpm restart
настройка VDS
интересная статья по начальной настройке VDS, много полезного https://github.com/pepelsbey/playground/tree/master/23
Добавить комментарий