この記事を作った動機
なんか最近 AUR に Stable Diffusion WebUIが出現していて気軽に試せそうだったのでインストールして使ってみたということがあった。
その過程で記録しておきたいことがあったので、Stable Diffusion WebUI の導入過程とともに記事を書こうと思った。
環境
System Details Report
Report details
- Date generated: 2025-07-13 20:41:10
Hardware Information:
- Hardware Model: HP ProLiant DL60 Gen9
- Memory: 32.0 GiB
- Processor: Intel® Xeon® E5-2620 v4 × 16
- Graphics: Unknown ※ GTX1080ti
- Disk Capacity: 30.0 TB
Software Information:
- Firmware Version: U15
- OS Name: Arch Linux
- OS Build: rolling
- OS Type: 64-bit
- GNOME Version: 48
- Windowing System: X11
- Kernel Version: Linux 6.15.5-arch1-1
導入
yay コマンドでインストール
yay -Sy stable-diffusion-webui
コンフィグの場所
/etc/stable-diffusion-webui/webui.conf
コンフィグの設定例(webui.conf)
DATA_DIR は専用にディレクトリを作り、変更した方がいいかもしれない。デフォルトの場所だと、モデルを配置したり出力された画像などにアクセスしずらい。
デフォルトだと、"/var/opt/stable-diffusion-webui/data"配下にモデルを配置する場所や、生成した画像が置かれてしまう。都合に合わせてユーザのホームディレクトリとか、適当な場所に専用のフォルダを設けた方が便利ではある。
# Flags to pass to the `accelerate launch` command
# See: https://huggingface.co/docs/accelerate/package_reference/cli#accelerate-launch
ACCELERATE_FLAGS="--num_cpu_threads_per_process=6"
# Flags for stable-diffusion-webui
# See: https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Command-Line-Arguments-and-Settings
#
# Example: WEBUI_FLAGS="--listen"
WEBUI_FLAGS="--listen --api --api-log --xformers --lowvram --disable-safe-unpickle --enable-insecure-extension-access"
# Path to save model files and outputs
DATA_DIR="/var/opt/stable-diffusion-webui/data"
サービスを設定し起動
sudo systemctl enable --now stable-diffusion-webui # 起動と有効化の両方
# sudo systemctl enable stable-diffusion-webui // PC が起動したときに立ち上がるようにするだけの時
# sudo systemctl start stable-diffusion-webui // 単に webui を起動するだけ
この時点で、localhost:7860
からは、webui にchromeなどからアクセスできると思われる。正しく起動していれば、とりあえず何か生成できるか試すこともできる。
httpd のプロキシ設定
私の場合はデータサーバとして専用に設けているPCに、今回 stable diffusion webui をインストールしたので、localhostだけで動かれるといちいちリモートデスクトップか何かで、直接サーバ内部の GUI 環境に入る必要があり不便であった。
なので、httpd のプロキシ機能を使って、プライベートなLAN内だけで運用している専用のドメイン名でアクセスされると、localhost:7860
として転送するように設定した。
この方法であれば、firewalld などの設定をわざわざ変えなくて済むという点からも管理的な意味合いでは都合がいい。
注意点としては、httpの設定だけでなく、websocket も localhost:7860
に転送する設定が必要であるというところがある。また、httpd 側の専用のモジュールも有効化が必要である。また今回は SSL の設定も混じっているが、そこについては大変すぎるので説明は省くことにする。
- /etc/httpd/conf/httpd.conf (モジュール周りの設定)
# 設定項目自体はすでに "#" でコメントアウトされて存在するので、必要な項目の行の "#" を消すだけでよい。
...
# 必要なモジュールの有効化
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so
LoadModule rewrite_module modules/mod_rewrite.so
# 必要な設定の書いてあるコンフィグファイルの有効化
Include conf/vhost/service.conf
# オプション
LoadModule ssl_module modules/mod_ssl.so # SSL の設定。一応ここは載せておく
...
- /etc/httpd/conf/extra/httpd-vhosts.conf (プロキシ設定本体)
...
<VirtualHost *:80>
# SSL (HTTPS) の設定なので今回はあまり関係がない
ServerName stable.internal.domain.name
Redirect permanent / https://stable.internal.domain.name/
</VirtualHost>
<VirtualHost *:443>
ServerName stable.internal.domain.name
# SSL (HTTPS) の設定なので今回の設定とはこの 3行はあまり関係ない
SSLEngine on
SSLCertificateFile "/etc/httpd/conf/ssl/stable.internal.domain.name.pem"
SSLCertificateKeyFile "/etc/httpd/conf/ssl/stable.internal.domain.name-key.pem"
# websocket 転送設定
RewriteEngine On
RewriteCond %{HTTP:Upgrade} =websocket [NC]
RewriteCond %{HTTP:Connection} upgrade [NC]
RewriteRule ^/(.*) "ws://localhost:7860/$1" [P,L]
# HTTP 転送設定
ProxyPreserveHost on
ProxyRequests off
ProxyPass / http://localhost:7860/
ProxyPassReverse / http://localhost:7860/
</VirtualHost>
...
モデルや生成画像の場所
✅
# DATA_DIR="/home/username/Documents/AI" の場合
/home/username/Documents/AI/models/Stable-diffusion # モデルを配置する場所
/home/username/Documents/AI/outputs # 生成された画像の場所
# デフォルト設定の場合
/var/opt/stable-diffusion-webui/data/models/Stable-diffusion # モデルを配置する場所
/var/opt/stable-diffusion-webui/data/outputs # 生成された画像の場所
## hint
# @ /etc/stable-diffusion-webui/webui.conf
# Path to save model files and outputs
# DATA_DIR="/var/opt/stable-diffusion-webui/data"
# @ /usr/lib/systemd/system/stable-diffusion-webui.service
# destdir="${DATA_DIR}/models/Stable-diffusion"; \
❌
/usr/share/stable-diffusion-webui/models/Stable-diffusion
/opt/stable-diffusion-webui/models/Stable-diffusion
関係のありそうなページ
参考にしたサイトとか
- AUR (en) - stable-diffusion-webui
https://aur.archlinux.org/packages/stable-diffusion-webui (2025年7月12日) - [Bug]: Error: Connection errored out. · Issue #9074 · AUTOMATIC1111/stable-diffusion-webui
https://github.com/AUTOMATIC1111/stable-diffusion-webui/issues/9074 (2025年7月12日) - node.js - WebSockets and Apache proxy: how to configure mod_proxy_wstunnel? - Stack Overflow
https://stackoverflow.com/questions/27526281/websockets-and-apache-proxy-how-to-configure-mod-proxy-wstunnel (2025年7月12日) - mod_proxy_wstunnel - Apache HTTP Server Version 2.4
https://httpd.apache.org/docs/current/mod/mod_proxy_wstunnel.html (2025年7月12日) - apache - .htaccess: Invalid command ‘RewriteEngine’, perhaps misspelled or defined by a module not included in the server configuration - Stack Overflow
https://stackoverflow.com/questions/10144634/htaccess-invalid-command-rewriteengine-perhaps-misspelled-or-defined-by-a-m (2025年7月12日) - How can I access the web UI of Stable Diffusion on my PC from another device in my home network? : r/HomeNetworking
https://www.reddit.com/r/HomeNetworking/comments/ybfhp6/how_can_i_access_the_web_ui_of_stable_diffusion/ (2025年7月13日) - ChatGPT
https://chatgpt.com/ (2025年7月12日)