Redmine 3.4をUbuntu Server 16.04.2 LTSにインストールする手順
最小構成でインストールしたUbuntu Server 16.04.2 LTSにRedmine 3.4をインストールする手順です。
このページに記載した手順を自動的に実行するAnsibleのplaybookを公開しています。ぜひご利用ください。インストール直後のUbuntu Server 16.04.2でコマンドを数個入力するだけでRedmineが構築できます。
https://github.com/farend/redmine-ubuntu-ansible
※CentOS版の記事もあります ▶ RedmineをCentOSにインストールする手順
本手順で作成される環境
本手順で作成される環境は以下のとおりです。
ソフトウェア | バージョン |
---|---|
Redmine | Redmine 3.4 |
OS | Ubuntu Server 16.04.2 LTS |
データベース | PostgreSQL 9.5.2 |
webサーバ | Apache 2.4.18 (Railsの実行にはPassengerを使用) |
Ruby | 2.2.3 |
OSの設定
ja_JP.UTF-8ロケールの作成
PostgreSQLで日本語を正しく扱う(lc_collate
とlc_ctype
に ja_JP.UTF-8
を設定する)ために必要です。
sudo locale-gen ja_JP.UTF-8
Ubuntuインストール時に言語として日本語を選択した場合はすでに作成されていますが、本手順では海外業者のサーバなども考慮して念のために実行しておきます。
必要なパッケージのインストール
Redmineを使用するにあたり、必要なパッケージのインストールを行います。
パッケージ管理システムのデータベースを最新に更新
sudo apt-get update
RubyとPassengerのビルドに必要な開発ツールやヘッダファイルのインストール
sudo apt-get install -y build-essential zlib1g-dev libssl-dev libreadline-dev libyaml-dev libcurl4-openssl-dev libffi-dev
PostgreSQLとヘッダファイルのインストール
sudo apt-get install -y postgresql postgresql-server-dev-9.5
Apacheとヘッダファイルのインストール
sudo apt-get install -y apache2 apache2-dev libapr1-dev libaprutil1-dev
ImageMagickとヘッダファイル・日本語フォントのインストール
sudo apt-get install -y imagemagick libmagick++-dev fonts-takao-pgothic
そのほかのツールのインストール
sudo apt-get install -y subversion git
Rubyのインストール
ソースコードのダウンロード
RubyのオフィシャルサイトのダウンロードページからRuby2.3の最新のソースコードをダウンロードしてください。
http://www.ruby-lang.org/ja/downloads/
curl -O https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.1.tar.gz
Rubyのビルド
ダウンロードしたRubyのtarballを展開し、Rubyのビルドとインストールを行ってください。
tar xvf ruby-2.4.1.tar.gz cd ruby-2.4.1 ./configure --disable-install-doc make sudo make install cd ..
configure
実行時に--disable-install-doc
を指定することでRubyのドキュメントのインストールを回避でき作業時間を短縮できます。
作業後、 ruby -v
を実行してRubyのバージョンを表示させ、Rubyがインストールできたことを確認してください。
ruby -v ruby 2.4.1p111 (2017-03-22 revision 58053) [x86_64-linux]
bundlerのインストール
Ruby用のパッケージ管理ツールであるbundlerをインストールします。Redmineが使用するgemパッケージをインストールするのに使われます。
sudo gem install bundler --no-rdoc --no-ri
--no-rdoc --no-ri
はドキュメントのインストールを省略するためのオプションです。
PostgreSQLの設定
Redmine用ユーザーの作成
sudo -u postgres createuser -P redmine Enter password for new role: (PostgreSQLの redmine用ユーザーに設定するパスワードを入力) Enter it again: (パスワード再入力)
※ PostgreSQLのユーザー redmine には任意のパスワードを設定してください。このパスワードは後述のdatabase.ymlの設定で使用します。
Redmine用データベースの作成
sudo -u postgres createdb -E UTF-8 -l ja_JP.UTF-8 -O redmine -T template0 redmine
Redmineのインストール
Redmineのダウンロード
svn
コマンドを使ってRedmine 3.4.xの最新ソースコード一式をRedmineのデプロイ先のディレクトリにダウンロードしてください。以下の実行例では /var/lib/
直下のディレクトリ redmine
にソースコード一式をダウンロードします。
sudo mkdir /var/lib/redmine sudo chown www-data /var/lib/redmine sudo -u www-data svn co http://svn.redmine.org/redmine/branches/3.4-stable /var/lib/redmine
http://www.redmine.org/projects/redmine/wiki/Download
データベースへの接続設定
Redmineからデータベースへ接続するための設定を記述したファイルを作成します。
以下の内容でRedmineのインストールディレクトリ(例: /var/lib/redmine
)以下に config/database.yml
を作成してください。
production: adapter: postgresql database: redmine host: localhost username: redmine password: "********" encoding: utf8
※ ******** 部分は、PostgreSQL上に作成したredmine用ユーザーのパスワードです。
※ config/database.yml.example
に設定例が記載されているので参考にしてください。
設定ファイル config/configuration.yml
の作成
Redmineからメールサーバへ接続するための設定や日本語フォントファイルのパスを記述した設定ファイルを作成します。
以下の内容でRedmineのインストールディレクトリ以下に config/configuration.yml
ファイルを作成してください。
production: email_delivery: delivery_method: :smtp smtp_settings: address: "localhost" port: 25 domain: "example.com" rmagick_font_path: /usr/share/fonts/truetype/takao-gothic/TakaoPGothic.ttf
※ example.com
の部分は、Redmineを実行するサーバのFQDNとしてください。
※ config/configuration.yml.example
に設定例が記載されているので参考にしてください。
※ メールが送信されるようにするためには別途MTAのセットアップが必要です。
configuration.yml
ではアップロードされたファイルの保管場所や、データベースの暗号化なども設定できます。詳しくは configuration.yml の設定項目 をご覧ください。
Redmineのインストールディレクトリへ移動
cd /var/lib/redmine
gemパッケージのインストール
Rubyのパッケージ管理ツール「bundler」を使用してRedmineが依存するgemパッケージをインストールします。Redmineのインストールディレクトリで以下のコマンドを実行してください。
sudo -u www-data bundle install --without development test --path vendor/bundle
Redmineの初期設定と初期データ登録
Redmine動作に関する初期設定と初期データの登録を行います。下記のコマンドはRedmineのインストールディレクトリで実行してください。
セッション改ざん防止用秘密鍵の作成
下記コマンドを実行してください。
sudo -u www-data bundle exec rake generate_secret_token
データベースのテーブル作成
config/database.yml
で指定したデータベースにテーブルを作成します。
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 /var/lib/redmine/vendor/bundle/ruby/2.2.0/gems/htmlentities-4.3.1/lib/htmlentities/mappings/expanded.rb:465: warning: duplicated key at line 466 ignored: "inodot" Default configuration data loaded.
参考: デフォルトデータのロード
Passengerのインストール
Apache上でRedmineなどのRailsアプリケーションを実行するために使われるPhusion Passengerをインストールします。
sudo gem install passenger -v 5.1.12 --no-rdoc --no-ri
PassengerのApache用モジュールのインストール
下記コマンドを実行してApache用のモジュールのビルドとインストールを行ってください。
sudo passenger-install-apache2-module --auto --languages ruby
Apache用設定内容の確認
下記コマンドを実行するとApacheに追加すべき設定が表示されます。この情報はこの後Apacheの設定を行うときに使用します。
passenger-install-apache2-module --snippet
Apacheの設定
以下の内容で /etc/apache2/conf-available/redmine.conf
を作成してください。
# Redmineの画像ファイル・CSSファイル等へのアクセスを許可する設定。 # Apache 2.4のデフォルトではサーバ上の全ファイルへのアクセスが禁止されている。 <Directory "/var/lib/redmine/public"> Require all granted </Directory> # Passengerの基本設定。 # passenger-install-apache2-module --snippet で表示された設定を記述。 # 環境によって設定値が異なるため以下の5行はそのまま転記せず、必ず # passenger-install-apache2-module --snippet で表示されたものを使用すること。 # LoadModule passenger_module /usr/local/lib/ruby/gems/2.4.0/gems/passenger-5.1.6/buildout/apache2/mod_passenger.so <IfModule mod_passenger.c> PassengerRoot /usr/local/lib/ruby/gems/2.4.0/gems/passenger-5.1.6 PassengerDefaultRuby /usr/local/bin/ruby </IfModule> # 必要に応じてPassengerのチューニングのための設定を追加(任意)。 # 詳しくはPhusion Passenger users guide(https://www.phusionpassenger.com/library/config/apache/reference/)参照。 PassengerMaxPoolSize 20 PassengerMaxInstancesPerApp 4 PassengerPoolIdleTime 864000 PassengerStatThrottleRate 10
Apacheの設定の反映
下記コマンドを実行してApache起動時に /etc/apache2/conf-available/redmine.conf
が読み込まれるようにするとともに、起動中のApacheに設定内容を反映させてください。
sudo a2enconf redmine apache2ctl configtest sudo service apache2 reload
Apache上のPassengerでRedmineを実行するための設定
どのような形態(URL)でRedmineを利用するかによって設定が異なります。二つのパターンを例に挙げます。
パターン1: webサーバをRedmine専用として使用
webサーバのルートディレクトリでRedmineを実行するための設定です。「http://サーバIPアドレスまたはホスト名/」でRedmineにアクセスできます。
エディタで /etc/apache2/sites-enabled/000-default.conf
を開き DocumentRoot
をRedmineのpublicディレクトリ(例: /var/lib/redmine/public
)に変更してください。
DocumentRoot /var/www/html ↓ DocumentRoot /var/lib/redmine/public
設定変更後、Apacheを再起動してください。
apache2ctl configtest sudo service apache2 reload
パターン2: サブディレクトリでRedmineを実行
URLのサブディレクトリでURLにアクセスできるように設定します(例: http://サーバIPアドレスまたはホスト名/redmine
)。同じサーバでRedmine以外のアプリケーションを実行する場合や、複数のRedmineを実行する場合に便利な設定です。
前述の手順で作成したRedmine関係のApacheの設定ファイル /etc/httpd/conf.d/redmine.conf
に次のような設定を追加してください。以下の設定例のうち、強調部分がサブディレクトリ名です。
Alias /redmine /var/lib/redmine/public <Location /redmine> PassengerBaseURI /redmine PassengerAppRoot /var/lib/redmine </Location>
設定後、下記コマンドを実行してApacheを再起動してください。
apache2ctl configtest sudo service apache2 reload
インストール完了後の初期設定
インストールが完了しwebブラウザ経由でRedmineにアクセスできる状態になったら、日本語環境で使うための設定変更やユーザーの追加・プロジェクトの追加などを行います。
インストール後の初期設定手順については以下をご覧ください。
- Redmineを使い始めるための初期設定 (Redmine.JP)