月別アーカイブ: 2025年11月

ポートがふさがっていてmoinmoinが立ち上がらない【解決】

プロンプト:また MOINMOINが立ち上がらないんだけど、ポートをふさがれてるんだと思うんだよね。ポートをしていしてMOINMONを立ち上げる方法は?

Gemini 2.5 Pro:

なるほど、MoinMoin(Python製Wikiエンジン)が立ち上がらないのは、確かに**ポートの競合(他のプロセスが使用中)**が原因であることが多いです。
以下の手順で、ポートを指定してMoinMoinを起動する方法を説明します。


🧩 1. どのポートが使われているか確認

まず、デフォルトの8080ポートなどが他のプロセスで使われている可能性を調べましょう。

Windowsの場合(コマンドプロンプト)

netstat -ano | findstr :8080

LISTENING と表示されたら、すでに誰かが8080ポートを使っています。

その場合、右端の PID を確認して:

tasklist | findstr <PID番号>

で、どのアプリが使っているか分かります。


🧰 2. MoinMoinのポートを変更して起動

MoinMoin には moin コマンドがあります。
例えば、8081ポートで立ち上げたい場合は次のようにします。

コマンド例:

moin --config-dir=C:\moin\wiki\ --wiki-url=http://localhost:8081/ server standalone

あるいは、単純に:

moin server standalone --port 8081

Unix/Linux系の場合:

moin server standalone --port 8081

💡 3. 設定ファイルで固定する方法(任意)

もし毎回ポートを指定するのが面倒なら、
wikiconfig.py に以下のように設定を追加できます。

server_port = 8081

その後、単に:

moin server standalone

で自動的に8081ポートで起動します。


🧱 4. 他のプロセスを止めたい場合

もし8080ポートを空けたいなら:

netstat -ano | findstr :8080
taskkill /PID <PID番号> /F

で強制終了できます(※自己責任で実行)。


もし moin コマンドを実行しても「認識されません」と出る場合は、
環境変数PATHが通っていないか、仮想環境がアクティブになっていない可能性があります。


必要なら、あなたのMoinMoin環境(例:Windows版 or Docker版、インストール場所、使っているPythonのバージョン)に合わせて
正確な起動コマンドを作ります。
今どの環境で動かしてる?(例:Anaconda環境、cmdから実行、WSLなど)

 

プロンプト:(指示されたコマンドを実行して出力結果を伝えた)

Gemini 2.5 Pro:

ナイス調査です。8080番は

  • ApplicationWebServer.exe(PID 9456)
  • AgentService.exe(PID 6728)

に握られてます。なので解決は2択です。


すぐ動かす:MoinMoinを別ポートで起動

(おすすめ。安全・速い)

例:8081でローカルのみ公開

moin server standalone --hostname 127.0.0.1 --port 8081

WikiURLを使う場合は:

moin --wiki-url=http://127.0.0.1:8081/ server standalone --port 8081

moinが見つからない時は、Anacondaの仮想環境に入ってから
where moin でパスを確認してください。


8080を空ける:占有プロセスを止める

(どうしても8080が良い場合)

  1. まず「どのサービス名が裏で動かしているか」を見る:
tasklist /svc /fi "PID eq 9456"
tasklist /svc /fi "PID eq 6728"
  1. 一時停止(サービス名が分かったら):
sc stop "<サービス名>"
  1. もし一時停止できない/すぐ復活する場合は、一時的に強制終了
taskkill /PID 9456 /F
taskkill /PID 6728 /F

(※常駐系だと自動再起動します。恒久的に空けたいなら
services.msc で該当サービスの「スタートアップの種類」を無効に。)


うまくいかない時のチェック

  • 既に別のMoinが動いてる → 8081/8090など空きポートに変更
  • IPv6でLISTENだけ残ってる → --hostname 127.0.0.1 を明示
  • Windowsファイアウォールのブロック → 一度許可ダイアログに「許可」

まとめ(あなたの環境用、即実行コマンド)

今このまま起動するならコレでOK:

moin server standalone --hostname 127.0.0.1 --port 8081

8080死守なら、上の「サービス停止 → 再起動」手順で空けてから:

moin server standalone --hostname 127.0.0.1 --port 8080

必要なら wikiconfig.py

server_port = 8081

を入れて固定しておくと毎回楽です。