Redmineのインストール手順を残しておく。
OS:GCP上にインストール済みのDebian(Linux instance-1 4.9.0-8-amd64)
Middleware系のインストール
Ruby関連
sudo apt install ruby-dev ruby bundler
Apache関連
sudo apt install apache2 libapache2-mod-passenger
ImageMagic関連
sudo apt install imagemagick libmagick++-dev
バージョン関連
sudo apt install git subversion
DB関連
sudo apt install mysql-server default-libmysqlclient-dev
DBの準備
今回は、MySQLを使用する。
MySQLの設定変更
Redmineの文字コードは、utf8mb4を使用する。
/etc/mysql/conf.d/redmine.cnf
[mysqld]
innodb_file_format = Barracuda
innodb_file_per_table = 1
innodb_large_prefix
character-set-server = utf8mb4
skip-character-set-client-handshake
collation-server = utf8mb4_general_ci
init-connect = SET NAMES utf8mb4
[mysql]
default-character-set = utf8mb4
[client]
default-character-set = utf8mb4
[mysqldump]
default-character-set = utf8mb4
データベース作成
- DB: Redmine
- User: redmine
- Password: pass
CREATE DATABASE redmine CHARACTER SET utf8mb4;
CREATE USER 'redmine'@'localhost' IDENTIFIED BY 'pass';
GRANT ALL PRIVILEGES ON redmine.* TO 'user'@'localhost';
FLUSH PRIVILEGES;
※作ったユーザーで、Mysqlが使えることを確認しておくこと。
Redmineインストール
今回使用するバージョンは、3.4-stableを指定。
ディレクトリ作成とダウンロード
sudo mkdir -p /var/www/redmine
sudo chown www-data:www-data /var/www/redmine
sudo -u www-data svn co http://svn.redmine.org/redmine/branches/3.4-stable /var/www/redmine
DB設定ファイルの作成
- /var/www/redmine/config/database.ymlに以下の内容でファイルを作成する。
production:
adapter: mysql2
host: localhost
database: redmine
username: redmine
password: pass
encoding: utf8mb4
socket: /var/run/mysqld/mysqld.sock
メール設定ファイルの作成
今回は、メール通知を使用しないため、Sampleをコピーする。
sudo cp /var/www/redmine/config/configuration.yml.example /var/www/redmine/config/configuration.yml
utf8mb4の有効化
- /var/www/redmine/config/initializers/utf8mb4.rbに以下の内容で作成する
ActiveSupport.on_load :active_record do
module ActiveRecord::ConnectionAdapters
class AbstractMysqlAdapter
def create_table_with_innodb_row_format(table_name, options = {})
table_options = options.merge(:options => 'ENGINE=InnoDB ROW_FORMAT=DYNAMIC')
create_table_without_innodb_row_format(table_name, table_options) do |td|
yield td if block_given?
end
end
alias_method_chain :create_table, :innodb_row_format
end
end
end
Redmineインストール開始
find | sudo xargs chown www-data:www-data
sudo -u www-data bundle install -j$(nproc) --without development test postgresql sqlite --path vendor/bundle
sudo -u www-data bundle exec rake generate_secret_token
sudo -u www-data RAILS_ENV=production bundle exec rake db:migrate
sudo -u www-data RAILS_ENV=production REDMINE_LANG=ja bundle exec rake redmine:load_default_data
何もエラーが出なければ、インストール完了
Apacheの設定
今回は、サブディレクトリで使用したいため、VirtualHostに追記
Alias /redmine /var/www/redmine/public
<Location /redmine>
PassengerBaseURI /redmine
PassengerAppRoot /var/www/redmine
</Location>