Что такое passenger linux

Обновлено: 04.07.2024

Для развёртывания приложений Ruby on Rails необходим надёжный веб-сервер. Данное руководство поможет установить Passenger и Nginx для поддержки Rails-приложения в Ubuntu 14.04. Сервер Passenger прост в установке, поддержке и управлении и легко взаимодействует с Nginx или Apache.

Примечание: Также для развёртывания Rails-приложения можно использовать связку Nginx+Unicorn.

Требования

Для начала понадобится свежий сервер Ubuntu 14.04. Для небольшого сайта вполне достаточно 512 MB.

Также нужно создать пользователя с доступом к sudo. В этом руководстве такой пользователь называется rails; если вы используете аккаунт с другим именем, пожалуйста, откорректируйте команды.

Все необходимые инструкции можно найти в этом руководстве.

Кроме того, для развёртывания сайта необходим домен (хотя в данном случае это требование опционально, поскольку сайт также моно найти по IP-адресу). Чтобы сайт был доступен в сети, нужно создать DNS-запись и привязать доменное имя к серверу.

1: Установка Ruby

Установите Ruby из исходного кода.

Для начала обновите пакеты системы:

sudo apt-get update

После этого нужно установить некоторые зависимости.

sudo apt-get install build-essential libssl-dev libyaml-dev libreadline-dev openssl curl git-core zlib1g-dev bison libxml2-dev libxslt1-dev libcurl4-openssl-dev nodejs libsqlite3-dev sqlite3

Затем нужно создать временную папку для хранения исходных файлов Ruby.

Откройте новую папку:

Загрузите последний стабильный релиз Ruby (в руководстве будет установлен релиз 2.1.3). Посетите эту страницу и найдите последнюю версию Ruby; замените ссылку в следующей команде, чтобы загрузить её.

Распакуйте загруженный файл:

tar -xzf ruby-2.1.3.tar.gz

Выберите извлечённый каталог:

Запустите скрипт настройки (configure). Его выполнение займёт некоторое время, поскольку он проверяет все зависимости и создаёт новый Makefile для компиляции кода.

Запустите утилиту make, которая использует Makefile для сборки программы. Это займёт некоторое время.

Затем запустите следующую команду, чтобы установить программу. Команда скопирует скомпилированные двоичные файлы в папку /usr/local/bin. Это действие требует root-доступа.

sudo make install

Теперь установка Ruby завершена. Чтобы убедиться, что она прошла должным образом, запустите следующую команду:

Команда должна вернуть версию установленной программы.

После этого удалите временный каталог:

2: Установка Passenger и Nginx

Установить Passenger можно через RubyGems (passenger-install-nginx-module) или при помощи стандартного пакетного менеджера системы APT. Последний вариант удобнее, так как он позволяет управлять установкой и – что ещё более важно – процессом обновления Passenger и Nginx.

Итак, для начала установите PGP-ключ:

Создайте исходный файл APT:

sudo nano /etc/apt/sources.list.d/passenger.list

Добавьте в него следующий код:

Нажмите CTRL+x, Y и Enter, чтобы закрыть и сохранить файл.

Измените права собственности и доступа к файлу:

sudo chown root: /etc/apt/sources.list.d/passenger.list
sudo chmod 600 /etc/apt/sources.list.d/passenger.list

Обновите кэш apt:

sudo apt-get update

Установите Passenger и Nginx:

sudo apt-get install nginx-extras passenger

Это перезапишет версию Ruby на предыдущую. Чтобы устранить эту проблему, просто удалите неправильное расположение Ruby и создайте новую символическую ссылку на нужный двоичный файл Ruby:

sudo rm /usr/bin/ruby
sudo ln -s /usr/local/bin/ruby /usr/bin/ruby

3: Настройка веб-сервера

Откройте конфигурационный файл Nginx:

sudo nano /etc/nginx/nginx.conf

Обновите путь в строке passenger_ruby:

passenger_root /usr/lib/ruby/vendor_ruby/phusion_passenger/locations.ini;
passenger_ruby /usr/local/bin/ruby;

Сохраните и закройте файл.

4: Развёртывание

Теперь можно приступать к развёртыванию Rails-приложения. Если у вас есть готовое приложение, можете загрузить его на сервер и перейти к настройке /etc/nginx/sites-available/default.

Можно также создать новое приложение на сервере. Для этого нужно установить rails gem.

Откройте домашний каталог пользователя (в противном случае возникнет ошибка No such file or directory – getcwd).

