Стартовые задачи на голом VSD

Инструментарий

  1. Pytty + настроенное подключение с правами ROOT
  2. Хостинг + учетная запись
  3. WinCSP + настроенное подключение
  4. Notepad++

Подготовка пользователя

В Ubuntu крайне не рекомендуется работать под учетной записью ROOT, поэтому сначала создадим своего пользователя с правами sudo

  1. Посмотреть список всех пользователей: nano /etc/passwd
  2. Создать нового пользователя с консолью sudo useradd -s /bin/bash username
  3. Задать пароль пользователю sudo passwd username
  4. Сделать пользователя sudo usermod -aG sudo username
  5. Зайти под пользователем username.
  6. Создать домашний каталог: sudo mkdir /home/username
  7. Переподключиться с пользователем rush
  8. Пользователя добавляем в группу www-data sudo usermod -a -G www-data username

Установка ПО и обновление системы

  1. Получить информацию о свежих версиях пакетов: sudo apt-get update
  2. Установка MC: sudo apt-get install mc
  3. Установка tasksel: sudo apt-get install tasksel
  4. Установка git: sudo apt-get install git

Установка LAMP

  1. Запуск установки sudo tasksel install lamp-server
  2. Генерируем пароль mysql через http://www.onlinepasswordgenerator.ru/ – 10 знаков со спец-символами
  3. Заполняем пароль на доске “Информация о проектах”
  4. Задаем root-пароль mysql в графическом интерфейсе консоли
  5. Установка завершится
  6. Запуск Apache sudo /etc/init.d/apache2 restart

Настройка Apache

  1. Проверка доступности по ip – в браузере в качестве адреса IP сервера. Если все ок – покажет страницу Apache
  2. Создаем копию файла конфигурации Apache
    sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/yoursite.conf
  3. Подключаемся к серверу через root учетку по WinCSP
  4. Создаем папку сайта через WinCSP или консоль
  5. Создаем в папке сайта тестовый index.html
  6. Правим файл /etc/apache2/sites-available/yoursite.conf
    <VirtualHost *:80>
    ServerAdmin name@mail.com
    DocumentRoot /var/www/yoursite
    ErrorLog /var/www/yoursite_error.log
    CustomLog /var/www/yoursite_access.log combined
    </VirtualHost>
  7. Деактивация старого сайта sudo a2dissite 000-default
  8. Активация нового сайта sudo a2ensite yoursite
  9. Рестарт Apache sudo service apache2 restart
  10. Если все ОК – то при переходе на ip – отобразится наша тестовая страница.
  11. /etc/apache2/apache2.conf
    <Directory /var/www/>
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
    </Directory>

Настройка модулей Apache

  1. sudo apt-get install php-mbstring
  2. sudo phpenmod mbstring
  3. sudo phpenmod mcrypt
  4. sudo a2enmod rewrite
  5. sudo a2enmod ssl
  6. sudo service apache2 restart

Установка phpmyadmin

  1. sudo apt-get install phpmyadmin php-mbstring php-gettext
  2. sudo service apache2 restart

Настройка Mysql

  1. В файле /etc/mysql/conf.d
    [mysqld]
    sql_mode=ONLY_FULL_GROUP_BY,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVI
    SION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
  2. sudo service mysql restart

Настройка прав доступа

  1. Нам нужно установить владельца/группу для корневого каталога (и любых внутренних директорий и файлов): sudo chown -R www-data:www-data /var/www
  2. Чтобы никто кроме текущего пользователя (www-data) не имел доступа к содержимому директории web-root. sudo chmod go-rwx /var/www
  3. Далее нужно разрешить пользователям из той же группы (и ‘other’) открывать директорию /var/www sudo chmod go+x /var/www
  4. Далее изменяем права доступа всех директорий и файлов в корневом каталоге для той же группы (www-data): sudo chgrp -R www-data /var/www
  5. C помощью команд chmod сделайте так, чтобы только один пользователь мог осуществлять доступ к контенту: sudo chmod -R go-rwx /var/www
  6. Сделайте так, чтобы любой пользователь из той же группы мог читать/записывать и выполнять директории и файлы в корневом каталоге на сервере: sudo chmod -R g+rx /var/www
  7. Лично я дал группе право записывать – это нужно для тех пользователей, которые редактируют контент. Выглядит это следующим образом: sudo chmod -R g+rwx /var/www

Настройка php

/etc/php/7.0/apache2/php.ini после изменения – рестарт апача и проверка через phpinfo.php

  1. short_open_tag = On
  2. mbstring.internal_encoding = UTF-8
  3. mbstring.func_overload = 2

Перенос сайта на Bitrix. Подготовка к развертыванию резервной копии.

Часто сервер носит имя домена, который на нем будет крутиться. Это порождает такую проблему: ping с VDS сервера на домен идет на 127.0.0.1, а для развертывания копии надо по имени домена стучаться на “хостинговый” IP адрес.

Для правки в файле /etc/hosts VDS сервера прописываем строчку вида
87.236.16.31 yoursite.ru

И комментим строчку вида
127.0.1.1 yoursite.ru yoursite

чтобы она выглядела так:
# 127.0.1.1 yoursite.ru yoursite

сохраняем и запускаем проверку
ping yoursite.ru

После разворачивания резервной копии возвращаем все как было! Иначе при изменении правок – будут вноситься правки на “старый” боевой сайт.

Подготовка резервной копии на боевом

  1. Проверить свободное место на боевом через хостинг, если места мало – временно увеличиваем дисковую квоту
  2. Создаем полную резервную копию Bitrix на боевом
  3. Оттуда же качаем файл restore.php
  4. Размещаем его в корне папки сайта
  5. Запускаем по IP http://yourip/restore.php
  6. Действуем по запросам системы.
  7. Ждем развертывания.

Подготовка перенесенного сайта

  1. Заходим по IP в VDS в админку Bitrix
  2. Смотрим http://yourip/bitrix/admin/site_checker.php?lang=ru
  3. Если все ОК – идем дальше.