2009年5月18日月曜日

Redmine CentOSにインストール

2010/07/20 CentOS5.5+PostgreSQL8.4.3+Redmine1.0RCをアップしました。

Redmine+MySQLをCentOS上に構築したいと思います。
SCMは、Subversion以外にDarcs、Mercurial、Cvs、Bazaar、Gitに対応していますので
お好みのものを使うとよいでしょう。
 
インストール方法はRedmine.JPで公開されている情報を参考にしました。こちら

●MySQL(面倒なのでyumを使いRPM版を入れちゃいます)
インストールはroot権限で行います。

# yum install mysql mysql-server mysql-devel
# cp -p /usr/share/doc/mysql-server-4.1.22/my-medium.cnf /etc/my.cnf
# /etc/rc.d/init.d/mysqld start
# chkconfig mysqld on #自動起動ON

MySQLの初期設定とユーザの追加(ここではユーザにredmimeそして権限をフルにしちゃいます)
# mysql -u root
$ mysql> SET PASSWORD FOR root@localhost=PASSWORD('new_password');
$ mysql> DELETE FROM user WHERE password='';
$ mysql> GRANT ALL ON *.* TO redmine@"localhost"IDENTIFIED BY "redmineuser_password";
$ mysql> exit

Redmine用データベースの作成(unicodeにする)
# mysql -u redmine -p
$ mysql> CREATE DATABASE redmine DEFAULT CHARACTER SET utf8;
$ mysql> exit

●ruby on Railsの構築
インストールするRedmineは0.8.xなのでRubyは1.8.6 or 1.8.7 Railsは2.1.2となります。
# cd /usr/local/src/
# wget ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7-p160.tar.gz
# tar xzvf ruby-1.8.7-p160.tar.gz
# cd ruby-1.8.7-p160
# ./configure --prefix=/usr/local
# make
# make install
# ruby -v
ruby 1.8.7 (2009-04-08 patchlevel 160) [i686-linux]

# wget http://rubyforge.org/frs/download.php/45905/rubygems-1.3.1.tgz
# tar xzvf rubygems-1.3.1.tgz
# cd rubygems-1.3.1
# ruby setup.rb
# gem -v
1.3.1

# gem update --system (rubygemsが最新版に更新される。1.3.3になった)
# gem install rails --include-dependencies
# gem install rails -v 2.1.2
# rails -v
Rails 2.1.2

現在はこの方がいいかもしれません。
# gem install rake
# gem install rails -v=2.1.2 --include-dependencies
# gem update --system (必要に応じて)

●Redmineのインストール
運用ユーザ?の作成
# useradd redmine
# passwd redmine
# cd /usr/local/src/
# wget http://rubyforge.org/frs/download.php/54503/redmine-0.8.3.tar.gz

# tar xzvf redmine-0.8.3.tar.gz
# cp -rp redmine-0.8.3/* /home/redmine/
# chown redmine.redmine /home/redmine/*
※のちのちのアップグレードを考えておくと、ソースからインストールするより
 リポジトリからチェックアウトする方法がベスト!。
 # cd /home/redmine
 安定版:svn checkout http://redmine.rubyforge.org/svn/branches/0.8-stable ./
 開発版:svn checkout http://redmine.rubyforge.org/svn/trunk/ ./
 注意!Redmineのバージョンによってrubyやrailsのバージョンに制限があります。

# cd /home/redmine/
# cp -p ./config/database.yml.example ./config/database.yml
# vi ./config/database.yml

production:
 adapter: mysql
 database: redmine
 host: localhost
 username: redmine
 password: ユーザパスワード
 encoding: utf8
 socket: /var/lib/mysql/mysql.sock  #追記します(RPM版の場合だけ?)

V0.8.7以降の場合に実行する
# rake config/initializers/session_store.rb

データベース上にテーブルを作成
# rake db:migrate RAILS_ENV="production"

デフォルトのデータをデータベースに設定
# rake redmine:load_default_data RAILS_ENV="production"
Select language: bg, ca, cs, da, de, en, es, fi, fr, he, hu, it, ja, ko, lt, nl, no, pl, pt, pt-br, ro, ru, sk, sr, sv, th, tr, uk, vn, zh, zh-tw [en] で止まりますのでjaと入力します。

ディレクトリの追加
# pwd
/home/redmine
# mkdir tmp public/plugin_assets
# mkdir: cannot create directory `tmp': File exists
# mkdir: cannot create directory `public/plugin_assets': File exists
既に存在するようですね。無視して次へ行きましょう。

# chown -R redmine:redmine files log tmp public/plugin_assets
# chmod -R 777 files log tmp public/plugin_assets

PDFおよびCSV文字化け対策
# vi ./lang/ja.yml (UNICODEで書かれています)54行目付近
※0.9より./config/locales/になり、すでにCP932になっています。
general_pdf_encoding: UTF-8
general_csv_encoding: UTF-8
   ↓
general_pdf_encoding: SJIS CP932 ※Redmine.JPではCP932と紹介していたので同様に変更
general_csv_encoding: SJIS CP932
に変更する。(ただし完全に文字化けは防げない)

付属Webサーバで起動してみる
# cd /home/redmine/
# script/server -e production
=> Booting WEBrick...
=> Rails 2.1.2 application started on http://0.0.0.0:3000
=> Ctrl-C to shutdown server; call with --help for options

ポート3000番で起動されているので、http://hostname:3000/ でアクセスできます。
デフォルトユーザでadminがいますのでユーザ、パスワードにadminを入力してログインします。
以上で完了ですが、常にポート3000番で運用はどうかと・・・この際Apacheと連携させましょう。
 
