Обновляемый локальный кеш пакетов и установленные пакеты
1 |
# apt-get update && apt-get upgrade |
Установка зависимостей
1 |
# apt-get install apache2 mysql-server mysql-client libmysqlclient-dev imagemagick libmagickwand-dev libcurl4-openssl-dev libssl-dev zlib1g-dev |
Добавляем пользователя Redmine в систему и временно добавляем его в /etc/sudoers с возможностью выполнения всех команд без пароля
1 |
# adduser --system --shell /bin/bash --gecos 'Redmine Administrator' --group --disabled-password --home /opt/redmine redmine |
1 |
# visudo |
1 2 |
# temp - *REMOVE* after installation redmine ALL=(ALL) NOPASSWD:ALL |
Переключаемся на пользователя redmine и устанавлтваем для него rvm(ruby version manager) и ruby
1 |
# su - redmine |
1 |
redmine@redmine:~$ gpg --keyserver hkp://pgp.mit.edu --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 |
1 |
redmine@redmine:~$ curl -sSL https://get.rvm.io | bash -s stable |
1 |
redmine@redmine:~$ source /opt/redmine/.rvm/scripts/rvm |
1 |
redmine@redmine:~$ echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"' >> ~/.bashrc |
Ubuntu 16
1 |
redmine@redmine:~$ rvm install 2.2.5 |
1 |
redmine@redmine:~$ ruby --version |
1 |
ruby 2.2.5p319 (2016-04-26 revision 54774) [x86_64-linux] |
Ubuntu14
1 |
redmine@redmine:~$ rvm install 2.2.4 |
1 |
redmine@redmine:~$ ruby --version |
1 |
ruby 2.2.4p230 (2015-12-16 revision 53155) [x86_64-linux] |
Возвращаемся на пользователя root
1 |
redmine@redmine:~$ exit |
Создание базы данных redmine, пользователя redmine с полным доступом к базе данных redmine
1 |
# mysql -u root -p |
1 |
mysql> CREATE DATABASE redmine character SET utf8; |
1 |
mysql> GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost' IDENTIFIED BY 'redminepassword'; |
1 |
mysql> flush privileges; |
1 |
mysql> quit |
Снова переключаемся на пользователя redmine
1 |
# su - redmine |
Отсюда скачиваем последнюю версию Redmine версии 3.2.X
http://www.redmine.org/releases/
1 |
redmine@redmine:~$ wget http://www.redmine.org/releases/redmine-3.2.5.tar.gz |
1 |
redmine@redmine:~$ tar xvfz redmine-3.2.5.tar.gz |
1 |
redmine@redmine:~$ mv redmine-3.2.5 redmine |
1 |
redmine@redmine:~$ rm redmine-3.2.5.tar.gz |
1 |
# redmine@redmine:~$ cp redmine/config/database.yml.example redmine/config/database.yml |
1 |
# redmine@redmine:~$ cp redmine/config/configuration.yml.example redmine/config/configuration.yml |
Настройка конфигурационного файла подключения к базе данных
1 |
# redmine@redmine:~$ nano redmine/config/database.yml |
1 2 3 4 5 6 7 |
production: adapter: mysql2 database: redmine host: localhost username: redmine password: " redminepassword" encoding: utf8 |
Инициализация Redmine
1 |
redmine@redmine:~$ gem install bundler |
1 |
redmine@redmine:~$ cd redmine |
1 |
redmine@redmine:~/redmine$ bundle install --without development test postgresql sqlite |
1 |
redmine@redmine:~/redmine$ rake generate_secret_token |
1 |
redmine@redmine:~/redmine$ RAILS_ENV=production bundle exec rake db:migrate |
1 |
redmine@redmine:~/redmine$ RAILS_ENV=production rake redmine:load_default_data |
Переключаемся напользователя root
1 |
# exit |
Удаляем пользователя redmine из файла /etc/sudoers
1 |
# visudo |
1 2 |
# temp - *REMOVE* after installation # redmine ALL=(ALL) NOPASSWD:ALL |
Установка Phusion Passenger
Добавление репозитария
Ubuntu 16
1 |
# apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 561F9B9CAC40B2F7 |
1 |
# apt-get install -y apt-transport-https ca-certificates |
1 |
# sh -c 'echo deb https://oss-binaries.phusionpassenger.com/apt/passenger xenial main > /etc/apt/sources.list.d/passenger.list' |
Ubuntu 14
1 |
# apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 561F9B9CAC40B2F7 |
1 |
# apt-get install -y apt-transport-https ca-certificates |
1 |
# sh -c 'echo deb https://oss-binaries.phusionpassenger.com/apt/passenger trusty main > /etc/apt/sources.list.d/passenger.list' |
Выбор операционной системы и необходимого репозитария доступен здесь
https://www.phusionpassenger.com/library/install/apache/install/oss/
Также вместо Apache может использоваться Nginx
https://www.phusionpassenger.com/library/install/nginx/install/oss/
Установка корректных прав и владельца/группы на файл с репозитарием
1 |
# chown root:root /etc/apt/sources.list.d/passenger.list |
1 |
# chmod 600 /etc/apt/sources.list.d/passenger.list |
Установка Phusion Passenger
1 |
# apt-get update |
1 |
# apt-get install libapache2-mod-passenger |
Настройка Phusion Passenger
1 |
# passenger-config --root |
1 |
/usr/lib/ruby/vendor_ruby/phusion_passenger/locations.ini |
1 |
# nano /etc/apache2/mods-available/passenger.conf |
1 2 3 4 5 6 7 8 |
<IfModule mod_passenger.c> PassengerRoot /usr/lib/ruby/vendor_ruby/phusion_passenger/locations.ini PassengerDefaultRuby /usr/bin/passenger_free_ruby # PassengerFriendlyErrorPages on # uncomment to enable errors display PassengerUserSwitching on PassengerUser redmine PassengerGroup redmine </IfModule> |
Настройка конфигурационного файла виртуального хоста Apache
В версии Passenger 5.2.0 опция
1 |
PassengerResolveSymlinksInDocumentRoot |
была удалена.
Вместо нее необходимо использоват опцию
1 |
PassengerAppRoot |
(либо вообще не использовать символьные ссылки в DocumentRoot )
https://blog.phusion.nl/2018/01/29/passenger-5-2-0/
https://www.phusionpassenger.com/library/indepth/ruby/app_autodetection/apache/
1 |
# nano /etc/apache2/sites-enabled/000-redmine.conf |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
<VirtualHost *:80> ServerName redmine.mydomain.com ServerAlias www.redmine.mydomain.com DocumentRoot /var/www/html/redmine PassengerAppRoot /opt/redmine/redmine <Directory /var/www/html/redmine> RailsBaseURI / # PassengerResolveSymlinksInDocumentRoot on </Directory> ErrorLog ${APACHE_LOG_DIR}/redmine.mydomain.com-error.log CustomLog ${APACHE_LOG_DIR}/redmine.mydomain.com-access.log combined </VirtualHost> |
Создаем символьную ссылку с фактического размещения каталога public Redmine на DocumentRoot вирт.хоста Apache
1 |
# ln -s /opt/redmine/redmine/public /var/www/html/redmine |
Включаем/проверяем модуль Apache passenger
1 |
# a2enmod passenger |
Скрываем версии Apache
1 |
# nano /etc/apache2/conf-enabled/security.conf |
1 2 |
ServerTokens Prod ServerSignature Off |
Проверка синтаксиса,перезапуск и добавление в автозагрузку Apache
1 |
# apache2ctl configtest |
Ubuntu 16
1 |
# systemctl restart apache2 |
1 |
# systemctl enable apache2 |
Ubuntu 14
1 |
# service apache2 restart |
1 |
# update-rc.d apache2 enable defaults |
Подключаемся через WEB-интерфейс по имени домена/сайта, указанному в вирт.хосте Apache
http://redmine.mydomain.com/
1 2 |
Login: admin Password: admin |
Изменяем пароль пользователя admin
Настройка отправки почты(параметры должны отступать на 2 символа пробела)
1 |
# nano /opt/redmine/redmine/config/configuration.yml |
1 2 3 4 5 6 7 8 9 10 |
default: email_delivery: delivery_method: :smtp smtp_settings: address: "localhost" port: 25 domain: mydomain.com # enable_starttls_auto: false authentication: :none openssl_verify_mode: 'none' |
1 |
# systemctl restart apache2 |
Из полезных настроек в WEB-интерфейсе
1 2 3 4 5 |
Общее->Имя компьютера-> redmine.mydomain.com Аутентификация->Саморегистрация->Отключено Аутентификация->Восстановление пароля->Убрать галку Проекты->Новые проекты являются общедоступными ->Убрать галку Уведомление по E-mail->Исходящий email адрес-> redmine@redmine.mydomain.com |
И тут же протестировать отправку письма через ссылку Послать email для проверки
Настройка принудительного перенаправления http->https(Сертификаты от Let’s Encrypt) (https://kamaok.org.ua/?p=1764)
Подключаем необходимые модули
1 |
# a2enmod ssl |
1 |
# a2enmod rewrite |
Настраиваем вирт.хосты Apache
1 |
# cd /etc/apache2/sites-enabled |
1 |
# nano ../sites-available/000-redmine.conf |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
<VirtualHost *:80> RewriteEngine on RewriteCond %{SERVER_NAME} =redmine.mydomain.com [OR] RewriteCond %{SERVER_NAME} =www.redmine.mydomain.com RewriteRule ^ https://redmine.mydomain.com%{REQUEST_URI} [END,QSA,R=permanent] ServerName redmine.mydomain.com ServerAlias www.redmine.mydomain.com DocumentRoot /var/www/html/redmine <Directory /var/www/html/redmine> RailsBaseURI / PassengerResolveSymlinksInDocumentRoot on </Directory> ErrorLog ${APACHE_LOG_DIR}/redmine.mydomain.com-error.log CustomLog ${APACHE_LOG_DIR}/redmine.mydomain.com-access.log combined </VirtualHost> |
1 |
# nano ../sites-available/000-redmine-ssl.conf |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
<IfModule mod_ssl.c> <VirtualHost *:443> ServerName redmine.mydomain.com ServerAlias www.redmine.mydomain.com DocumentRoot /var/www/html/redmine SSLEngine on SSLCertificateFile /etc/letsencrypt/live/redmine.mydomain.com/cert.pem SSLCertificateKeyFile /etc/letsencrypt/live/redmine.mydomain.com/privkey.pem SSLCertificateChainFile /etc/letsencrypt/live/redmine.mydomain.com/chain.pem # Intermediate configuration, tweak to your needs SSLProtocol all -SSLv2 -SSLv3 SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GC$ SSLHonorCipherOrder on SSLCompression off SSLOptions +StrictRequire <Directory /var/www/html/redmine> RailsBaseURI / PassengerResolveSymlinksInDocumentRoot on </Directory> ErrorLog ${APACHE_LOG_DIR}/redmine.mydomain.com-error.log CustomLog ${APACHE_LOG_DIR}/redmine.mydomain.com-access.log combined </VirtualHost> <IfModule mod_ssl.c> |
Активируем вирт.хосты
1 |
# ln -s ../sites-available/000-redmine-ssl.conf . |
1 |
# apache2ctl configtest |
1 |
# systemctl restart apache2 |
Ubuntu 16
Ubuntu 14
Источник:
https://кодер.укр/%D0%B7%D0%B0%D0%BF%D0%B8%D1%81%D0%B8/%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0-redmine-%D0%BD%D0%B0-ubuntu-14-04
https://www.phusionpassenger.com/library/install/