Установите rails gem без дополнительной документации:

sudo gem install --no-rdoc --no-ri rails

Теперь можно создать приложение. В руководстве оно называется testapp; укажите любое другое имя приложения и откорректируйте команды соответствующим образом. Пропустим установку Bundler, чтобы в дальнейшем запускать приложение вручную.

rails new testapp --skip-bundle

Установите JavaScript. Его можно установить как therubyracer gem. Для этого откройте Gemfile:

И раскомментируйте строку:

gem 'therubyracer', platforms: :ruby

Отключите стандартную конфигурацию Nginx. Откройте конфигурационный файл:

sudo nano /etc/nginx/sites-available/default

listen 80 default_server;
listen [::]:80 default_server ipv6only=on;

И закомментируйте их:

Сохраните и закройте файл.

Создайте конфигурационный файл Nginx для приложения:

sudo nano /etc/nginx/sites-available/testapp

Добавьте следующий server-блок.

Этот файл настраивает прослушивание порта 80, задаёт доменное имя, включает Passenger и настраивает каталог public как root-каталог проекта. Строка root должна содержать расположение установки приложения Rails.

Если вы не хотите настраивать домен приложения, пропустите строку server_name или укажите в ней IP сервера.

Теперь можно протестировать работу приложения, открыв страницу Welcome aboard. Однако эта страница доступна только если приложение запущено в среде разработки. Но Passenger по умолчанию запускает приложение в среде производства. Это нужно изменить с помощью опции passenger_app_env.

Примечание: Пропустите это действие, если ваше приложение готово к производству.

Сохраните файл (CTRL+x, y, ENTER).

Создайте символическую ссылку:

sudo ln -s /etc/nginx/sites-available/testapp /etc/nginx/sites-enabled/testapp

sudo nginx -s reload

Теперь можно получить доступ к вебсайту. В браузере кажите домен или IP:

На экране должна появиться страница приложения Rails

5: Обновление программ

Чтобы обновить Ruby, нужно будет собрать последнюю доступную версию из исходного кода (как показано в разделе 2 данного руководства).

Чтобы обновить Passenger и Nginx, запустите стандартное обновление системы:

sudo apt-get update && sudo apt-get upgrade

Однако при этом Ruby может обновиться до последней версии, а это приведёт к ошибке в путях. Поэтому следует проверить пути и указать правильный путь на Ruby, создав символьную ссылку на бинарный файл (см. раздел 3).

Данным постом хотелось бы начать цикл статей о том, как мы адаптировали под свои нужды трекер задач «Redmine».

Около 2-х лет назад мне пришлось достаточно сильно изменить профиль своей деятельности, и от системного администрирования уйти в разработку на фреймворке «Ruby on Rails». Нужно было адаптировать «Redmine» под нужды достаточно большого IT-отдела, а потом и под нужды компании в целом. Тогда, я столкнулся, с относительной не простотой установки «Redmine». И комплексной статьи для новичков очень не хватало!

Есть несколько способов установки ROR-приложения, которым является «Redmine». В данной статье речь пойдет об установки на web-сервер «Apache», с использованием «Passenger» и «RVM». В качестве сервера баз данных, мы до сих пор используем «MySQL» (вернее MariaDB), хотя и подумываем о переезде на «PostgreSQL».

Apache

Устанавливаем web-сервер Apache:


Основная причина, по которой используется «Apache» — это наличие модуля для прозрачной аутентификации в домене «Windows». Мы изначально хотели упростить использование «Redmine». Отсутствие необходимости вводить пароль дважды было большим плюсом.

Сразу настроим виртуальные хосты «Apache». Сперва, настраиваем виртуальные хосты без поддержки «Ruby». Просто чтобы проверить, что «Apache» работает корректно и настроить модуль прозрачной аутентификации в домене «Windows».

Создаем папку где будет лежать дистрибутив «Redmine»:


Создаем ссылку из каталога «/var/www» (каталога, в котором обычно лежат сайты «Apache») на папку с нашим будущим дистрибутивом «Redmine»:


Создаем файл виртуального хоста:


Заполняем файл следующим содержимым (конфигурируем виртуальный хост):


Доменное имя «redmine.local» должно быть определено (разрешаться) в той сети, где вы будете использовать «Redmine».

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


Пакет, который реализует команду «a2ensite» может быть не установлен в «Ubuntu». В таком случае, в консоли появиться подсказка, как его установить.


Чтобы проверить, что виртуальный хост настроен правильно. Создадим файл «index.html» c произвольным содержимым в директории виртуального хоста.

