Установка redmine 4 на Debian 10

Установка redmine 4 на Debian 10

Задача установить Redmine версии 4 на свежий Debian 10.

В данной статье я обхожусь без комментариев, потому что по большому счету пишу ее для себя. Подробности того, что тут вообще происходит можно посмотреть в предыдущей статье.

Статья писалась параллельно вместе с реальной установкой redmine. Так что все проверено!


На момент написания статьи версии ПО:
Debian 10.2
Redmine 4.0.5
Ruby 2.6.5
Rails 5.2.3
Apache 2.4.38
Passenger 6.0.4
MariaDB 10.4

Поехали

apt-get update
apt-get upgrade
apt-get install mc
apt-get install sudo
apt-get install curl
apt-get install dirmngr
gpg --keyserver hkp://pool.sks-keyservers.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
curl -sSL https://get.rvm.io | bash -s stable
usermod -G rvm root
source /etc/profile.d/rvm.sh
rvm install ruby-2.6.5
rvm use ruby 2.6.5 --default
rvm gemset create redmine
rvm use 2.6.5@redmine --default
apt-get install software-properties-common dirmngr
apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xF1656F24C74CD1D8
add-apt-repository 'deb [arch=amd64,i386,ppc64el] http://mirror.mephi.ru/mariadb/repo/10.4/debian buster main'
apt-get update
apt-get install mariadb-server
apt-get install libmysqlclient-dev
mysql -uroot -p
create database redmine character set utf8;
create user 'redmine'@'localhost' identified by 'HARDPASSWORD';
grant all privileges on redmine.* to 'redmine'@'localhost';
exit;
apt-get install git
cd /opt
git clone https://github.com/redmine/redmine.git
chmod 775 -R /opt/redmine
chown -R www-data:www-data /opt/redmine
apt-get install graphicsmagick-libmagick-dev-compat
apt-get install libmagickwand-dev
cp /opt/redmine/config/configuration.yml.example /opt/redmine/config/configuration.yml
cp /opt/redmine/config/database.yml.example /opt/redmine/config/database.yml
mcedit /opt/redmine/config/database.yml

Правим конфиг:

production:
  adapter: mysql2
  database: redmine
  host: localhost
  username: redmine
  password: "HARDPASSWORD"
  encoding: utf8
gem install bundler
bundle install --without development test
bundle exec rake generate_secret_token
RAILS_ENV=production bundle exec rake db:migrate
RAILS_ENV=production bundle exec rake redmine:load_default_data

Выбираем нужный язык (ru)

apt-get install apache2
apt-get install libcurl4-openssl-dev
apt-get install apache2-dev 
gem install passenger
passenger-install-apache2-module

Следуем инструкциям установщика. На первом вопросе выбираем ruby. В самом конце скрипт попросит внести правки в конфиги apache. Открываем новую консольку и выполняем (ВНИМАНИЕ! обязательно проверьте так ли у вас, потому как версия passenger’а скорее всего поменялась, и будут уже другие цифры; ниже только ПРИМЕР):

touch /etc/apache2/mods-available/passenger.conf
touch /etc/apache2/mods-available/passenger.load
echo "LoadModule passenger_module /usr/local/rvm/gems/ruby-2.6.5@redmine/gems/passenger-6.0.4/buildout/apache2/mod_passenger.so" > /etc/apache2/mods-available/passenger.load
mcedit /etc/apache2/mods-available/passenger.conf

И добавляем в него (АНАЛОГИЧНО ПРОВЕРЯЕМ ВЕРСИЮ):

<IfModule mod_passenger.c>
     PassengerRoot /usr/local/rvm/gems/ruby-2.6.5@redmine/gems/passenger-6.0.4
     PassengerDefaultRuby /usr/local/rvm/gems/ruby-2.6.5@redmine/wrappers/ruby
</IfModule>

Сохраняем, закрываем. Выполняем:

a2enmod passenger
systemctl restart apache2

Возвращаемся в консоль, где происходит установка и жмем Enter для завершения установки.

touch /etc/apache2/sites-available/redmine.conf
mcedit /etc/apache2/sites-available/redmine.conf

Туда:

<VirtualHost *:80>
    ServerName new-redmine.ru
    ServerAdmin admin@new-redmine.ru
    DocumentRoot /opt/redmine/public
    RailsEnv production
    RailsBaseURI /
 
    <Directory /opt/redmine/public>
        Options Indexes ExecCGI FollowSymLinks
        Options -MultiViews
        AllowOverride all
 
        <RequireAll>
            Require all granted
        </RequireAll>
    </Directory>
 
</VirtualHost>

Сохраняем, выходим. Выполняем:

a2ensite redmine
systemctl reload apache2
apt-get install imagemagick
systemctl reload apache2