2020-04-17

Redmine - Debian Way

Debian WiKi (и не только)

 
1. Установить базу данных... см. отдельную статью
    # apt install postgresql

2. Установить Redmine с поддержкой выбранной вами базы данных:
    # apt install redmine-pgsql
 Будет несколько запросов с просьбой подтвердить конфигурацию базы данных через dbconfig-common . Значение по умолчанию « Да» должно быть «ОК», если вы не используете внешнюю базу данных или не хотите настраивать это вручную.
Проверьте установку с помощью WEBrick  - см. RedMine - Debian (PostgreSQL, Apache, Passenger)
 

3. WEB-сервер Apache & Passenger — установка, конфигурирование

    # apt install apache2 libapache2-mod-passenger
Добавьте пользователя Apache в группу Redmine:
    # usermod -aG redmine www-data
...загляните на адрес сервера, например http://192.168.1.11/, чтобы убедиться, что он работает...


Apache >=2.4.29 - создайте /etc/apache2/conf-available/redmine.conf
            Пример конфигурации:

Alias /redmine /var/www/html/redmine/  # домашняя директория /.../redmine/public/                               
<Location /redmine>                                                             
     PassengerBaseURI /redmine                                                  
     PassengerAppRoot /opt/redmine/redmine-X.Y.Z/ # корневая директория /.../redmine/                              
</Location>                                                                     
<Directory /var/www/html/redmine/>  # домашняя директория /.../redmine/public/                                 
    Require all granted                                                         
    Allow from all                                                              
    AllowOverride all                                                           
    RailsBaseURI /redmine                                                       
    RailsEnv production                                                         
    Options -MultiViews                                                         
</Directory>                                                                    
затем:
# a2enconf redmine     - a2enconf, a2disconf – включают и отключают конфигурационные файлы apache2
# systemctl enable apache2 - при отсутствии автозапуска (systemctl status apache), разрешаем автозапуск.
# systemctl reload apache2
Помните, что многие конфигурационные файлы могут иметь зависимости от определённых модулей. В отличие от зависимостей модулей, они не решаются автоматически.


Чтобы использовать свой домен только для Redmine (например, httр://domain.com/ ):
cp /usr/share/doc/redmine/examples/apache2-passenger-host.conf /etc/apache2/sites-available/redmine.conf
 
Чтобы использовать тот же домен совместно с другими приложениями (например, httр://domain.com/redmine -<VirtualHost *:80>):
cp /usr/share/doc/redmine/examples/apache2-passenger-alias.conf /etc/apache2/sites-available/redmine.conf
 
Отредактируйте ваш файл конфигурации, добавив имя домена и контактную информацию системного администратора:
edit /etc/apache2/sites-available/redmine.conf
 Пример конфигурации:
<VirtualHost *:80>                                                              
    ServerName domain.com          # имя виртуального домена                                     
    ServerAdmin admin@domain.com                                                
    DocumentRoot /var/www/html/redmine/ # домашняя директория - /...redmine/public                                            
    <Location /redmine> #       Require all granted                                                                                                              
#       Allow from all # AllowOverride all        RackBaseURI /redmine                                                                                                               
       RailsEnv production               # рабочее окружение, в котором запустится приложение                                  
       Options -MultiViews        PassengerResolveSymlinksInDocumentRoot on                                                      
    </Location>                                                                 
</VirtualHost>                                                                  
Проверим конфигурацию Apache на наличие ошибок:
    # apachectl configtest
Проверим настройки модуля passenger  (/etc/apache2/mods-enabled/passenger.conf), и добавим недостающую строку (PassengerUser www-data или PassengerDefaultUser www-data):
<IfModule mod_passenger.c>
  PassengerRoot /usr/lib/ruby/vendor_ruby/phusion_passenger/locations.ini
  PassengerDefaultRuby /usr/bin/ruby
  PassengerRuby /usr/bin/ruby
  PassengerDefaultUser www-data
</IfModule>

Затем:
# a2enmod passenger — подключение модуля (a2enmod, a2dismod – включение или отключение модулей apache2)
    Убедитесь, что модуль Passenger загружен:
# apache2ctl -M | grep -i passenger
# a2ensite redmine.conf — подключение виртуального хоста (сайта) redmine
# a2dissite 000-default — отключение виртуального хоста (сайта) 000-default
# systemctl reload apache2
В качестве альтернативы, чтобы использовать тот же домен, но другой порт, создайте конфигурацию на основе apache2-passenger-host.conf , затем отредактируйте apache2.conf, чтобы также соответственно прослушивать и redmine.conf В этом случае отключение 000-default не требуется... пока не понял.

Убедитесь, что Apache теперь прослушивает порт 80 (по умолчанию):
    # lsof -i :80

4. Вход в Redmine 
В нашем случае адрес входа - httр://domain.com/redmine ...используйте учетную запись администратора по умолчанию:
username: admin
password: admin

Отличия от апстрима Redmine

Пакет redmine от Debian содержит несколько патчей для поддержки запуска нескольких экземпляров Redmine с использованием одной кодовой базы. Вы управляете своими экземплярами с помощью dpkg-configure redmine . Благодаря этой поддержке нескольких экземпляров некоторые вещи появляются в местах, отличных от тех, которые вы используете в апстриме Redmine:
  • Redmine устанавливается в  /usr/share/redmine/   каталог Кеша - /var/cache/redmine/defaul
  • Журналы приложений находятся в /var/log/redmine/${instance}/ (вместо /path/to/redmine/log)
  • Конфигурация базы данных находится по адресу /etc/redmine/${instance}/database.yml (вместо /path/to/redmine/config/database.yml)
  • Файловые вложения находятся в /var/lib/redmine/${instance}/files
  • Плагины должны быть помещены в /usr/share/redmine/plugins. Папка не существует по умолчанию и должна быть создана. Не используйте /usr/share/redmine/lib/plugins, так как это приводит к ошибке маршрутизации в приложении.
Необходимо проверить и возможно задать владельца www-data для каталогов:
    # chown -R www-data:www-data /usr/share/redmine
    # chown -R www-data:www-data /var/cache/redmine/defaul


Сертификат SSL (если необходим)

  1. Сначала проверьте необходимость - https://www.ssllabs.com/ssltest/
  2. Добавьте репозиторий Debian Backports
  3. Для получения сертификата WEB-сервера (apach) cледуйте инструкциям в документации Certbot
.....

- Поздравляем! Ваш сертификат и цепочка были сохранены по адресу:
    /etc/letsencrypt/live/domain.com/fullchain.pem
Ваш ключевой файл был сохранен в:
    /etc/letsencrypt/live/domain.com/privkey.pem
 
   Срок действия вашего сертификата истекает 2020-06-07. Чтобы получить новую или измененную версию этого сертификата в будущем, просто запустите certbot снова с опцией «certonly»:
    # certbot certonly --apache
 Чтобы не обновлять * все * ваши сертификаты в интерактивном режиме, запустите «certbot renew»
 
  - Учетные данные вашей учетной записи были сохранены в вашем каталоге конфигурации Certbot в /etc/letsencrypt. Вы должны сделать безопасное резервное копирование этой папки сейчас. Этот каталог конфигурации также будет содержать сертификаты и закрытые ключи, полученные Certbot, поэтому идеальным решением будет регулярное резервное копирование этой папки.

Комментариев нет:

Отправить комментарий