プロジェクト管理 · 1 min read · Jan 23, 2026
nginx上でのRedmineプロジェクト管理の実行 (Debian Wheezy)
nginx上でのRedmineプロジェクト管理の実行 (Debian Wheezy)
RedmineはRubyで書かれたプロジェクト管理ツールです。このチュートリアルでは、Debian Wheezy上のnginxウェブサーバーを介して、thin(高速Rubyウェブサーバー)を使用してRedmineを提供する方法を説明します。
これがあなたにとって機能することを保証するものではありません!
1 前提条件
私は、ユーザーweb1およびグループclient0が所有するドキュメントルート/var/www/example.com/web(ここにRedmineがインストールされます)を持つウェブサイトwww.example.comを準備しました。
また、Redmine用のMySQLデータベースc0db1も準備しました。ユーザー名もc0db1で、パスワードはFyZ5z4QGfhTf8です。
2 Redmineのインストール
まず、いくつかの前提条件をインストールします:
apt-get install thin ruby rake rubygems libopenssl-ruby libmysql-ruby librmagick-ruby ruby-dev libmysqlclient-dev libmagick-dev curlgem install sass
gem install compass最新のRedmineをダウンロードし、ドキュメントルート/var/www/example.com/webにコピーします:
cd /tmp
wget http://www.redmine.org/releases/redmine-2.4.2.tar.gz
tar xvfz redmine-2.4.2.tar.gz
mv redmine-2.4.2/* /var/www/example.com/web
cd /var/www/example.com/web
chown -R web1:client0 *MySQLデータベースのログイン情報を入力します:
cp config/database.yml.example config/database.yml
vi config/database.yml[...]
production:
adapter: mysql2
database: c0db1
host: localhost
username: c0db1
password: "FyZ5z4QGfhTf8"
encoding: utf8
[...]他の必要なパッケージをインストールし、データベースを埋めます:
apt-get install libmagickwand-devgem install rmagickgem install bundlerbundle install --without development test postgresql sqliterake generate_secret_tokenrake db:migrate RAILS_ENV="production"rake redmine:load_default_data RAILS_ENV="production"3 thinの設定
次に、nginxがリクエストをプロキシするRubyウェブサーバーthinを設定します。
ln -s /etc/thin1.9.1 /etc/thinmkdir /var/log/thin
chmod 755 /var/log/thin
cd /etc/thinドキュメントルートの所有者(web1)と同じ名前のthin設定ファイルを作成します:
vi web1.ymlログ、pid、ソケット、ユーザー行に正しいユーザー(web1)を、グループ行に正しいグループ(client0)を使用し、chdir行に正しいドキュメントルートを使用することを確認してください:
---
chdir: /var/www/example.com/web
environment: production
timeout: 30
log: /var/log/thin/web1.log
pid: /var/run/thin/web1.pid
max_conns: 1024
max_persistent_conns: 512
require: []
wait: 30
socket: /var/run/thin/web1.sock
daemonize: true
user: web1
group: client0
servers: 1
prefix: /thinがソケットを作成する/var/run/thinディレクトリを作成します:
mkdir /var/run/thin
chown -R web1:client0 /var/run/thinthinが起動したときにディレクトリが存在することを確認するために、/etc/init.d/thin初期化スクリプトのSCRIPT_NAME行の直後に次の行を追加します:
vi /etc/init.d/thin[...]
DAEMON=/usr/bin/thin
SCRIPT_NAME=/etc/init.d/thin
test -e /var/run/thin || install -m 755 -o web1 -g client0 -d /var/run/thin
[...]今、thinを起動します…
/etc/init.d/thin start… そして、それが作成するソケット(この場合は/var/run/thin/web1.0.sock)に注意してください - nginxの設定で必要になります:
root@server1:/etc/thin# /etc/init.d/thin start
[start] /etc/thin1.9.1/web1.yml ...
Starting server on /var/run/thin/web1.0.sock ...
root@server1:/etc/thin#Monitを使用している場合は、/etc/monit/monitrcに次の行を追加して、thinが常に実行されていることを確認できます:
vi /etc/monit/monitrc[...]
check process thin with pidfile /var/run/thin/web1.0.pid
start program = "/etc/init.d/thin start"
stop program = "/etc/init.d/thin stop"
[...]その後、Monitを再起動します:
/etc/init.d/monit restart4 nginxの設定
次に、Redmineにアクセスするためのnginx vhostを設定する必要があります。次の設定をserver {}コンテナ(またはISPConfigを使用している場合はnginxディレクティブフィールド)に貼り付けてください - 正しいthinソケットを使用していることを確認してください:
client_max_body_size 100M;
location / {
proxy_set_header X-Reak-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
if (-f $request_filename/index.html) {
rewrite (.*) $1/index.html break;
}
if (-f $request_filename.html) {
rewrite (.*) $1.html break;
}
if (!-f $request_filename) {
proxy_pass http://unix:/var/run/thin/web1.0.sock;
break;
}
}
これで完了です!今、あなたのウェブサイトを訪れて、Redmineを使用できるはずです。デフォルトのユーザー名はadmin、パスワードもadminです。


4 リンク
- Redmine: http://www.redmine.org/
- nginx: http://nginx.org/
- Debian: http://www.debian.org/
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。