0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

WindowsにRedmine6をセットアップ

Posted at

Webサーバの性能を考えますと、Redmineは、Linux に準備すべきと思うのですが、どうしても、Windowsサーバを使いなさいとの指示で、勉強してみました。
以前、Linux(debian想定)に準備したときの資料を参考にします。
RaspberryにRedmine6を立てる

Postgres
ダウンロードして、Installしましょう
https://www.postgresql.org/download/windows/
※何を使うにしても、新しいバージョン程、望ましいと思いますが、セットアップするRedmineが対応しているかも重要です。(私は17で作業しています)
image.png

Install作業は、概ね、デフォルトのままで問題ありません。
インストールが終わると、「pgAdmin4」という管理画面機能がありますが、
「SQL Shell (psql)」という機能も用意されており、Linuxのコマンド操作に慣れている方は、こちらが御勧めです。
という事で、私は後者のコマンド作業です。
CREATE ROLE redmine LOGIN ENCRYPTED PASSWORD 'password' NOINHERIT VALID UNTIL 'infinity';
※個人的には見慣れないオプションがあるので解説です
  ENCRYPTED: 指定されたパスワードが暗号化されて保存されます
  NOINHERIT: 権限を自動的に継承せず、GRANTコマンドで権限を付与する必要あり
  VALID UNTIL 'infinity': パスワードの有効期限が無期限です
CREATE DATABASE redmine WITH ENCODING='UTF8' OWNER=redmine;
redmine用のロールを作成し、データベースも作成します。

Ruby
ダウンロードして、Installしましょう
https://rubyinstaller.org/downloads/
Redmine6のrubyの対応は、3.3がmaxのようでした。
Install作業は、概ね、デフォルトのままで問題ありません。最後に、MSYS2のSetUpを行うようにしましょう。
MSYS2のセットアップ画面は、DOS窓になってます。とりあえず、
image.png
1.base installation
2.system update
の2つを順に実行しておきましょう。

Redmine
ダウンロードして、解凍しましょう
https://www.redmine.org/projects/redmine/wiki/Download
データベースの設定ファイルを更新しましょう

…redmine/config/database.yml
production:
  adapter: postgresql
  database: redmine
  host: localhost
  username: redmine
  password: "password"
  encoding: utf8

PowerShellを管理者で実行します。
カレントディレクトリをredmineのホームへ変更して、順にコマンドを実行します。
gem install bundler
bundle install
bundle exec rake generate_secret_token
bundle exec rake db:migrate RAILS_ENV=production
bundle exec rake redmine:load_default_data RAILS_ENV=production

起動して確認
$env:RAILS_ENV="production"
bundle exec puma -p 3001
image.png
image.png

※以前のRedmineのバージョンでは、Webサーバはwebricが用意されていました。
ただ、webricは、シングルスレッドで動作するため、同時リクエストの処理能力が低く、採用されなくなったのかなぁ...と。
現在採用されているのは、「puma」なのですが、windowsでは並行処理モードがサポートされず、並行処理能力が制限されています。 (これが冒頭のLinuxが良いと感じる理由です)
ちなみに、webサーバの設定を変更したい場合は、Redmineホームの「config.ru」を編集しましょう。

対応例)RestAPIで他のWebに利用したい場合の、「CORS」エラーへの対応
① Redmineのホームの「Gemfile」の最終行に、「gem 'rack-cors'」を追加
② bundle install
③ Redmineのホームの「config.ru」を編集 (utf8で更新しましょう)

…redmine/config.ru
require_relative 'config/environment'
require ::File.expand_path('../config/environment',  __FILE__)
require 'rack/cors'
use Rack::Cors do
  allow do
    origins 'http://localhost:3000'   # RestAPIを利用するサイト
    resource '/users.json', :headers => :any, :methods => [:get, :post, :options]   # 許可するリソースとHTTPメソッドを指定
  end
end
run Rails.application

以上の作業後、Redmineを再起動する事で、CORSエラーが解消します。

お疲れさまでした~。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?