Модуль прозрачной аутентификации в домене

Печально, но такого модуля под «ngix» мы так и не нашли. Наверное, по этой причине, до сих пор используем «Apache».

Качаем модуль, распаковываем куда-нибудь. Я обычно распаковываю в домашнюю директорию:


Устанавливаем пакет для компиляции модулей:


С этим модулем есть тонкость. Он не аутентифицирует слишком длинные логины. Поэтому, если в компании есть сотрудники с логинами типа «rimsky-korsakov», то перед компиляций модуля нужно изменить максимальную длину логина в файле «ntlmssp.inc.c», отредактировав строку «define MAX_USERLEN 32»

Переходи в разархивированную директорию. Компилируем модуль:


В процессе компиляции могут возникнуть ошибки-предупреждения. Это нормально.

В настройках виртуального хоста добавляем директивы которые отвечают за аутентификацию. Файл виртуального хоста теперь должен выглядеть так:


В процессе эксплуатации наблюдалось, что данный модуль может ощутимо притормаживать отдачу статических данных. Поэтому, мы настроили модуль так, чтобы он подключался только на странице аутентификации в «Redmine». Всю остальную работу по аутентификации реализует наш плагин прозрачной аутентификации.

MySQL (MariaDB)

Устанавливаем сервер баз данных «Mysql».

«MySQL» подустарел, поэтому лучше ставить его форк «MariaDB». На каком-то этапе мы переехали с первого на второе, не испытав проблем. С точки зрения установки и настройки для обоих серверов баз данных все примерно одинаково.


Соединяемся с сервером с паролем, введенным на этапе установки:


Создаем пустую базу данных для Redmine и назначаем привилегии:

В двух словах, «RVM» позволяет устанавливать разные версии Ruby на одном компьютере. Мы постоянно спорим с моим коллегой, а нужен ли нам «RVM» на рабочем сервере?

Прямой необходимости в нем нет, но я люблю его за то, что он позволяет сильно упростить установку «Ruby». В «Ubuntu» не всегда есть самые свежие пакеты с «Ruby», а в «RVM» есть! В общем, мы используем «RVM».

Для установки «RVM» нужно установить «Curl»:


Затем выходим из пользователя «root» и далее под обычным пользователем запускаем:


После установки, «RVM» скажет нам, какие еще пакеты нужно доставить в «Ubuntu». На момент написания статьи это были следующие пакеты:

Passenger

«Passenger» — это модуль «Apache», который позволяет запускать Ruby-приложения. «RVM» позволяет скомпилировать «Passenger» для определенного джемсета. После компиляции, «RVM» посоветует как подключить «Passenger» к «Apache».


Версия «Passenger» может меняться. Поэтому, нужно убедиться в правильности пути (в 3-ей команде).

В соответствующих директориях «Apache», создаем файлы конфигурации модуля и файлы загрузки модуля:


В файл записываем такое содержимое:


Содержимое файла конфигурации:


После компиляции «Passenger», «RVM» сгенерирует правильное содержимое данных файлов. Нужно только создать файлы и скопировать содержимое.

Подключаем наш модуль:


Сразу меняем конфигурационный файл «Apache». Теперь у нас есть «Passenger»:

Redmine

Берем свежую версию «Redmine» из SVN-репозитория. SVN-клиетнт может быть не установлен в «Ubuntu». Тогда нужно его установить.


user — это тот пользователь под которым мы устанавливали «RVM».


или вот так (зависит от версии «Ubuntu»):


Меняем настройки подключения «Redmine» к базе данных. В нашем случае это «MySQL»:

Меняем файл «database.yml»:

Устанавливаем все джемы, которые необходимы «Redmine»:


«Redmine» из коробки позволяет не прозрачно аутентифицироваться в домене. Для этого используется джем «net-ldap». Этот джем содержит одну очень серьезную ошибку.

Иначе, когда из «LDAP» запрашиваются определенные данные в кириллице, могут возникать непредвиденные ошибки.

Генерируем секретный ключ:


Создаем таблички в нашей базе данных:


Заполняем базу данных базовыми данными:

Собственно это все. Перезапускаем «Apache». Все должно работать.

Какие еще есть способы установить «Redmine»

Можно просто скачать «Bitnami Stack».

Можно установить «Redmine» из репозитариев: «apt-get install redmine». В «Ubuntu» он есть, но не всегда свежий.

Я предпочитаю пройти более сложный путь установки, но зато, иметь более глубокое представление о своем сервере.

