Установка приложения Redmine
Руководство по установке приложения Redmine 2.1 на виртуальном хостинге.
Установка приложения Redmine на виртуальном хостинге доступна на тарифных планах с поддержкой полного ssh доступа (Профи + ssh, Плюс, VIP).
- Выполняем вход по ssh на свою площадку на нашем хостинге.
Создаем директорию вне корневой директории сайта, к примеру /private
mkdir private
Перемещаемся в каталог private
cd ./private
Приложение Redmine лучше разворачивать в защищённый каталог private, т.к. в случае установки в каталог httpdocs злоумышленники могут легко получить доступ к персональной информации, например, узнать пароль к базе данных. - Скачиваем последнюю стабильную версию Redmine, в данном примере рассматривается версия 3.0.
svn co http://svn.redmine.org/redmine/branches/3.3-stable redmine
-
Определите переменные окружения, необходимые для установки собственных гемов и комфортной работы с ruby, для этого в консоле выполните:
export GEM_HOME="$HOME/private/mygems" export PATH="$HOME/private/mygems/bin:$PATH"
- В рабочем каталоге ~/httpdocs создаем два файла, .htaccess (права 644):
RewriteEngine On Options +FollowSymLinks +ExecCGI RewriteCond %{REQUEST_FILENAME} !-f <IfModule mod_fcgid.c> AddHandler fcgid-script .fcgi RewriteRule ^(.*)$ dispatch.fcgi [QSA,L] </IfModule>
и dispatch.fcgi (права 700):
#!/ПУТЬ_К_RVM/ruby ENV['GEM_HOME']="/var/www/ЛОГИН_УСЛУГИ/private/mygems" require File.dirname(__FILE__) + '/../private/myproject/config/boot' require File.dirname(__FILE__) + '/../private/myproject/config/environment' class Rack::PathInfoRewriter def initialize(app) @app = app end def call(env) env.delete('SCRIPT_NAME') parts = env['REQUEST_URI'].split('?') env['PATH_INFO'] = parts[0] env['QUERY_STRING'] = parts[1].to_s @app.call(env) end end Rack::Handler::FastCGI.run Rack::PathInfoRewriter.new(RedmineApp::Application)
где ИМЯ_ВЕБ-ПРОСТРАНСТВА - это имя площадки на которой расположен сайт, а myproject - имя проекта, которое в данном примере мы назначили еще в пункте 2. - В панели управления создаём базу данных и пользователя к ней. В данном примере мы создали:
БД: komtet_redmine
пользователь БД: komtet_user
пароль к БД: komtetredmine - Переходим в каталог содержащий настройки проекта, в нашем случае
~/private/myproject/config
и создаём файл с настройками подключения к базе данных - database.yml, за основу можно взять файл примера находящийся в этом же каталоге - database.yml.example, в данном примере используется подключение к БД MySQL:
# MySQL (default setup). production: adapter: mysql database: komtet_redmine host: IP сервера размещения базы данных username: komtet_user password: komtetredmine encoding: utf8 development: adapter: mysql database: komtet_redmine host: IP сервера размещения базы данных username: komtet_user password: komtet_redmine encoding: utf8
- Переходим в каталог нашего проекта, в данном случае ~/private/myproject
- В консоли выполняем:
gem install bundler
- Теперь устанавливаем redmine со всеми зависимостями:
~/private/mygems/bin/bundle install --without development test rmagick
- Генерируем ключ для безопасного хранения сессий:
~/private/mygems/bin/rake generate_secret_token
- Создаем структуру нашей БД:
~/private/mygems/bin/rake db:migrate RAILS_ENV="production"
- Заполняем БД тестовыми данными:
~/private/mygems/bin/rake redmine:load_default_data RAILS_ENV="production"
- Копируем содержимое каталога ~/private/myproject/public в каталог ~/httpdocs.
Если все вышеуказанные действия выполнены верно, обратившись к сайту получаем рабочее приложение Redmine, учётные данные для входа в интерфейс администратора по умолчанию admin:admin.
При возникновении сложностей по поводу данной темы, обращайтесь в круглосуточную Службу технической поддержки хостинга.