Азбука/sandbox

Материал из Etersoft wiki
Перейти к навигацииПерейти к поиску

Sandbox

Sandbox — это песочница для веб-разработчиков.

Рекомендуется внести alias sandbox в ~/.ssh/config:

Host    sandbox
        Hostname sandbox.azbyka.ru

Доступ: $ ssh sandbox

Удалённое подключение по NX

К sandbox можно подключаться через NX, установлена графическая среда XFCE. Для подключения скачайте nxclient или opennx (для Windows здесь, для Linux [download.etersoft.ru/pub/Etersoft/RX@Etersoft/stable здесь]), укажите машину для подключения sandbox.azbyka.ru и введите свой логин/пароль.

Характеристики

  • У каждого пользователя персональный каталог для сайтов вида USER.sandbox.azbyka.ru -> /home/USER/pvt (доступ по логину/паролю)
  • У каждого пользователя персональный каталог для сайтов вида USER.pubsandbox.azbyka.ru -> /home/USER/pub (доступ для всех)
  • Есть возможность использования обращения вида SITE.USER.sandbox.azbyka.ru для /home/USER/pvt/SITE (полезно для сайтов, которые хотят быть в корне), то же и для pub
  • Apache запускается для каждого под своим пользователем (используется ITK).

Закрывать pub от доступа по персональному паролю можно через .htpasswd (см. Google на предмет htpasswd).

При необходимости запускать свои серверы, их можно запускать на портах 17000-17999 и обращаться через http://sandbox.azbyka.ru:17xxx. Запускать сервер надо так, чтобы он слушал не только localhost.

MySQL

  • phpMyAdmin поднят на http://sandbox.azbyka.ru/phpMyAdmin
  • Базы должны называться USER_база, чтобы отличать базы разных пользователей
  • Хост при обращении к базе данных — localhost
  • Логин и пароль для баз нужно делать одинаковые с названием базы


Использование

Удалённый каталог с сервера можно смонтировать с помощью sshfs и работать с ним локально. Предварительно в ~/.ssh/config нужно внести запись о доступе к sandbox:

Host sandbox
   Hostname sandbox.azbyka.ru

Потом создать каталог:

$ mkdir ~/mnt/sandbox

И выполнить для монтирования

$ sshfs sandbox: ~/mnt/sandbox

Если после ввода пароля выводится следующее сообщение:

fuse: failed to open /dev/fuse: Permission denied

то вы находитесь не на машине server / builder, или администратор забыл вас внести в группу eterworkers. Обратитесь по Jabber к lav@im.etersoft.ru

Безопасность

Текущие настройки могут позволять доступ пользователя к файлам соседа. Нужно проверить и запретить это для файлов в pvt как минимум.


Использование через git

  • Вытаскиваем проект к себе в ~/pub/PROJECT (или в ~/pvt/PROJECT, если не хотим публичной доступности)
  • Настраиваем на локальную базу
  • Вносим изменения. Смотрим через http://project.USER.sandbox.azbyka.ru
  • Публикуем у себя в git /people/USER/public/project.git
  • Если всё нормально, публикуем в репозиторий проекта
  • Всегда используем команду gpull для получения изменений