Эта статья является результатом работы по установке и автономизации работы сервера на базе ОС Linux с Redmine по различным источникам (в том числе и по официальной инструкции), часть команд и последовательность действий были взяты из других источников. Все используемые источники указаны в конце статьи.

Введение

В общем задача звучала так: установить Redmine на сервер, где веб-сервер на nginx.

Так как Redmine написан на RoR, то необходимо иметь RoR среду, но проблема в том, что разные RoR приложения могут требовать разные версии окружения. В моем случае необходимо было предусмотреть возможность установки RoR приложений с разным окружением, а значит нужен менеджер версий, который будет разворачивать нужную среду в нужном месте.

RVM - менеджер версий сред ruby, начиная от версий интепретатора и заканчивая джемами. Нужен для того чтобы запускать разные RoR приложения на одном сервере, которые могут требовать разные среды исполнения.

Также хотелось классический вариант веб-сервера на nginx. Однако, nginx не знает как исполнять приложение, и в данном случае выступает в качестве прокси на исполняющий веб-сервер RoR приложения.

Unicorn - веб-сервер для Rack (и RoR в том числе) приложений. Почему-то мне не захотелось использовать passenger, наверное потому что nginx должен быть скомпилирован с passenger, то есть не чистый nginx. А еще потому что Unicorn может быть свой для каждого RoR приложения, а не один глобальный.

Теперь задача становится более ясной: установить Redmine на сервер, развернув стек RoR+Unicorn+Nginx, с автоматическим запуском.

Подготовка

Отключение ipv6

Примечание: необязательно, написал потому что мне надо было решить проблему :)

Установив на VPS Ubuntu 16.04 при попытке apt-get install не мог получить данные по ipv6 :

Решение: отключить ipv6 добавив соответствующую информацию в /etc/sysctl.conf:

Установка общего софта

curl для установки RVM (Ruby Version Manager):

Примечание: остальное необязательно если читатель пользуется другим софтом для этих дел :)

Установка

Получение Redmine

На данный момент самая свежая стабильная версия Redmine 4.1.1. Заходим в директорию /opt/ скачиваем туда архив, распаковываем переименовываем в redmine и удаляем архив:

Теперь путь до Redmine: /opt/redmine/

Проверив владельца директории можно увидеть неизвестного юзера 1000 , нам надо чтобы директорией владел www-data (чтобы автоматически поднимать сервис от юзера www-data ):

PostgreSQL

Этот раздел нужен только если Вы выбрали в качестве СУБД PostgreSQL!

Здесь все просто, делаем как написано в официальной инструкции по установке redmine - устанавливаем PostgreSQL версии >9.2.

Проверим текущую версию пакета в репозитории:

Если все нормально двигаемся дальше, иначе ищем способ установить нужную версию пакета.

Теперь нужно зайти на сервер PostgreSQL (чтобы зайти надо сменить юзера терминала, потому что только юзер postgres может в psql), создать пользователя и базу данных:

Для выхода надо ввести \q

На работе уже использовалась СУБД PostgreSQL, в тоже место предполагалось ставить GitLab (он работает с PostgreSQL), поэтому здесь сделал так.

My SQL

Этот раздел нужен только если Вы выбрали в качестве СУБД MySQL!

Установка сервера MySQL:

Действия с MySQL < 8.0 такие же как в официальной инструкции redmine, создать базу данных и пользователя, назначив ему полные привилегии:

Однако, в MySQL >= 8.0 для пользователя необходимо использовать старый метод аутентификации mysqlnativepassword (и вот еще ссылка):

У меня в одном проекте уже использовалась СУБД MySQL 8, поэтому решил поставить с использованием MySQL.

Сначала надо установить gnupg2 и установить проверочные ключи для установки RVM:

Теперь в директорию /opt/ надо скачать rvm скрипт:

Затем установка самого RVM (из директории /opt/ ):

После установки RVM будет создана новая группа rvm , в которую надо поместить пользователя www-data (чтобы от него запускать RVM):

Окружение Ruby On Rails для текущей сессии терминала можно установить так (а можно и по другому):

На данный момент мы скачали самую последнюю стабильную версию Redmine 4.1.1, которая требует версию Ruby [2.3, 2.6] . Узнаем что есть в RVM:

Вывод достаточно большой, но нас интересует именно это:

Последняя версия Ruby 2.6.5 , установим ее и назначим использовать по умолчанию:

Создадим окружение для Redmine:

