<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>qui-no Labs &#187; Linux</title>
	<atom:link href="http://labs.qui-no.com/category/linux/feed" rel="self" type="application/rss+xml" />
	<link>http://labs.qui-no.com</link>
	<description>株式会社キノの技術メモやTIPSなどの情報</description>
	<lastBuildDate>Tue, 10 May 2011 03:20:39 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>FTPをコマンドラインから便利に使う</title>
		<link>http://labs.qui-no.com/259</link>
		<comments>http://labs.qui-no.com/259#comments</comments>
		<pubDate>Fri, 18 Jun 2010 10:32:33 +0000</pubDate>
		<dc:creator>加藤 雄亮</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://labs.qui-no.com/?p=259</guid>
		<description><![CDATA[
皆さん、プログラムのデプロイはどうしていますか？？

通常scpやrsync、その他のデプロイツールを使用すれば、簡単かつ確実に運用サーバにプログラムを配備することが出来ます。

しかし、利用するサーバによって、FTP [...]]]></description>
			<content:encoded><![CDATA[<p>
皆さん、プログラムのデプロイはどうしていますか？？<br />
<br />
通常scpやrsync、その他のデプロイツールを使用すれば、簡単かつ確実に運用サーバにプログラムを配備することが出来ます。<br />
<br />
しかし、利用するサーバによって、FTP接続しか出来ない場合があります。<br />
LinuxのFTPコマンドは非常に使い勝手が悪く、ディレクトリ配下を全てアップロードする等という事が出来ません。<br />
また、ソースコードをローカルにダウンロードしてFTPソフトウェアでアップロードする方法は効率が悪く、アップロードしたく無いファイル等は事前に削除するなど、非常にミスを誘発しそうな作業です。<br />
<br />
サーバ上のコマンド一発でFTPアップロードが出来たら、確実に便利です。<br />
<br />
今回は、サーバ間でFTPアップロードが出来るシェルスクリプトを作成してみました。<br />
<span id="more-259"></span><br />
<h3 class="title">NcFTP Clientをインストール</h3>
まず、NcFTPという通常のFTPコマンドより使い易いコマンドを利用します。<br />
※NcFTPは <a href="http://www.ncftp.com/download/" target="_blank">Download NcFTP Client</a> からインストールしてください。<br />
<br />
<strong>ソースコードからインストールする場合</strong><br />
<pre class="brush: bash; title: ;">
# ソースコードをダウンロードします。
[user@centos ~]$ wget ftp://ftp.ncftp.com/ncftp/ncftp-3.2.4-src.tar.gz

# tarボールを解凍します。
[user@centos ~]$ tar zxvf ncftp-3.2.4-src.tar.gz

# Makeして実行ファイルを生成します。
[user@centos ~]$ cd ncftp-3.2.4
[user@centos ncftp-3.2.4]$ ./configure
[user@centos ncftp-3.2.4]$ make

# インストールします。
# デフォルトで /usr/local/bin に配置されます。
[user@centos ncftp-3.2.4]$ make install
</pre><br />
<br />
<br />
<h3 class="title">FTPアップロード シェルスクリプト</h3>
このスクリプトは、expectという会話形式通信を自動的に行うことができるコマンドを利用します。<br />
rsyncの&#8211;exclude-fromオプションのように、アップロードしたくないリストを記述したファイルを外部で管理する事も出来ます。<br />
<br />
<strong>deploy.sh</strong><br />
<pre class="brush: bash; title: ;">
#!/bin/bash

#
# deploy.sh
#
# 使用方法    : ./deploy.sh
# 設定ファイル: deploy.exclude.txt (非アップロードファイルがある場合のみ)
#

## Config ------------------------------------------------------
FTP_HOST='ftp.xxxxx.co.jp'        # FTPホスト名
FTP_USER='username'               # FTPユーザー名
FTP_PASS='password'               # FTPパスワード

SRC_DIR='/home/user/appname/'     # アップロード元ローカルディレクトリ
DEST_DIR='/'                      # アップロード先FTPサーバのログインディレクトリ
EXCLUDE_FILE='deploy.exclude.txt' # 非アップロード設定ファイル

## Parse Exclude File -------------------------------------------
parse_exclude_file()
{
    if [ ! -f $EXCLUDE_FILE ]; then
        return
    fi

    echo '[ Exclude Pattern ]'

    local base_ifs=&quot;${IFS}&quot;
    IFS='
'
    local file=(`cat $EXCLUDE_FILE`)
    IFS=&quot;${base_ifs}&quot;

    local line
    for line in &quot;${file[@]}&quot;
    do
        if echo $line | grep -q '^#'; then
            continue
        fi
        if [ -z &quot;${line}&quot; ]; then
            continue
        fi

        line=`echo $line | awk '{print $1}'`
        echo $line

        line=`echo $line | \
              sed 's:\.:\\\.:' | \
              sed 's:\*:\.*:' | \
              sed 's:^/:\^/:'`

        if [ -n &quot;${EXCLUDE_PATTERN}&quot; ]; then
            line=&quot; ${line}&quot;
        fi

        EXCLUDE_PATTERN=&quot;${EXCLUDE_PATTERN}${line}&quot;
    done
    echo
}

## Create Deploy List ------------------------------------------
create_deploy_list()
{
    echo '[ Deploy Target File ]'

    local list=`find $SRC_DIR | \
                grep -v CVS | \
                grep -v .svn | \
                grep -v .git`

    local file target
    for file in $list
    do
        if [ -d $file ]; then
            file=&quot;${file}/&quot;
        fi

        target=`echo $file | sed &quot;s:${SRC_DIR}::&quot;`
        if [ -z &quot;${target}&quot; -o &quot;${target}&quot; = '/' ]; then
            continue
        fi

        if is_exclude $target; then
            continue
        fi

        echo $target
        echo $target &gt;&gt;$TEMP_FILE
    done
    echo
}

## Is Exclude ---------------------------------------------------
is_exclude()
{
    local target=$1

    local pattern
    for pattern in $EXCLUDE_PATTERN
    do
        if echo &quot;/${target}&quot; | grep -q $pattern; then
            return 0
        fi
    done

    return 1
}

## FTP Upload --------------------------------------------------
ftp_upload()
{
    local base_ifs=&quot;${IFS}&quot;
    IFS='
'
    local list=`cat $TEMP_FILE`
    IFS=&quot;${base_ifs}&quot;

    cd $SRC_DIR
    expect - &lt;&lt;EOF
        set timeout -1

        spawn ncftp -u $FTP_USER -p $FTP_PASS $FTP_HOST

        expect &quot;ncftp*&gt;&quot;
        send &quot;cd $DEST_DIR\r&quot;

        foreach file {$list} {
            expect &quot;ncftp*&gt;&quot;
            if {[regexp {.*\/\$} \$file]} {
                send &quot;mkdir \$file\r&quot;
            } else {
                send &quot;put -fz \$file \$file\r&quot;
            }
        }

        expect &quot;ncftp*&gt;&quot;
        send &quot;exit\r&quot;
EOF
    echo
}

## Clean -------------------------------------------------------
clean()
{
    if [ -f &quot;${TEMP_FILE}&quot; ]; then
        rm -f $TEMP_FILE
    fi
}

## Main --------------------------------------------------------
EXCLUDE_PATTERN=''
parse_exclude_file
if [ $? -ne 0 ]; then
    echo &quot;[Error] Failed to parse the '${EXCLUDE_FILE}'.&quot; &gt;&amp;2
    exit $?
fi

TEMP_FILE=`mktemp`
create_deploy_list
if [ $? -ne 0 ]; then
    echo '[Error] Failed to create the source list.' &gt;&amp;2
    clean
    exit $?
fi

echo -n &quot;Do you upload it? [y/n]: &quot;
read ANSWER
if [ &quot;${ANSWER}&quot; != 'y' ]; then
    echo 'Canceled the upload.'
    exit
fi

ftp_upload
if [ $? -ne 0 ]; then
    echo '[Error] Upload failed.' &gt;&amp;2
    clean
    exit $?
fi

clean
echo '----'
echo &quot;'${FTP_HOST}' deploy success!&quot;

</pre><br />
<br />
<br />
<strong>deploy.exclude.txt</strong><br />
<pre class="brush: bash; title: ;">
#
# deploy exclude
#
# 除外ファイルの設定（除外したいファイルがある場合のみ）
#   deploy.exclude.txtファイルに除外パターンを記述する
#   例）
#     *.txt       *.txt と一致する全てのファイル名を除外
#     /foo/       ルートにある foo ディレクトリを除外
#     bar/*.log   bar ディレクトリ内の *.log に一致するファイルを除外
#

# ルートにあるappディレクトリを除外
/app/  # コメントも書けます

# ログファイルを除外
*.log

</pre><br />
<br />
<br />
<h3 class="title">実行例</h3>
以下のようなディレクトリ構成があるとします。<br />
<pre>
app/
app/1.txt
src/
src/2.txt
var/
var/3.log
</pre>
<br />
deploy.sh を実行すると、src/、src/2.txt、var/ のみがアップロード対象となります。<br />
<pre class="brush: bash; title: ;">
[user@centos ~]$ ./deploy.sh  ← プログラムを実行

[ Exclude Pattern ]
/app/
*.log

[ Deploy Target File ]
src/
src/2.txt
var/

Do you upload it? [y/n]: y  ← アップロードするか質問されます。「y」と応答

... FTPアップロード
...
...
--
deploy success.

</pre><br />
<br />
ご利用のサーバ環境に合わせて設定を変更すれば、簡単にサーバ間のFTPアップロードが出来るので、参考にして頂ければと思います。<br />
</p>
]]></content:encoded>
			<wfw:commentRss>http://labs.qui-no.com/259/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Redmine0.9.2の設定と運用</title>
		<link>http://labs.qui-no.com/170</link>
		<comments>http://labs.qui-no.com/170#comments</comments>
		<pubDate>Wed, 17 Feb 2010 06:21:51 +0000</pubDate>
		<dc:creator>加藤 雄亮</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://labs.qui-no.com/?p=170</guid>
		<description><![CDATA[
前回のエントリー「CentOSにRedmine0.9.2をインストール」で、とりあえずRedmineをインストールする事が出来ました。今回は、RedmineとApacheを連携させてバーチャルホストでの運用、またその他 [...]]]></description>
			<content:encoded><![CDATA[<p>
前回のエントリー「<a href="http://labs.qui-no.com/140">CentOSにRedmine0.9.2をインストール</a>」で、とりあえずRedmineをインストールする事が出来ました。今回は、RedmineとApacheを連携させてバーチャルホストでの運用、またその他の設定などをやってみたいと思います。<br />
<br />
<img src="http://labs.qui-no.com/uploads/redmine4.jpg" alt="" title="redmine4" width="420" height="111" class="alignnone size-full wp-image-182" />
<br />
※ここではRedmineと連携するHTTPサーバ（Apache）が構築済みという前提で進めていきます。<br />
<br />
<span id="more-170"></span><br />
<h3 class="title">Apacheとの連携</h3>
Apacheと連携するにはPassengerというRubyライブラリをインストールし、Apacheモジュール（mod_passenger.so）を作成します。<br />
参考：<a href="http://redmine.jp/tech_note/apache-passenger/" target="_blank">Apache上でRuby on Railsアプリケーションを動かす &#8211; Redmine.JP</a><br />
<pre class="brush: bash; title: ;">
# Passengerライブラリをインストールします。
[user@centos ~]$ gem install passenger --include-dependencies

# Apacheモジュールのビルドとインストールを行います。
# ビルドにはAPXSおよびAPRを必要とします。
[user@centos ~]$ passenger-install-apache2-module
...
Enterを押して進みます。

# 最後に設定内容が表示されます。
LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-2.2.9/ext/apache2/mod_passenger.so
PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-2.2.9
PassengerRuby /usr/bin/ruby

&lt;VirtualHost *:80&gt;
  ServerName www.yourhost.com
  DocumentRoot /somewhere/public    # &lt;-- be sure to point to 'public'!
  &lt;Directory /somewhere/public&gt;
     AllowOverride all              # &lt;-- relax Apache security settings
     Options -MultiViews            # &lt;-- MultiViews must be turned off
  &lt;/Directory&gt;
&lt;/VirtualHost&gt;

# 完了
</pre><br />
<br />
ここではRedmineのインストール先を/usr/local/redmineにしたので、DocumentRootとDirectoryディレクティブのPATHを「/usr/local/redmine/public」に変更します。<br />
httpd.confにPassengerの設定とバーチャルホストの記述を追加してApacheを再起動します。<br />
<pre class="brush: bash; title: ;">
# Apacheを再起動します。
[user@centos ~]$ /etc/init.d/httpd restart
httpd を停止中:                                           [  OK  ]
httpd を起動中:                                           [  OK  ]

# 完了
</pre><br />
<br />
これで任意のバーチャルホストでRedmineを動作させる事が出来ます。<br />
<br />
<h3 class="title">RMagickのインストール</h3>
RedmineはオプションでRMagickを利用してグラフ等の画像を出力出来るので、RMagickをインストールしてみます。<br />
<pre class="brush: bash; title: ;">
# ImageMagickをインストールします。
[user@centos ~]$ yum install ImageMagick ImageMagick-devel
...
Installed:
  ImageMagick.i386 0:6.2.8.0-4.el5_1.1
  ImageMagick-devel.i386 0:6.2.8.0-4.el5_1.1

Complete!
# 完了
</pre><br />
<br />
続いてRMagickをインストールします。<br />
現時点ではyumでインストールできるImageMagickのバージョンが6.2.8なのでRMagick 2系のインストールは出来ません。1系の最終バージョン(v1.15.17)をインストールする事にします。<br />
<pre class="brush: bash; title: ;">
[user@centos ~]$ /usr/local/src

# RMagickがTrueTypeフォントを必要とするのでRPM版をインストールします。
[user@centos src]$ wget http://www.zacharywhitley.com/linux/rpms/fedora/core/6/i386/msttcorefonts-2.0-1.noarch.rpm
[user@centos src]$ rpm -ivh msttcorefonts-2.0-1.noarch.rpm

# TrueTypeという名称でシンボリックリンクを作成します。
[user@centos src]$ ln -s /usr/share/fonts/msttcorefonts /usr/share/fonts/default/TrueType

# RMagickをインストールします。
# -vオプションでバージョン（1.15.17）を指定します。
[user@centos ~]$ gem install rmagick -v 1.15.17 --include-dependencies
...
# 完了
</pre><br />
<br />
<h3 class="title">ログ設定</h3>
RedmineはデフォルトでINFOレベル以上のイベントがログファイルに記録されるようになっています。INFOレベル以上の設定だとアクセスする度に毎回ログが記録され、いつの間にか膨大なログが溜まっているという状況になります。<br />
運用する際はWARNレベル以上のイベントをログファイルに記録するようにします。<br />
<pre class="brush: bash; title: ;">
[user@centos ~]$ vi /usr/local/redmine/config/environments/production.rb
# 以下をログ関連の記述箇所に追記します。
config.logger = Logger.new(config.log_path)
config.logger.level = Logger::WARN

# 保存して完了
</pre><br />
<br />
さらに、ログローテーションの設定を行います。設定内容は任意ですが、「copytruncate」コマンドだけは最低限記述するようにしておきます。<br />
<pre class="brush: bash; title: ;">
# redmine用のログローテーション設定ファイルを新規作成します。
[user@centos ~]$ vi /etc/logrotate.d/redmine
/usr/local/redmine/log/*.log {
    missingok
    notifempty
    compress
    copytruncate
}

# 保存して完了
</pre><br />
<br />
<h3 class="title">その他の設定</h3>
Redmine.JPやRedmine.JP Blogで紹介されている記事の中でRedmineを使い易くするために実施しておくと良いものを挙げてみます。<br />
<ul>
    <li><a href="http://redmine.jp/faq/general/change-help-url-to-gude-ja/" target="_blank">ヘルプの日本語化</a></li>
    <li><a href="http://redmine.jp/faq/wiki/wiki_syntax_ja/" target="_blank">wikiのヘルプを日本語化</a></li>
    <li><a href="http://redmine.jp/faq/issue/send_reminders/" target="_blank">期限日が間近のチケットをメールで通知する</a></li>
    <li><a href="http://blog.redmine.jp/articles/redmine-0_9-url-to-fetch-changesets/" target="_blank">コミットと同時にリポジトリの情報を取得する</a></li>
</ul>
<br />
トラブル等がある場合は「<a href="http://redmine.jp/faq/" target="_blank">FAQ &#8211; Redmine.JP</a>」を見る解決するかもしれませんので参考にしてみてください。</p>
]]></content:encoded>
			<wfw:commentRss>http://labs.qui-no.com/170/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>CentOSにRedmine0.9.2をインストール</title>
		<link>http://labs.qui-no.com/140</link>
		<comments>http://labs.qui-no.com/140#comments</comments>
		<pubDate>Wed, 17 Feb 2010 03:58:53 +0000</pubDate>
		<dc:creator>加藤 雄亮</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://labs.qui-no.com/?p=140</guid>
		<description><![CDATA[
最近のプロジェクト管理ツールの中で人気が高いRedmineの最新版0.9.2をCentOS5.4へインストールしてみたいと思います。
Redmine0.9系ではプロジェクトの階層化やユーザー管理、通知等が改善され、さら [...]]]></description>
			<content:encoded><![CDATA[<p>
最近のプロジェクト管理ツールの中で人気が高いRedmineの最新版0.9.2をCentOS5.4へインストールしてみたいと思います。<br />
Redmine0.9系ではプロジェクトの階層化やユーザー管理、通知等が改善され、さらに使いやすくなっています。<br />
<a href="http://blog.redmine.jp/articles/redmine-0_9-improvements/" target="_blank">Redmine 0.9の変更点 &#8211; Redmine.JP Blog</a><br />
<br />
<img src="http://labs.qui-no.com/uploads/redmine1.jpg" alt="" title="redmine1" width="400" height="78" class="alignnone size-full wp-image-164" />
<br />
※ここではRedmineで利用するデータベースサーバ（MySQL、SQLite等）とメールサーバが構築済みという前提で進めていきます。<br />
<span id="more-140"></span><br />
<h3 class="title">1. 既存Rubyのアンインストール</h3>
Redmineが使用するRubyライブラリはRuby1.8.6以上のバージョンが必要になります。<br />
yumインストールされているRubyのバージョンが古い場合は、一旦アンインストールします。<br />
<pre class="brush: bash; title: ;">
# rubyがインストールされているか確認します。
[user@centos ~]$ yum list installed | grep ruby
ruby.i386                1.8.5-5.el5_4.8                installed
ruby-libs.i386           1.8.5-5.el5_4.8                installed

# yum removeコマンドは依存ファイルも全て削除されてしまう為
# rpm -e --nodepsコマンドでRubyのみをアンインストールします。
[user@centos ~]$ rpm -e --nodeps ruby ruby-libs

# rubyがアンインストールされているか確認します。
[user@centos ~]$ yum list installed | grep ruby

# 完了
</pre><br />
<br />
<h3 class="title">2. Rubyのインストール</h3>
Rubyの最新版1.9系だとRedmineでテンプレートエラーが発生してしまうため、1.8系の最終バージョンをRPMビルドしてインストールします。<br />
現時点ではruby-1.8.7-p249です。<br />
※最新版は<a href="http://www.ruby-lang.org/ja/downloads/" target="_blank">ダウンロードサイト</a>で確認してください。<br />
<pre class="brush: bash; title: ;">
[user@centos ~]$ cd /usr/local/src

# ソースコードをダウンロードします。
[user@centos src]$ wget ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7-p249.tar.gz

# tarボールを解凍します。
[user@centos src]$ tar zxvf ruby-1.8.7-p249.tar.gz

# Makeして実行ファイルを生成します。
[user@centos src]$ cd ruby-1.8.7-p249
[user@centos ruby-1.8.7-p249]$ ./configure --prefix=/usr
[user@centos ruby-1.8.7-p249]$ make

# RPMパッケージングします。
# checkinstallは別途yum install checkinstall でインストールしてください。
[user@centos ruby-1.8.7-p249]$ checkinstall --fstrans=no
...
いくつか質問されますが、全て[Enter]で進めます。

以下のメッセージが表示されたら「R」を回答します。
Slackware [S], RPM [R] or Debian [D]? R　←　RPMを回答
...

**********************************************************************

 Done. The new package has been saved to

 /usr/src/redhat/RPMS/i386/ruby-1.8.7-p249-1.i386.rpm
 You can install it in your system anytime using:

      rpm -i ruby-1.8.7-p249-1.i386.rpm

**********************************************************************

# RPMパッケージをインストールします。
[user@centos ~]$ rpm -ivh /usr/src/redhat/RPMS/i386/ruby-1.8.7-p249-1.i386.rpm

# インストールされたRubyを確認します。
[user@centos ~]$ ruby -v
ruby 1.8.7 (patchlevel 249) [i686-linux]

# 完了
</pre><br />
<br />
<h3 class="title">3. RubyGemsのインストール</h3>
Rubyのパッケージ管理システムであるRubyGemsをインストールします。<br />
※最新版は<a href="http://rubyforge.org/frs/?group_id=126&amp;release_id=37073" target="_blank">ダウンロードサイト</a>で確認してください。<br />
<pre class="brush: bash; title: ;">
[user@centos ~]$ cd /usr/local/src

# ソースコードをダウンロードします。
[user@centos src]$ wget http://rubyforge.org/frs/download.php/60718/rubygems-1.3.5.tgz

# tarボールを解凍します。
[user@centos src]$ tar zxvf rubygems-1.3.5.tgz

# セットアップを実行します。
[user@centos src]$ ruby rubygems-1.3.5/setup.rb

# インストールされたRubyGemsを確認します。
[user@centos ~]$ gem -v
1.3.5

# 念のため最新版にアップデートします。
# 以降はこのコマンドで最新版にアップデートできます。
[user@centos ~]$ gem update --system
Updating RubyGems
Nothing to update

# 完了
</pre><br />
<br />
<h3 class="title">4. Rubyライブラリのインストール</h3>
Redmineが使用するフレームワークやその他のパッケージをインストールします。<br />
<br />
<strong>Railsフレームワーク</strong><br />
<pre class="brush: bash; title: ;">
[user@centos ~]$ gem install rails --include-dependencies
...
# しばらく時間がかかりますが、そのままにしておきます。
# 完了
</pre><br />
<br />
<strong>MySQL用のライブラリ</strong><br />
RedmineのデータベースにMySQLを使用します。<br />
SQLiteを使用する場合は「sqlite3-ruby」をインストールします。<br />
※テスト用途の場合はSQLite、運用ではMySQLを利用する方が良いです。<br />
<pre class="brush: bash; title: ;">
[user@centos ~]$ gem install mysql --include-dependencies
...
# 完了
</pre><br />
<br />
<h3 class="title">5. データベース作成</h3>
MySQLを利用する場合は、Redmine用のデータベースを作成します。<br />
ここでは、データベース（redmine）を作成し、専用ユーザー（redmine_user）にredmineデータベースの全ての操作権限を付与しておきます。<br />
<pre class="brush: bash; title: ;">
[user@centos ~]$ mysql -u root -p
*******　←　パスワード

# redmineデータベースを作成します。
mysql&gt; CREATE DATABASE `redmine` CHARACTER SET utf8;
Query OK, 1 row affected (0.00 sec)

# 作成したデータベースを確認します。
# ※データベース名は任意の値に変更してください。
mysql&gt; SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| redmine            |　←　作成したデータベース
+--------------------+
3 rows in set (0.01 sec)

# redmineデータベースを操作するユーザーを作成します。
# ユーザー名：redmine_user、パスワード：redmine_password
# ※ユーザー名、パスワードは任意の値に変更してください。
mysql&gt; GRANT ALL PRIVILEGES ON `redmine`.`*` TO 'redmine_user'@'localhost' IDENTIFIED BY 'redmine_password';
Query OK, 1 row affected (0.00 sec)

mysql&gt; \q

# 完了
</pre><br />
<br />
<h3 class="title">6. Redmineのインストール</h3>
Redmineは最新版の0.9.2をインストールします。<br />
※最新版は<a href="http://rubyforge.org/frs/?group_id=1850" target="_blank">ダウンロードサイト</a>で確認してください。<br />
<pre class="brush: bash; title: ;">
[user@centos ~]$ cd /usr/local/src

# ソースコードをダウンロードします。
[user@centos src]$ wget http://rubyforge.org/frs/download.php/69052/redmine-0.9.2.tar.gz

# tarボールを解凍します。
[user@centos src]$ tar zxvf redmine-0.9.2.tar.gz

# ソースコードを配置します。※場所は任意
# ここでは、/usr/local/redmine-0.9.2 にソースを配置し、
# /usr/local/redmine でアクセスできるようにシンボリックリンクを作成しておきます。
[user@centos src]$ mv redmine-0.9.2 /usr/local/
[user@centos src]$ ln -s /usr/local/redmine-0.9.2 /usr/local/redmine

# 完了
</pre><br />
<br />
<h3 class="title">7. Redmineの設定</h3>
<strong>データベースの環境設定</strong><br />
<pre class="brush: bash; title: ;">
# 設定ファイルを作成します。
[user@centos ~]$ mv /usr/local/redmine/config/database.yml.example \
/usr/local/redmine/config/database.yml

# データベース設定を編集します。
# 環境に応じて項目を変更します。
[user@centos ~]$ vi /usr/local/redmine/config/database.yml
# MySQLを使用する場合
production:
  adapter: mysql
  database: redmine　←　作成したデータベース名
  host: localhost
  username: redmine_user　←　作成したユーザー名
  password: redmine_password　←　作成したパスワード
  encoding: utf8

# SQLiteを使用する場合
production:
  adapter: sqlite3
  database: db/redmine.db

# 保存して完了
</pre><br />
<br />
<strong>メールの環境設定</strong><br />
<pre class="brush: bash; title: ;">
# 設定ファイルを作成します。
[user@centos ~]$ mv /usr/local/redmine/config/email.yml.example \
/usr/local/redmine/config/email.yml

# メール設定を編集します。
# 環境に応じて項目を変更します。
[user@centos ~]$ vi /usr/local/redmine/config/email.yml
production:
  delivery_method: :smtp
  smtp_settings:
    address: localhost　←　自サーバ内にメールサーバがある場合
    port: 25
    domain: example.net　←　ドメイン名
    #authentication: :login　　　　　　←認証が必要無い場合はコメントアウト
    #user_name: &quot;redmine@example.net&quot;　←認証が必要無い場合はコメントアウト
    #password: &quot;redmine&quot;　　　　　　　 ←認証が必要無い場合はコメントアウト

# 保存して完了
</pre><br />
<br />
<strong>環境設定</strong><br />
<pre class="brush: bash; title: ;">
# 30文字以上のランダム文字列を生成します。
# mkpasswdはexpectパッケージがインストールされている必要があります。
[user@centos ~]$ mkpasswd -l 30 -C 0 -s 0
hokmgzmqglnjes2pvkkxtdmpb2ynwr

# 設定ファイルを作成します。
[user@centos ~]$ mv /usr/local/redmine/config/additional_environment.rb.example \
config/additional_environment.rb

# 環境設定ファイルを編集します。
[user@centos ~]$ vi /usr/local/redmine/config/additional_environment.rb
# 以下を追加します。
# :secret の部分は生成したランダム文字列を記述します。
config.action_controller.session = { :key =&gt; &quot;_myapp_session&quot;, :secret =&gt; &quot;hokmgzmqglnjes2pvkkxtdmpb2ynwr&quot; }

# 保存して完了
</pre><br />
<br />
<h3 class="title">8. Redmineの初期化</h3>
データベースの初期化を行います。<br />
<pre class="brush: bash; title: ;">
[user@centos ~]$ (cd /usr/local/redmine; rake db:migrate RAILS_ENV=production)
(in /usr/local/redmine-0.9.2)
==  Setup: migrating ========================================================
...

# 完了
</pre><br />
<br />
<h3 class="title">9. Redmineの起動</h3>
<pre class="brush: bash; title: ;">
# サーバを起動します。
[user@centos ~]$ /usr/local/redmine/script/server -e production
=&gt; Booting WEBrick
=&gt; Rails 2.3.5 application starting on http://0.0.0.0:3000
=&gt; Call with -d to detach
=&gt; Ctrl-C to shutdown server
...

# サーバを終了する場合は Ctrl-C でシャットダウンします。
</pre><br />
<br />
デフォルトではポート番号3000番を使用してアクセスする事が出来ます。<br />
例：http://example.net:3000/<br />
<br />
初めてログインする場合は、以下でログインします。<br />
ログイン：admin<br />
パスワード：admin<br />
<a href="http://labs.qui-no.com/uploads/redmine2.jpg"><img class="alignnone size-medium wp-image-151" title="redmine2" src="http://labs.qui-no.com/uploads/redmine2-300x101.jpg" alt="" width="300" height="101" /></a><br />
<br />
ログイン後、右上の「My account」で言語を「Japanese（日本語）」に変更すると日本語のインターフェースになります。<br />
<a href="http://labs.qui-no.com/uploads/redmine3.jpg"><img class="alignnone size-medium wp-image-152" title="redmine3" src="http://labs.qui-no.com/uploads/redmine3-300x245.jpg" alt="" width="300" height="245" /></a><br />
<br />
とりあえずログイン後の設定として「管理」→「設定」で全体的な設定を行います。<br />
<ul>
	<li>「既定の言語」を「日本語」に。</li>
	<li>「送信元メールアドレス」を適宜変更。</li>
	<li>「認証が必要」を有効に。</li>
	<li>「ユーザは自分で登録できる」を無効に。</li>
</ul>
参考：<a href="http://redmine.jp/tech_note/install/" target="_blank">Redmineのインストール &#8211; Redmine.JP</a><br />
<br />
<br />
<br />
以上で、基本的なインストールが完了しました。<br />
次はApacheとの連携、運用などの設定をやりたいと思います。<br />
<a href="http://labs.qui-no.com/170">Redmine0.9.2の設定と運用</a></p>
]]></content:encoded>
			<wfw:commentRss>http://labs.qui-no.com/140/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

