<AI>
Rocky LinuxでNginx WebDAVを設定するには、
Nginxの標準モジュールと追加モジュール (nginx-module-dav-ext) の両方を設定する必要があります。
標準モジュールだけでは、一部のWebDAVメソッド(LOCK, UNLOCK, PROPFINDなど)がサポートされません。
以下に一般的な設定手順を示します。
前提条件
Rocky Linuxが稼働していること。
sudo権限を持つユーザーがいること。
Nginxがインストールされていること。
手順
1. 必要なモジュールのインストール
Nginxのデフォルトインストールには、WebDAVの全機能に必要なモジュールが含まれていない場合があります。
nginx-module-dav-ext パッケージをインストールします。
bash
sudo dnf -y install https://extras.getpagespeed.com/release-latest.rpm
sudo dnf -y install nginx-module-dav-ext
モジュールを有効にするため、/etc/nginx/nginx.conf の最上部に以下の行を追加します。
nginx
load_module modules/ngx_http_dav_ext_module.so;
2. WebDAV用ディレクトリの作成
WebDAVでファイルを共有するためのディレクトリを作成し、適切な権限を設定します。
bash
sudo mkdir -p /var/www/webdav
# Nginxの実行ユーザーに合わせて所有者を変更します (デフォルトはnginxユーザー)
sudo chown -R nginx:nginx /var/www/webdav
sudo chmod -R 755 /var/www/webdav
3. Nginxの設定
/etc/nginx/conf.d/webdav.conf (または /etc/nginx/nginx.conf 内の http または server ブロック)
に新しい設定ファイルを作成します。
nginx
server {
listen 80;
server_name your_domain.com; # ドメイン名またはIPアドレスに変更してください
location /webdav {
root /var/www/;
dav_methods PUT DELETE MKCOL COPY MOVE;
dav_ext_methods PROPFIND OPTIONS LOCK UNLOCK; # 追加モジュールによる拡張メソッド
create_mask 0644;
client_max_body_size 0; # ファイルサイズ制限なし
# Basic認証の設定 (セキュリティのため推奨)
auth_basic "WebDAV Realm";
auth_basic_user_file /etc/nginx/.htpasswd;
require valid-user;
}
}
4. WebDAVユーザーの作成
Basic認証で使用するパスワードファイルを作成します。
htpasswd ユーティリティを使用します(httpd-tools パッケージが必要かもしれません: sudo dnf install httpd-tools -y)。
bash
sudo htpasswd -c /etc/nginx/.htpasswd your_username # 最初のユーザー作成時は -c を使用
# 2人目以降のユーザー追加時
sudo htpasswd /etc/nginx/.htpasswd another_username
5. Nginxの設定テストと再起動
設定ファイルの構文をテストし、問題がなければNginxを再起動して変更を適用します。
bash
sudo nginx -t
sudo systemctl restart nginx
6. ファイアウォールの設定
ファイアウォールでHTTP(80番ポート、HTTPSを使用する場合は443番ポートも)トラフィックを許可します。
bash
sudo firewall-cmd --permanent --add-service=http
(sudo firewall-cmd --permanent --add-service=https # HTTPSを使用する場合)
sudo firewall-cmd --reload
7. 動作確認
WinSCP などのWebDAVクライアントを使用して、設定したURL (http://your_domain.com) で接続テストを行います。
Windows標準のネットワークドライブマッピング機能は、NginxのネイティブWebDAVモジュールと完全な互換性がない場合があるため、専用クライアントの使用が推奨されます。
本番環境では、セキュリティ向上のためHTTPS/SSL証明書の設定を強く推奨します。