Теперь при входе в директорию /opt/redmine/ через терминал, для этой директории будет установлено окружение ruby-2.6.5@redmine :

Настройка и тестовый запуск Redmine

Настройка базы данных

Файл /opt/redmine/config/database.yml.sample является примером как должен выглядеть конфиг подключения к БД. Создадим конфиг:

Запишем в конфиг данные для работы с БД:

Сборка зависимостей и решение проблем

Теперь надо собрать все зависимости RoR приложения:

При сборке RoR приложения в разных условиях могут возникать разные проблемы.

Используя PostgreSQL в качестве СУБД команда bundle может закончится ошибкой связанной с модулем pg :

Решение нашел здесь, а именно:

Для MySQL тоже возникает проблема с модулем mysql2 (детали ошибки аналогичны как и для PostgreSQL). Решение нашлось здесь, а именно:

Еще была проблема с nokogiri, решение нашел здесь, а именно:

Не забываем опять запустить bundle

Инициализация БД

Теперь нужно сделать 5-ый, 6-ой и 7-ой шаги: сгенерировать случайный ключ для сессий, создать структуру БД и инициализировать данные в БД:

Тестовый запуск

Пробуем запустить Redmine на webrick:

Если запуск прошел успешно, то на 3000 порту можно посмотреть сайт ( localhost:3000 или ip:3000 ).

Unicorn

В /opt/redmine/GemFile запишем зависимость:

Создадим конфигурационный файл для unicorn:

И вставляем туда текст конфига:

Создаем директории в соответствии с конфигом и меняем владельца:

Теперь выполнив bundle (если нет ошибок), можно запускать unicorn (из директории /opt/redmine/ ):

Уничтожить процесс unicorn можно по pid файлу :

Nginx

Или вот полный конфиг (для доступа к Redmine по ip адресу):

Если nginx запустился без ошибок, то пробуем обратится на сайт по ip адресу (или по localhost ), Redmine должно работать.

Автозагрузка

Если перезагрузить сервер (или внезапно уничтожить Unicorn), то сам Unicorn автоматически не поднимется, надо это организовать.

Почитать о том, что происходит ниже можно здесь и здесь.

Идем в /etc/systemd/system/ и создаем файл redmine.service :

PIDFile - pid файл процесса , по которому будет отслеживаться жизнь процесса

User и Group - юзер и группа, от которых будет производится запуск

ExecStart - команда запуска

ExecReload - команда перезагрузки

ExecStop - команда остановки

RestartSec - рестартовать процесс через N времени в случае если процесс отвалился

ExecStart , ExecReload , ExecStop могут быть путями до bash скриптов. Именно так и было мной сделано (потому что прежде выполнения команд старта/перезагрузки необходимо было разворачивать окружение, сделать это в файле конфига не представлялось возможным :))

Создаем файлы скрипты в /opt/redmine/config/ меняем владельца и группу, и ставим права на запуск:

unicorn_start для запуска unicorn (запускаем rvm , переходим в директорию с redmine - установится нужное окружение, запускаем unicorn):

unicorn_stop для остановки сервиса:

unicorn_reload для перезапуска сервиса (останавливаем и запускаем):

Теперь просмотрев статус сервиса можно увидеть:

Теперь можно start / reload / stop .

Если запуск произошел успешно, значит все верно настроено, в случае перезагрузки или внезапного падения Unicorn - он будет поднят автоматически!

Планирую перевести с тестирование все 8 разделов оригинальной библиотеки со ссылками на оригинал, они не всегда точные и актуальные, то есть будет скорее не точный перевод, а пересказ.

Вообще Passenger может быть установлен:

  1. Общесистемно:
    1.1 Пакетным менеджером вашего дистрибутива.
    1.2 Из тарбола.
  2. Локально через RubyGems.

passenger start
passenger stop
passenger status

Но самое главное есть ключ --help после команды (что вполне привычно), например

$ passenger start --help

Очень полезно. Будет понятно почему.

Passenger интегрируется с apache,nginx, может работать как легкий автономный web-сервер. Если в Rails — приложении он добавлен в Gemfile, то "rails server" запустит его, а не WEBricks, предварительно поставив его для Вас локально, но можно поступать по другому, об этом ниже. Смысл полной сборки с бинарными файлами не очень понятен, разве обычный пользователь может подключить модули к apache2 или nginx?

Быстрый старт / Quickstart: Ruby + Phusion Passenger