● Apacheとの連携# gem install passenger

※Apacheをソースからインストールした場合は、apxs2、path環境変数を設定する必要があります。
インストール先pathはご自分の環境に合わせてください。
# export APXS2=/usr/local/apache/bin/apxs
# export PATH=/usr/local/apache/bin:$PATH
 
# passenger-install-apache2-module
依存関係で警告が出た場合はそれぞれを解消してください。

手順1~3が表示されますのでEnterで進みます。

ビルドに成功するとPassengerを組み込むためのhttpd.confの設定が表示されるので内容をコピーしておきます。
Please edit your Apache configuration file, and add these lines:

--ここから
LoadModule passenger_module /usr/local/lib/ruby/gems/1.8/gems/passenger-2.2.2/ext/apache2/mod_passenger.so
PassengerRoot /usr/local/lib/ruby/gems/1.8/gems/passenger-2.2.2
PassengerRuby /usr/local/bin/ruby
--ここまでを控えておく

After you restart Apache, you are ready to deploy any number of Ruby on Rails
applications on Apache, without any further Ruby on Rails-specific
configuration!

控えたらEnterで続行すると次のメッセージが表示され完了します。

Suppose you have a Ruby on Rails application in /somewhere. Add a virtual host
to your Apache configuration file, and set its DocumentRoot to
/somewhere/public, like this:

---ここから
<Virtualhost *:80>
ServerName www.yourhost.com
DocumenetRoot /somewhere/public # <-- be sure to point to 'public'!
</Virtualhost>
---ここまで控えておく(控えるほどではないが、要はDocumentRootにポイントあり)
     以下省略

httpd.confに先ほど控えた内容を追記する。
# vi /usr/local/apache/conf/httpd.conf
※RPMでインストールされている方は/etc/httpd/conf/httpd.conf

LoadModule passenger_module /usr/local/lib/ruby/gems/1.8/gems/passenger-2.2.2/ext/apache2/mod_passenger.so PassengerRoot /usr/local/lib/ruby/gems/1.8/gems/passenger-2.2.2 PassengerRuby /usr/local/bin/ruby

VirtualHostの内容は環境に合わせた内容にします。
 ただしDocumentRootはredmineのpublicというディレクトリに指定します。

<Virtualhost *:80>

ServerName RedmineHostName #名前がなければlocalhostやIPアドレスでも可
DocumentRoot /home/redmine/public  
  AllowOverride AuthConfig All
  Order allow,deny
  Allow from all
 

</Virtualhost>

Apacheユーザが書き込めるように権限を設定する。  (ユーザはhttpd.confにて要確認)
# cd /home/redmine
# chown -R apache:apache files log tmp config/environment.rb public/plugin_assets
※environment.rb にも権限を割り当てないとなぜか起動できない・・・まっいいか。
 
これでApache経由でアクセスすることができます。
Apacheを再起動してhttp://RedmineHostName/にアクセスしてみましょう。
 
●Redmine.JPおすすめ「インストール後の設定」
Redmineヘルプの日本語化
# vi /home/redmine/lib/redmine/info.rb
def help_url; 'http://www.redmine.org/guide' end
   ↓
def help_url; 'http://redmine.jp/guide/' end
に変更する。

Wikiヘルプの日本語化
# cd /home/redmine
# wget http://redmine.jp/files/wiki_syntax_ja/wiki_syntax_ja.tar.gz
# tar zxvf wiki_syntax_ja.tar.gz
wiki_syntax.html
wiki_syntax_detailed.html
# cp wiki_syntax.html wiki_syntax_detailed.html public/help/
上書きする。
 
●メール設定(使わなければ不要)
# cp ./config/email.yml.example ./config/email.yml
# vi ./config/email.yml

production:
 delivery_method: :smtp
 smtp_settings:
  address: smtp.example.net ← SMTPサーバを指定(127.0.0.1など)
  port: 25 ← ポートを指定
  domain: example.net ← ドメインを指定
  authentication: :login ← SMTP認証(不要なら:loginを消去)
  user_name: redmine@example.net ← SMTP認証(不要ならredmine@example.netを消去)
  password: redmine ← SMTP認証(不要ならredmineを消去)

Apacheを再起動して設定を反映させます。

●Web初期設定
初期管理者admin/adminでログオンして画面右上部のMy accountを選択選択する。
・Languageを「Japanese(日本語)」に変更する。
・タイムゾーンを「(GMT+09:00)Tokyo」に変更する。
・名前、苗字を決める。
 
左上部の管理>設定を選択する。
・全般タブ
 既定の言語:Japanese(日本語)
 ホスト名:ホスト名(例 redmine.example.comなど環境に合わせて)
 ユーザ名の表示書式:苗字 名前の並びを任意で設定

・メール通知タブ(使わなければ不要)
 送信元アドレス(redmineが送信するアドレス)
 その他必要な部分を変更します。※メールフッタ最後のhttp://~は変えた方がいいです。

・リポジトリタブ(使わなければ不要)
 リポジトリブラウザでutf-8以外(shift_jis, euc-jpなど)で記述されたソースコードを表示する。
 「管理」→「設定」→「リポジトリ」を開き、「リポジトリのエンコーディング」を次のように設定する。
 日本語文字コードの自動判別が行われるようになり、文字化けが解消するそうです。
 「utf-8,shift_jis,euc-jp」
 
※保存ボタンを忘れずに押してください。
 
以上で初期設定は完了です。
 
※googleのbloggerでは、すべて半角で書き込んだ<virtualhost>は表示されない?
 仕方ないので<>は全角で表記させていただきました。
 

0 件のコメント:

Google検索