Задача установить 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