Установка системы управления проектами Redmine 4.0.1 на Debian 9 Stretch
Разберем как установить систему управления проектами Redmine 4.0.1 на Debian 9 Stretch.
Подготовка системы
Перед началом установки обновляем систему до актуального состояния:
sudo apt-get update && sudo apt-get upgrade -y
Устанавливаем необходимые зависимости:
sudo apt-get install apache2 apache2-dev libapr1-dev libaprutil1-dev libapache2-mpm-itk mysql-server curl libapache2-mod-passenger default-libmysqlclient-dev libcurl4-openssl-dev ruby-rmagick libmagickwand-dev gnupg2 dirmngr -y
После установки зависимостей, необходимо выполнить настройку безопасности mysql:
sudo mysql_secure_installation
[stextbox id=’warning’]В ходе выполнения команды, будет заданы вопросы (смены пароля root, удаления анонимных учетных записей, отключения удаленного доступа для root, удаления тестовой базы данных, сброса привилегий)[/stextbox]
Установка RVM и Ruby
Для работы Redmine 4.0.1, необходимы компоненты Ruby 2.6 и Rails 5.2. Установим их и настроим подключение Ruby к apache.
Устанавливаем RVM (ruby version manager):
sudo su gpg2 --keyserver hkp://pool.sks-keyservers.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB curl -L https://get.rvm.io | bash -s stable exit
Пользователя admin, добавляем в группу rvm и выполняем рекомендованный скрипт:
sudo usermod admin -a -G rvm
Устанавливаем Ruby 2.6 и назначаем использование ее по-умолчанию:
cd /usr/local/rvm/ rvm install ruby-2.6-head rvm use ruby-2.6-head --default
Устанавливаем необходимые гемы:
gem install rdoc gem install rails -v 5.2.1 gem install bundler gem install mysql2 gem install activeresource gem install passenger
Устанавливаем passenger модуль для apache (для установки рекомендуется иметь 1024MB оперативной памяти в системе или более):
passenger-install-apache2-module
Сообщение ниже, свидетельствует об установки passenger и необходимости внесения изменений в модули passenger для apache. Завершаем установку, пару раз нажимая Enter.
Almost there! Please edit your Apache configuration file, and add these lines: LoadModule passenger_module /usr/local/rvm/gems/ruby-2.6-head/gems/passenger-6.0.1/buildout/apache2/mod_passenger.so <IfModule mod_passenger.c> PassengerRoot /usr/local/rvm/gems/ruby-2.6-head/gems/passenger-6.0.1 PassengerDefaultRuby /usr/local/rvm/gems/ruby-2.6-head/wrappers/ruby </IfModule> After you restart Apache, you are ready to deploy any number of web applications on Apache, with a minimum amount of configuration!
[stextbox id=’warning’]Прошу обратить внимание, что на момент написания статьи модуль passenger для apache версии 6.0.1! при установке модуля, обращайте внимание какая версия passenger ставится и соответственно указывайте ее. [/stextbox]
Внесем требуемые изменение в файлы модулей.
В файле /etc/apache2/mods-available/passenger.load:
LoadModule passenger_module /usr/local/rvm/gems/ruby-2.6-head/gems/passenger-6.0.1/buildout/apache2/mod_passenger.so
В файле /etc/apache2/mods-available/passenger.conf:
<IfModule mod_passenger.c> PassengerRoot /usr/local/rvm/gems/ruby-2.6-head/gems/passenger-6.0.1 PassengerDefaultRuby /usr/local/rvm/gems/ruby-2.6-head/wrappers/ruby </IfModule>
Установка Ruby и необходимых модулей завершена, переходим к установке Redmine.
Установка и настройка Redmine
Скачиваем Redmine, распаковываем его и переходим в него:
cd /opt/ sudo wget http://www.redmine.org/releases/redmine-4.0.1.tar.gz sudo tar -zxvf redmine-4.0.1.tar.gz sudo mv redmine-4.0.1 redmine cd redmine/
Изменяем права доступа на каталог redmine, для web-сервера и пользователей группы rvm:
sudo chown -R www-data:rvm /opt/redmine sudo chmod -R 775 /opt/redmine
Устанавливаем все недостающие зависимости:
bundle install --without development test
Создаем базу данных и пользователя для Redmine:
sudo mysql -u root -p CREATE DATABASE redmine CHARACTER SET utf8; CREATE USER 'redmine'@'localhost' IDENTIFIED BY 'redmine'; GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost'; FLUSH PRIVILEGES; EXIT
Копируем файл конфигурации базы данных и настраиваем его на использование созданной базы данных MySQL:
cp config/database.yml.example config/database.yml nano config/database.yml production: adapter: mysql2 database: redmine host: localhost username: redmine password: "redmine"
Генерируем уникальный идентификатор, выполняем миграцию базы данных, загружаем начальную конфигурацию:
bundler exec rake generate_secret_token RAILS_ENV=production bundle exec rake db:migrate RAILS_ENV=production REDMINE_LANG=ru bundle exec rake redmine:load_default_data
Создаем символьную ссылку каталога redmine и создаем виртуальный хост redmine:
sudo ln -s /opt/redmine /var/www/redmine sudo nano /etc/apache2/sites-available/redmine.conf
<VirtualHost *:80> DocumentRoot /var/www/redmine/public LogLevel warn ErrorLog ${APACHE_LOG_DIR}/redmine_error.log CustomLog ${APACHE_LOG_DIR}/redmine_access.log combined RailsEnv production RailsBaseURI / <Directory /var/www/redmine/public> Options Indexes ExecCGI FollowSymLinks Options -MultiViews AllowOverride all </Directory> </VirtualHost>
Отключаем сайт используемый по-умолчанию, включаем нами добавленный сайт redmine.conf, перезапускаем службу apache:
sudo a2dissite 000-default.conf sudo a2ensite redmine.conf sudo service apache2 restart
Теперь в браузере можно перейти по IP-адресу, где расположен Redmine и мы попадаем на приветственную страницу. Доступ в консоль по-умолчанию admin/admin.
Понравилась или оказалась полезной статья, поблагодари автора
Изменяем права доступа на каталог redmine, для web-сервера и пользователей группы rvm:
sudo chown -R www-data:rvm /opt/redmine
Кто эти люди и в какой момент они должны быть добавлены в систему????
Там людей нет, www-data (веб-сервер), rvm (ruby version manager), добавляются они в момент установки пакетов.
Делал копипаст и неработает ,, разобрался ,, passenger-6.0.2 версия ,, подправил и все ок ,, спс
Добрый день,
А можно с вами как то связаться по телефону?
Меня зовут Марат. Я занимаюсь проектом RedmineUP cloud.(https://www.redmineup.com/pages/ru/redmine-hosting-rf)
Я заметил что на вашем блоге вы пишите о Redmine и хотел с вами пообщаться и узнать как мы можем быть друг другу полезны.
Если вы не против — пожалуйста сообщите номер телефона.
Добрый день, ответил письмом на e-mail указанный у Вас в профиле.