📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)

 
(同じ利用者による、間の9版が非表示)
1行目: 1行目:
== 概要 ==
== 概要 ==
Redmineとは、課題管理や情報共有の機能を備えるプロジェクト運営を支援するためのオープンソースソフトウェアである。<br>
誰でも自由にRedmineをダウンロードし、インストールして利用することができる。<br>
<br>
Webアプリケーションとして動作するシステムであるため、Redmineが稼働している環境があり、Webブラウザがあれば、他にソフトウェアをインストールすることなく使用できる。<br>
また、情報が1ヶ所に集約されていますので、どこからでもアクセスでき、複数のメンバでも使用することもできる。<br>
<br>
Redmineは、ソフトウェア開発プロジェクトとの親和性が高く、SubversionやGit等のバージョン管理システムと連携できる。<br>
Redmine自体の開発プロジェクトもRedmineで管理されており、他のソフトウェアでも利用されている。<br>
<br>
Redmineが役立つ場面はソフトウェア開発だけではなく、様々な種類の事業プロジェクト、イベント開催、組織の日常的なタスク管理、顧客の問い合わせ対応の管理、社内業務フローの運用等、広範囲に活用できる。<br>
<br>
現代の業務環境では、タスクの管理やチーム内のコミュニケーションを効率的に行うことが求められるため、<br>
特にリモートワークの普及や複数のチームとの協業が当たり前となる中において、適切なツールの導入は業務の質を大きく向上させる要因となる。<br>
<br>
Redmineはそのような状況に最適なツールである。<br>
<br><br>


== Redmineの主な機能 ==
* チケット
*: Redmineの中核機能は、チケットを使用した課題や問題の追跡管理機能である。
*: やるべき作業をチケットとして登録する。
*: 課題、タスク、バグ等のしなければならない物事をチケットに登録して、作業を進めたらチケットを更新する。
*: チケットには担当者や期日を設定できるため、誰がどのタスクをいつまでにしなければならないのか、ひと目でわかるようになる。
<br>
* ガントチャート
*: プロジェクトを管理するために、課題を細かい作業単位に分け、全体の作業の流れと進捗を視覚的につかめるように並べた図をガントチャートと呼ぶ。
*: Redmineはガントチャート機能を備えている。
*: チケットを登録する時に開始日と期日を入力すると、チケットが自動的にガントチャートに反映され、作業の順番、予定、進捗がひと目で確認できるようになる。
<br>
* Wiki
*: プロジェクトや組織に関する文書やメモ等、用途を問わず作成できる。
*: 複数のページを作成して、ページを相互にリンクすることも簡単にできる。
*: また、編集履歴が残るため、比較や復元も容易にできる。
<br>
* バージョン管理システムの連携
*: SubversionやGit等のバージョン管理システムと連携できる。
*: コミットの履歴やリポジトリ内のファイルに内容等がRedmineの画面で参照できる。
*: ソフトウェア開発やシステム開発のプロジェクトを運営するときに便利な機能である。
<br><br>
<br><br>


== Rubyのインストール ==
== Rubyのインストール ==
Rubyのビルドに必要なライブラリをインストールする。<br>
Rubyのインストールについては、[[インストール - Ruby]]のページを参照すること。<br>
sudo zypper install gcc gcc-c++ autoconf bison gperf libopenssl-devel libopenssl-1_1-devel libyaml-devel zlib-devel \
                    readline-devel libedit-devel gmp-devel libffi-devel rust cargo ruby2.5-devel
