1
1

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をセットアップ②

Last updated at Posted at 2025-07-06

前段
以前、然程困る事も無くセットアップできていたRedmine6ですが、
WindowsにRedmine6を立てる①
気が付けば同じ事をしてもセットアップが出来ない…と。 とても困りました。
【Aiに相談しながら色々試した事】
 1)Ruby のバージョンダウン(3.3 ⇒ 3.2 ⇒ 3.1) = 全滅 
 2)Visual Studio Build Tool の Install 
 3)gemの依存パッケージ含め、正常にセットアップされた頃に全指定
ここまでやってみて、全滅…と。心の折れた瞬間でした。

オーダーはWindowsを使い、Redmine6 を運用する事だったので、手を出した事の無い仮想の世界へ。。。
 1)Docker = ライセンスを確認すると、有料になる可能性があり = パス!
 2)Hyper-V = IPアドレスの管理が大変そう = パス!
 3)WSL2 = これしかない…と。

WSL2(セットアップ編)
前提として、Linuxをコマンドで扱える必要があります。
扱ってみて良かったと思う点。
 ・構築した環境をエクスポート&インポートで容易に移築可能、複数運用可能
 ・Microsoft Store から簡単にセットアップが可能
 (Microsoft Store に接続できなくても、Dockerイメージを利用可能)
 ※ Dockerイメージは、GitHubで共有されています
 ・軽量/安定/速度もOK
扱ってみて苦慮した事
 ・ポートフォワーディング
 ・Windowsのファイアウォール
【準備方法】
以下をざっと流し読みしましょう。
https://learn.microsoft.com/ja-jp/windows/wsl/install-manual

(以降のPowerShellは、管理者で実行します)
まずは、以下のコマンド2つを実行します。
WSL機能の有効化と、仮想マシン機能の有効化です。

PowerShellコマンドより
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

その後、Windowsを再起動します。
流し読みしたMicrosoft中段辺り、
「x64 マシン用 WSL2 Linux カーネル更新プログラム パッケージ」
というリンクが用意されています。(以下がリンク先でした)
https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
ダウンロードして実行すると、以下のような画面が起動しますので、Finish まで進めます。
image.png
その後、再度、PowerShellです。

PowerShellコマンドより
wsl --set-default-version 2
wsl --install -d Debian

この後は、Linuxが起動し、LinuxのユーザIDとパスワードの入力待ちとなります。
起動してしまえば、Linuxの世界なので、以下で対応が可能です。
RaspberryにRedmine6を立てる
注意点としては、パッケージをInstallしても、結構古い状態になります。

Linuxセットアップ
apt-get update
apt-get upgrade
apt-get install postgresql vim ruby ruby-dev libyaml-dev libpq-dev subversion build-essential
groupadd redminegrp
groupadd redminegrp
passwd redmine パスワード設定
passwd postgres パスワード設定
vi /etc/postgresql/15/main/pg_hba.conf (peerをパスワードに変更)
vi /etc/postgresql/15/main/postgresql.conf (localアクセスに変更)
su - postgres
createuser -P redmine
createdb -E UTF-8 -O redmine -T template0 redmine
exit
mkdir /test
chmod 777 -R /test
cd /test
svn co https://svn.redmine.org/redmine/branches/6.0-stable/ redmine
sudo chmod 777 -R redmine
cd redmine/config
cp database.yml.example database.yml
vi database.yml (db接続情報の準備)
cd /test/redmine
gem install bundler
bundle config set --local without 'production:rmagick'
bundle install
bundle exec rake generate_secret_token
RAILS_ENV=production bundle exec rake db:migrate
RAILS_ENV=production bundle exec rake redmine:load_default_data
bundle exec puma -e production -p 3000

WSL2(セットアップのやり直し編)
Linuxのセットアップ途中で、変な事をしてしまい、やり直したい時は以下です。
・WSLの一覧確認と不要環境の削除

PowerShellコマンドより
wsl -l -v

コマンド実行により、WSLの環境が確認できます。
image.png
不要な環境は削除することも可能です。

PowerShellコマンドより
wsl --unregister Debian12
wsl -l -v

image.png

WSL2(Linuxで作業を再開する時)
Linuxのメンテナンス作業を行いたい場合や、機能追加を行いたい場合

PowerShellコマンドより
wsl -d Debian  (Debianwslで確認したNAMEの部分)

とすると、Linuxが起動して、PowerShellからコンソールが切り替わります。
起動するLinuxは、起動するWindows内で仮のIPが附番されます。

WSL2(別のWindowsに移築する場合)
別の環境に移築する場合は、以下のコマンドでエクスポートとインポートが可能です。

PowerShellコマンドより
wsl --export debian1 c:\wsl\bk.tar
wsl --import DebianX C:\wsl\debian2 C:\WSL\bk.tar --version 2

エクスポート時:wslの名前を指定して、tarファイルで出力します
インポート時:wslの名前、保存先とtarファイルを指定します
(インポート時は、保存先を指定できるので、使い勝手が良いですよね)
tarファイルはパッケージを追加すれば、当然、サイズが大きくなるので注意しましょう。

WSL2(ポートフォワード)
LinuxにWebサービスを準備すると、準備したWindowsからは、localhostとしてアクセスが可能です。ただし同一ネットワーク上の別の環境からはアクセスできません。
そこでポートフォワードにより、外部からポート〇番でアクセスしてきたら、WSLのポート〇番を提供する…こんな定義を行います。

ポイント1) PUMAの起動を、どこからのアクセスでも受け付けるようにしましょう。

WSL内 Linuxコマンドより
bundle exec puma -e production -b tcp://0.0.0.0:3000

※PUMAのデフォルト起動で問題ない感触でした。
image.png

ポイント2) PowerShellにてポートフォワードします

PowerShellコマンドより
netsh interface portproxy add v4tov4 listenport=3000 listenaddress=0.0.0.0 connectport=3000 connectaddress=WSLIPアドレス

wslのIPアドレスは、PowerShellで、「wsl hostname -I」を実行すると確認できます。

ポイント3) Windowsのファイアウォール設定を変更しましょう
image.png
外部から3000番のポートで、WSL上のPUMAへ連携するので、3000番のポートを受信許可する必要があります。
(ポイント:まとめ)
FireWallの設定は行うしかありませんが、起動制御の部分は、AiにShellを作成して貰って、稼働を運用する事が可能です。(Aiを良きパートナーとして使いこなしましょう)

WSL2(Windowsのデータベースを使う場合)
Postgresは、Windowsにセットアップして別のアプリにも使う…。開発環境ではよくありそうな話ですよね。
ポイント1) Windowsのファイアウォール設定を変更しましょう
postgresのポート(デフォルト:5432)を開放します。
ポイント2) WSL上のRedmineのDB接続定義「database.yml」で、hostに、windowsのIPアドレスを指定します
ポイント3) Postgresのpg_hba.confの設定で、hostの受付を広く、0.0.0.0で設定します

WSLは、LinuxユーザがWindowsで何とかする場合に有効な手段となるようです。
(本音は、Linuxを準備すれば済むのに… の一択です)

以上、御疲れ様でした~

1
1
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
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?