debian に Redmine をインストールしてみた
docker コンテナに Redmine を入れたメモです。
メールを送信するところはやってません。
インストールに四苦八苦して Redmine で何をしようとしていたかは忘れました。
この時の各種バージョンは次の通りです。
次のサイトを参考にしています。
準備
docker コンテナを起動します。
ホストの 8080 ポートからコンテナの 80 ポートを見に行く様にします。
$ docker -i -p 8080:80 -t debian bash
必要に応じて MySQL のデータ格納ディレクトリをローカルにバインドするなどしてください。
コンテナが起動したら Ruby と、その他 Gem 等で使われるパッケージをインストールします。
apt-get udpate apt-get install ruby ruby-dev apt-get install git vim apt-get install build-essential apt-get install imagemagick libmagickcore-dev libmagickwand-dev apt-get install libcurl4-openssl-dev apache2-threaded-dev libapr1-dev libaprutil1-dev libssl-dev
MySQL と Apache のインストール
要になる2つのサービスをインストールします。
# apt-get install mysql-server libmysqlclient-dev apache2
後で使う rake が gem の mysql2 0.3系じゃないとインストールされていると認識しないのでバージョン指定でインストールしました。
# gem install mysql2 -v 0.3.20 # service apache2 start # service mysql start
Redmine のインストール
git からソースを取得して /usr/lib/
以下に配置します。
# cd /tmp # git clone https://github.com/redmine/redmine.git redmine # mv redmine /usr/lib/
bundler で必要な gem をインストールします。
データベースは MySQL なので PostgreSQL や SQLite 関係を入れないようにオプションを入れておきます。
# cd /usr/lib/redmine/ # gem install bundler --no-rdoc --no-ri # bundle install --without development test postgresql sqlite
パーミッション等を変更します。
# cd ../ # chown www-data:www-data -R /usr/lib/redmine # cd redmine/ # chmod -R 755 files/ log/ tmp/ public/plugin_assets/
データベースの設定を行います。
ユーザ名やパスワード部分については適宜読み替えてください。root ユーザーのままでも動くようです。
# mysql --user=root --password=password --execute="create database redmine character set utf8;" # mysql redmine -p mysql> create user 'redmine'@'localhost' identified by 'my_password'; mysql> grant all privileges on redmine.* to 'redmine'@'localhost'; mysql> \q
Redmine から MySQL へ接続する設定を YAML に記録しておきます。
# vi /usr/lib/redmine/config/database.yml
中身は次のような感じで。
production: adapter: mysql2 database: redmine host: localhost username: redmine password: my_password encoding: utf8
トークンの作成などを行って Redmine セットアップの完了します。
# rake generate_secret_token # RAILS_ENV=production rake db:migrate
Apache の設定
まずは passenger をインストールしておきます。
# gem install passenger --no-rdoc --no-ri # passenger-install-apache2-module -a
passenger-install-apache2-module
はオプション無しで実行するとセットアップする言語等の設定ができますが、対話式 UI からコンパイルに抜けられなかったのでオートで実行するオプションを付けました。
流れて来るログの中に設定例が表示されるので、/etc/apache2/conf-enabled/passenger.conf
に書き込みます。
# vi /etc/apache2/conf-enabled/passenger.conf
今回はこんな感じの内容でした。
LoadModule passenger_module /var/lib/gems/2.1.0/gems/passenger-5.0.20/buildout/apache2/mod_passenger.so <IfModule mod_passenger.c> PassengerRoot /var/lib/gems/2.1.0/gems/passenger-5.0.20 PassengerDefaultRuby /usr/bin/ruby2.1 </IfModule>
passenger によって実行する RoR のディレクトリを指定しておきます。
DocumentRoot
の下の行あたりに追加すればいいようです。
# vi /etc/apache2/sites-available/000-default.conf RackBaseURI /redmine
ドキュメントルートの中に Redmine へのシンボリックリンクを張って完了
# cd /var/www/html # ln -s /usr/lib/redmine/public ./redmine # serviec apache2 restart
別のマシンから docker ホスト IP の 8080 ポート へアクセスすれば Apache の実行確認画面が表示され、 ~/redmine にアクセスすると Redmine が現れました。
Redmine で何を管理しようとしてたんだっけなぁ…。