Это 5-и минутное руководство научит вас запуску приложений ruby с сервером PhusionPassenger в режиме разработки. Строго говоря описан вариант установки RubyGems.(прим перев)

  1. Что такое Passenger?
  2. Подготовка демонстрационных приложений.
  3. Обновление набора гемов (Updating your gem bundle).
  4. Запуск сервера.
    bundle exec rails server
  5. Логи.
  6. Остановка сервера.
  7. Выводы.

Подготовка демонстрационных приложений

Обновление набора гемов (Updating your gem bundle)

От переводчика: тут не совсем понятно

"Open your app's Gemfile and add "passenger":"
Откройте и добавьте.

М-м-м, в самих Gemfile's уже есть

Вот и гадай. Попробовал и так и так — работает. Это к сведению.

Далее все очевидно

$ cd /path-to-your-app
$ bundle install
.
Installing passenger x.x.x

Your bundle is complete!

Запуск сервера

теперь можно запустить сервер:

Лучше не запускать автономный passenger на localhost и порт 3000, лучше

$ bundle exec passenger start -p 8081 -a 192.168.1.1

Или как там у Вас.

Как уже было сказано,

$ bundle exec rails server

Запустит passsenger, который встанет локально.

Логи

Остановка сервера

Не трудно догадаться:
Ctrl-C ну или

$ bundle exec passenger stop

С другой консоли.

Выводы

Если честно,"возьмите с полки пирожок".

UPD1. В общем, это вступление. Как выражаются авторы "За 5 минут познакомится с продуктом". Поэтому не упомянуты пума с единорогом (см коммент ниже). Потом, авторы иногда субъективны, я передаю их слова. Следует также учитывать, что советы приходится проверять. И еще недостаток. Phusion Passenger не только Ruby поддерживает, но объем великоват. Второе у меня в распоряжении 2 лабораторных виртуальных машины CentOS 7.2 и Debian 8.0, увы, я использую Apache, Nginx установлен, но используется реже. После краткого введения следует два раздела, но постараюсь убрать повторы и собрать наиболее ценное из основ и практики.

Установка Redmine на Ubuntu выполняется в несколько несложных этапов, так как все нужные пакеты находятся в репозитории данного дистрибутива Linux, и в ходе установки инсталлируются все зависимости и выполняется конфигурирование системы автоматически. При написании инструкции применялась Ubuntu Server 16.04.05.

Redmine является веб-приложение, поэтому его удобнее всего публиковать с помощью веб-сервера. Мы рассмотрим вариант использования Apache, так как данный программный продукт легко интегрируется с passenger, который является связующим звеном между Ruby on rails и веб-сервером.

В данной статье я делаю упор на максимальную простоту развертывания Redmine — без ручной установки ruby, gems, и так далее. Она не даст понимания, как работает сервер, но позволит быстро развернуть сервис (буквально, за 10 минут).

Сервер баз данных

В качестве СУБД будем использовать MariaDB:

apt install mariadb-server

Разрешаем запуск, стартуем сервис:

systemctl enable mysql

systemctl start mysql

Задаем пароль для суперпользователя mariadb:

mysqladmin -u root password

Установка Redmine

Для корректной установки нужно поставить отдельно пакет — без него установка redmine будет заканчиваться ошибкой:

apt install ruby-mysql2

В Ubuntu пакет для установки Redmine есть в репозитории. Вводим команду:

apt install redmine

. в результате ее выполнения будет скачано и установлено множество зависимостей. Также система спросит, какую СУБД необходимо использовать — выбираем MySQL и вводим пароль для пользователя redmine, который будет создан в СУБД.

После завершения установки, система автоматически создаст базу и внесет необходимые настройки.

Выполняем тестовый запуск Redmine:

rails server webrick -e production -b 0.0.0.0

* первой командой мы переходим в каталог, в который устанавливается redmine; второй командой мы запускаем Ruby on Rails на 3000 порту и на всех сетевых адаптерах.

Домашняя страница Redmine

Пробуем войти в систему — логин и пароль по умолчанию admin / admin.

Настройка веб-сервера

Для автоматической публикации Redmine в качестве веб-приложения мы будем использовать apache и модуль passenger. Для их установки вводим:

apt install apache2 libapache2-mod-passenger

Создаем виртуальный домен:

* где *:80 указывает слушать на всех сетевых интерфейсах, 80 порту; ServerName — имя виртуального домена (тут нужно задать Ваш URL, который будет использоваться для Redmine); DocumentRoot — домашняя директория Redmine; RailsEnv — рабочее окружение, в котором запустится приложение.

Читайте также: