Redmine в подкаталоге

Если вам надо расположить и сделать доступ к redmine по какому-то иному пути, отличного от того, что предлагается по-умолчанию, например в https://mysite.ru/redmine, то это то, что вы так долго искали.

Для этого нам потребуется:

  • установленный redmine
  • установленный и сконфигурированный для passenger nginx
  • капелька везения

Upd от 29.03.2019: Вставил более универсальный рецепт. Читайте внизу.

Старый вариант

Для начала отредактируем файл environment.rb, расположенный в папке redmine по адресу config/environment.rb. Для этого перейдём в каталог, где расположены файлы redmine:

cd /path/to/redmine/

например

cd /home/administrator/redmine - если устанавливать его по этой статье.

Редактируем

nano config/environment.rb

В файле вставляем строки (выделены жирным)

# Load the Rails application
require File.expand_path('../application', __FILE__)
RedmineApp::Application.routes.default_scope = { :path => '/redmine', :shallow_path => '/redmine' }
# Make sure there's no plugin in vendor/plugin before starting
vendor_plugins_dir = File.join(Rails.root, "vendor", "plugins")
if Dir.glob(File.join(vendor_plugins_dir, "*")).any?
 $stderr.puts "Plugins in vendor/plugins (#{vendor_plugins_dir}) are no longer allowed. " +
 "Please, put your Redmine plugins in the `plugins` directory at the root of your " +
 "Redmine directory (#{File.join(Rails.root, "plugins")})"
 exit 1
end

# Initialize the Rails application
Rails.application.initialize!
Redmine::Utils::relative_url_root = "/redmine"

Сохраняем.

Теперь редактируем конфигурацию nginx, учитывая, что ранее его ставили в /opt

sudo nano /opt/nginx/conf/vhost/redmine.conf

и вставляем в секцию server следующий текст:

location /redmine {
alias /home/administrator/redmine/public/;
}

Сохраняем и перезапускаем nginx

sudo systemctl restart nginx

Теперь redmine доступен по адресу http(s)://myhost:myport/redmine, где

myhost — адрес сервера

myport — порт сервера, по-умолчанию 80, но если настраивать https, то 443.

Конец старого варианта

UPD: Новый вариант

Ничего не надо редактировать в environment.rb, достаточно в конфиге виртуального хоста указать следующее

location ~ ^/redmine(/.*|$) {
    alias /home/administrator/redmine/public$1; 
    passenger_base_uri /redmine;
    passenger_document_root /home/administrator/redmine/public;
    }

Источник: https://www.phusionpassenger.com/library/deploy/nginx/deploy/ruby/ (может быть недоступен, заходите из-под прокси)

Всем спасибо за попытку чтения

Добавить комментарий

Ваш e-mail не будет опубликован.