Ответы Александра вселили в меня уверенность в том, что это можно сделать, но в итоге я продолжал настаивать на своем первоначальном подходе, пока не получил эту работу, а не переключился на его предложения.
Я боюсь, что потерял след источники для различных битов, в первую очередь со страниц справки redmine.
Мое полное решение было
sudo apt update
sudo apt upgrade
sudo apt install build-essential libmysqlclient-dev imagemagick libmagickwand-dev ruby-full
sudo apt install apache2 libapache2-mod-passenger
sudo gem update
sudo gem install bundler
sudo curl -L https://www.redmine.org/releases/redmine-4.0.1.tar.gz -o /tmp/redmine.tar.gz
sudo tar zxf /tmp/redmine.tar.gz
sudo mv redmine-4.0.1 /opt/redmine
sudo touch /opt/redmine/Gemfile.lock
sudo chown www-data:www-data /opt/redmine/Gemfile.lock
sudo chmod a+w /opt/redmine/Gemfile.lock
sudo cp /opt/redmine/config/database.yml.example /opt/redmine/config/database.yml
sudo ln -s /opt/redmine/public /var/www/html/redmine
cd /opt/redmine
mkdir -p /opt/redmine/app/assets/config && echo '{}' > /opt/redmine/app/assets/config/manifest.js
bundle install
bundle exec rake generate_secret_token
Обратите внимание, что приведенная выше строка манифеста относится только к моей конкретной версии Redmine, которая была несовместима с более поздними версиями звездочек. Также обратите внимание, что изменение разрешений a + w возможно чрезмерно, но я боролся с разрешениями в противном случае.
Затем мы должны сделать еще несколько ручных настроек. Откройте файл в текстовом редакторе:
sudo nano /opt/redmine/config/database.yml
и измените производственный процесс на следующий
production:
adapter: mysql2
database: myredminedatabasename
host: mysqlserver.somewhere.com
username: dbusername
password: "dbpassword"
encoding: utf8
Необходимо добавить строку PassengerDefaultUser в / etc / apache2 / mods-available / passenger .conf (оставьте две другие строки одинаковыми, даже если они немного отличаются)
<IfModule mod_passenger.c>
PassengerDefaultUser www-data
PassengerRoot /usr
PassengerRuby /usr/bin/ruby
</IfModule>
Измените /etc/apache2/sites-available/000-default.conf, чтобы вставить следующее с другими разделами, чтобы apache знает, чтобы следовать символической ссылке в Rails. Также обратите внимание на настройку первой строки Document Root, которая была одним из моих личных камней преткновения.
DocumentRoot /var/www/html/redmine
<Directory /var/www/html/redmine>
RailsBaseURI /redmine
PassengerResolveSymlinksInDocumentRoot on
</Directory>
Нам также нужно скопировать содержимое папки files из / opt / redmine / files на старом сервере в новый сервер в том же месте.
Также скопируйте настройки электронной почты в /opt/redmine/config/configuration.yml.
Затем перезапустите сервер, и он должен работать.