Сервер

Краткая документация конфигурирования сервера. С ссылками на более подробные материалы с этого сайта.

Создаем пользователя.

Создаем пользователя командой adduser

Настройка ssh (необязательно).

Облегчаем доступ по ssh. Добавляем публичный ключ в .ssh(если нету --создать), для доступа без введения пароля. Ссылка.

Обновление php с 5 до 7 версии.

На сервере используется debian 8, соответственно php7.0 из репозиториев по умолчанию не доступен. Возможно, процедура обновления верссии php также необязательна. Ссылка.

 

Установка дополнительных пакетов.

apache2

php7.0 php-pear

Sqlite php7.0-sqlite                                                 -- вместо mysql

unzip git curl                                                              -- для composer

php7.0-gd php7.0-xml php7.0-mbstring              -- для drupal

 

Ставим Composer.

Ссылка

 

Ставим Drupal.

Установить можно любой из двух команд :

Такой -

composer create-project drupal-composer/drupal-project:8.x-dev my_site_name-dir --stability dev --no-interaction
#корень сайта будет находиться тут - my_site_name-dir/web

Или такой -

composer create-project drupal/drupal my_site_name 8.1.*@dev --no-dev
# При такой установке корень сайта остается в папке my_site_name
# В этом случае также необходимо добавить репозиторий:
composer config repositories.drupal composer https://packages.drupal.org/8

Подробнее тут.

 

Настройка Apache.

Простая настройка виртуальных хостов:

В папке /etc/apache2/site-available :

cp 000-default.conf domain1.ru.conf

 

Настройка domain1.ru.conf :

VirtualHost *:80>

ServerAdmin webmaster@localhost
        DocumentRoot /var/www/sites/damain1
        ServerName konspirology.ru
        ServerAlias www.konspirology.ru

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

Включение сайта:

a2ensite domain1.ru.conf

 

Включить модуль userdir (Необязательно).

Данный модуль включается, если вы размещаете сайт в каком-либо из подкаталогов пользователя(/home/$user/any-directory).

a2enmod userdir

Подробнее по настройке виртуального хоста и модуля userdir.

 

Включить чистые ссылки.

Включаем модуль rewrite ( a2enmod rewrite).
Разрешаем чистые ссылки, заменив AllowOverride None -- > AllowOverride All

Эту замену нужно провести , либо в файле виртуального хоста, либо в файле конфигурации модуля userdir(при создании корня сайта в директории папке пользователя), либо(самое распространенное) в файле apache.conf(/etc/apache2/). В соотствующей вашему корню сайта директиве. В моем случае , например, это /var/www. То есть ваш корень сайта должен находиться в любом подкаталоге каталога, в котором разрешены чистые ссылки.

 

Настройка Ssl.(если используете протокол https).

Статья про получение бесплатного сертификата letsencrypt.

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

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

В других случаях примерный способ ручной настойки ssl :

a2enmod ssl

a2ensite default-ssl  #конфигурационный файл вашего сайта

 

Мой пример конфигурации директории с сайтами друпал.

Корневая папка с сайтами - /var/www/sites

Сайты(корни сайтов)  --  /var/www/domain1 /var/www/domain2

Порядок действий слеюдующий:

  1. Создал папку sudo mkdir /var/www/sites (создать папку там можно только с правами суперпользователя).
  2. Назначить владельцем пользователя, а группу изменить на www-data.
    chown $user:www-data /sites
  3. Создал проект( из папки sites). Смотри выше.
    composer create-project ..... --dir domain1
  4. Для достпупа сервера к файлам друпал
    chown -R $user:www-data /domain1