Установка Redmine

Тут описывается нелёгкий путь настройки ОС FreeBSD, начиная с установки дистрибутива и заканчивая настройкой каждого сервиса
Ответить
RomA
Сообщения: 358
Зарегистрирован: 05 авг 2008, 14:53
Контактная информация:

Установка Redmine

Сообщение RomA »

Введение:
В этой статье будет рассмотрен вариант установки Redmine 3.4.6 на FreeBSD 11.2 с отправкой уведомлений через почту Office365

Установка:
Ставить будем с портов, потому

Код: Выделить всё

# cd /usr/ports/www/redmine
# make config-recursive
# make install clean
После того, как поставилось, создадим в скуле учётку

Код: Выделить всё

CREATE DATABASE redmine CHARACTER SET utf8;
CREATE USER 'redmine'@'localhost' IDENTIFIED BY 'PASSWORD';
GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost';
Теперь отредактируем файл соединения Redmine с базой данных

Код: Выделить всё

cd /usr/local/www/redmine/
cp config/database.yml.example config/database.yml
ee config/database.yml
Тут же в корне лежит файл Gemfile в конец которого нужно добавить Gemfile после чего этот геом нужно установить

Код: Выделить всё

bundle install --without development test
И создаём конфиг

Код: Выделить всё

touch config/unicorn.rb
вот такого содержания

Код: Выделить всё

worker_processes 3 # Numbers CPU + 1
working_directory "/usr/local/www/redmine/"
preload_app true
timeout 300
listen "/usr/local/www/redmine/tmp/sockets/unicorn.sock", :backlog => 64
pid "/usr/local/www/redmine/tmp/pids/unicorn.pid"
stderr_path "/usr/local/www/redmine/log/unicorn.stderr.log"
stdout_path "/usr/local/www/redmine/log/unicorn.stdout.log"

before_fork do |server, worker|
defined?(ActiveRecord::Base) and
ActiveRecord::Base.connection.disconnect!
end

after_fork do |server, worker|
defined?(ActiveRecord::Base) and
ActiveRecord::Base.establish_connection
end
Теперь говтовим систему к первому запуску

Код: Выделить всё

bundle exec rake generate_secret_token
rake db:migrate RAILS_ENV=production
rake redmine:load_default_data RAILS_ENV=production
и если нет ошибок - запускаем

Код: Выделить всё

bundle exec unicorn_rails -E production -c config/unicorn.rb -D
Вебинтерфейс:
Теперь нужно увидеть, что же у нас получилось. В качествет веб сервера стоит nginx, открывает его главный конфиг и добавляем в секцию http {

Код: Выделить всё

# Redmine
upstream redmine {
server unix:/usr/local/www/redmine/tmp/sockets/unicorn.sock fail_timeout=0;
}
ну а описание сервера выглядит так

Код: Выделить всё

server {
listen 80;
#listen 443 ssl;
#ssl on;
#ssl_certificate /usr/local/etc/letsencrypt/live/redmine.deathstar.name/fullchain.pem;
#ssl_certificate_key /usr/local/etc/letsencrypt/live/redmine.deathstar.name/privkey.pem;
server_name redmine.deathstar.name;
access_log /var/log/nginx/exim-access.log;
error_log /var/log/nginx/exim-error.log;
root /usr/local/www/redmine;
charset utf-8;

location /.well-known/acme-challenge {
allow all;
auth_basic off;
root /tmp/;
}

location / {
try_files $uri @ruby;
}

location ~* \.(jpg|gif|png|js|css|ico)$ {
root /usr/local/www/redmine/public;
expires 7d;
error_page 404 502 504 = @ruby;
}

location @ruby {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_read_timeout 3000s;
proxy_pass http://redmine; #upstream redmine

}

location ~ /\.ht
{
deny all;
}

}
перезапускаем вебсервер

Настройка оповещений на почту:
Идём в

Код: Выделить всё

cd /usr/local/www/redmine/config
и создаём файл конфигурации из образца

Код: Выделить всё

cp configuration.yml.example configuration.yml
открываем править файл и в конце находим секцию production: в которую и добавляем следующее:

Код: Выделить всё

    email_delivery:
      smtp_settings:
        enable_starttls_auto: true
        address: "smtp.office365.com"
        port: 587
        domain: "smtp.office365.com"
        authentication: :login
        user_name: "redmine@sch2120.ru"
        password: "P@SSw0rd"
Сохраняем и перезагружаем рейдмайн. Протестировать что получилось можно в меню Настройки => Уведомления по email - в правом нижнем углу есть ссылка Послать email для проверки - нажимаем и ждём.

Установка новых модулей:
Для установки модулей необходимо скопировать распакованный модуль в директорию

Код: Выделить всё

cd /usr/local/www/redmine/plugins
после чего перейди в директорию нового плагина и там быполнить

Код: Выделить всё

bundle install
затем возвращаемся в

Код: Выделить всё

cd /usr/local/www/redmine
и делаем

Код: Выделить всё

rake redmine:plugins:migrate RAILS_ENV=production
Теперь можно перезапустить Redmine и идти настраивать новый плагин

Перезапуск Redmine:
Идём в корневую директорию

Код: Выделить всё

cd /usr/local/www/redmine
Посмотрим pid процесса и убьём его

Код: Выделить всё

roman@vps:/usr/local/www/redmine# ps -ax | grep unicorn
27643  -  I       0:07,30 ruby24: unicorn_rails master -E production -c config/unicorn.rb -D (ruby24)
27644  -  I       0:04,07 ruby24: unicorn_rails worker[0] -E production -c config/unicorn.rb -D (ruby24)
27645  -  I       0:03,34 ruby24: unicorn_rails worker[1] -E production -c config/unicorn.rb -D (ruby24)
27646  -  I       0:00,01 ruby24: unicorn_rails worker[2] -E production -c config/unicorn.rb -D (ruby24)
27681  1  S+      0:00,00 grep unicorn
roman@vps:/usr/local/www/redmine# kill 27643
roman@vps:/usr/local/www/redmine# ps -ax | grep unicorn
27683  1  R+      0:00,00 grep unicorn
roman@vps:/usr/local/www/redmine# rake db:migrate RAILS_ENV=production

Теперь опять запускаем

Код: Выделить всё

bundle exec unicorn_rails -E production -c config/unicorn.rb -D


Литература:
http://www.redmine.org/boards/2/topics/38755
http://rmplus.pro/ru/redmine/plugins/extra_queries
https://deathstar.name/ustanovka-redmin ... b-servera/
Ответить