<br>
[https://github.com/ruby/ruby RubyのGithub]にアクセスして、ソースコードをダウンロードする。<br>
ダウンロードしたファイルを解凍する。<br>
tar xf ruby-<バージョン>.tar.gz
cd ruby-<バージョン>
<br>
Rubyをビルドおよびインストールする。<br>
./autogen.sh
mkdir build && cd build
../configure --prefix=<Rubyのインストールディレクトリ> --program-suffix=<サフィックス> --disable-install-doc
make -j $(nproc)
make install
<br><br>
<br><br>


211行目: 232行目:
   
   
   # ...略
   # ...略
}
</syntaxhighlight>
<br>
==== NginXの設定 ====
NginXの設定ファイル(nginx.conf)において、<code>http</code>ディレクティブに、上記の設定が記述されているか確認する。<br>
vi nginx.conf
<br>
<syntaxhighlight lang="nginx">
# nginx.confファイル
http {
  # ...略
  passenger_root /<NginX向けPassangerのインストールディレクトリ>/passenger-6.0.17;
  passenger_ruby /<Rubyのインストールディレクトリ>/bin/ruby-3_0;
  # ...略
}
</syntaxhighlight>
<br>
==== 仮想ホストの構築 ====
NginXの設定ファイル(nginx.conf)において、<code>http</code>ディレクティブに、以下に示す設定を記述する。<br>
vi nginx.conf
<br>
<syntaxhighlight lang="nginx">
# nginx.confファイル
http {
  # ...略
  include /<NginXのインストールディレクトリ>/etc/conf.d/*.conf;
  include /<NginXのインストールディレクトリ>/etc/vhosts.d/*.conf;
  # ...略
}
</syntaxhighlight>
<br>
次に、NginXの仮想ホストファイルを作成する。<br>
vi /<NginXのインストールディレクトリ>/etc/vhosts.d/redmine.conf
<br>
<syntaxhighlight lang="nginx">
# /<NginXのインストールディレクトリ>/etc/vhosts.d/redmine.confファイル
# Ruby Application server Unicorn
upstream redmine {
    server unix:/<Redmineのインストールディレクトリ>/tmp/sockets/unicorn.sock;
}
server {
    listen      80;
    server_name  redmine;
    root        /<Redmineのインストールディレクトリ>/public;
    passenger_enabled on;
    client_max_body_size  10m; # Max attachemnt size
    # for redmine + unicorn
    location / {
        alias /<Redmineのインストールディレクトリ>/public;
        try_files $uri/index.html $uri.html $uri @redmine;
    }
    location @redmine {
        proxy_redirect off;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_connect_timeout 60;
        proxy_read_timeout 60;
        proxy_send_timeout 600;
        proxy_pass http://redmine;
    }
    # redirect server error pages to the static page /50x.html
    error_page  500 502 503 504  /50x.html;
    location = /50x.html {
        root  html;
    }
}
</syntaxhighlight>
<br>
==== httpsの使用 ====
自己証明書を作成する。<br>
* 秘密鍵の作成(パスフレーズなし)
*: ファイル名: server.key
*: <code>openssl genrsa -out server.key 2048</code>
*: <br>
* 証明書署名要求(CSR: Certificate Signing Request)の作成
*: ファイル名: server.csr
*: <code>openssl req -utf8 -new -key server.key -out server.csr</code>
*: 以下に示す項目を入力する。
*: <br>
*: Country Name (2 letter code) [XX]:                      <--- 国(ジャップならばJP)
*: State or Province Name (full name) []:                <--- 県
*: Locality Name (eg, city) [Default City]:                <--- 市
*: Organization Name (eg, company) [Default Company Ltd]:  <--- 会社・組織
*: Organizational Unit Name (eg, section) []:                                <--- 部門(未入力可)
*: Common Name (eg, your name or your server's hostname) []:alfa.torutk.com    <--- サーバドメイン名(未入力可)
*: Email Address []:                                                                                                                    <--- 管理者メール(未入力可)
*:
*: Please enter the following 'extra' attributes to be sent with your certificate request
*: A challenge password []:                  <-- (未入力可)
*: An optional company name []:        <-- (未入力可)
*: <br>
* ubject Alternative Name(SAN)情報の作成
*: ファイル名: san.txt
*: まず、最近のWebブラウザでは、Subject Alternative Name(SAN)を含めないとアクセスができないため、SAN情報をテキストファイルに記述する。
*: また、ワイルドカードを使用して、複数のホスト名に対応させることもできる。
*: <code>vi san.txt</code>
*: <br>
*: <code># san.txtファイル</code>
*: <code>subjectAltName = DNS:*.torutk.com</code>
*: <br>
* 自己署名証明書の作成
*: ファイル名: server.crt
*: <code>openssl x509 -in server.csr -out server.crt -extfile san.txt -req -signkey server.key -days 3650</code>
<br>
上記で作成した秘密鍵と自己署名証明書を、任意の場所に配置する。<br>
* server.key
* server.crt
<br>
Nginx設定ファイルの作成または編集する。<br>
vi nginx.conf
<br>
<syntaxhighlight lang="nginx">
# nginx.confファイル
upstream unicorn {
    server unix:/<Redmineのインストールディレクトリ>/tmp/unicorn.sock;
}
server {
    listen 80 default_server;
    listen [::]:80 default_server;
    server_name _;
    return 301 https://$host$request_uri;
}
server {
    listen 443 ssl http2 default_server;
    listen [::]:443 ssl http2 default_server;
    server_name _;
    root /<Redmineのインストールディレクトリ>/public;
    ssl_certificate    "<自己署名証明書ファイルのパス  例. /etc/pki/nginx/server.crt">;
    ssl_certificate_key "<秘密鍵ファイルのパス  例. /etc/pki/nginx/private/server.key">;
    ssl_session_cache shared:SSL:1m;
    ssl_session_timeout 10m;
    ssl_ciphers PROFILE=SYSTEM;
    ssl_prefer_server_ciphers on;
    include <Nginxの設定ファイル群があるディレクトリ  例. /etc/nginx/conf.d/*.conf>;
    client_max_body_size 10m;
    location / {
        try_files $uri/index.html $uri.html $uri @redmine;
    }
    location @redmine {
        proxy_redirect off;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_connect_timeout 60;
        proxy_read_timeout 60;
        proxy_send_timeout 600;
        proxy_pass http://redmine;
    }
    error_page 404 /404.html;
        location = /40x.html {
    }
    error_page 500 502 503 504 /50x.html;
        location = /50x.html {
    }
  }
  }
  </syntaxhighlight>
  </syntaxhighlight>
542行目: 742行目:


__FORCETOC__
__FORCETOC__
[[カテゴリ:CentOS]][[カテゴリ:SUSE]][[カテゴリ:Raspberry_Pi]]
[[カテゴリ:RHEL]][[カテゴリ:SUSE]][[カテゴリ:Raspberry_Pi]][[カテゴリ:Web]]