Dieser Artikel basiert auf der Debian-Serie (Ubuntu-Serie).
WebDAV-Methoden sind auch im Standard-Deb-Paket von nginx enthalten, es gibt jedoch keine Methoden für einige Funktionen (PROPFIND, OPTIONS), und einige Apps funktionieren möglicherweise nicht richtig. Schreiben Sie daher einen Artikel, um diese Methode hinzuzufügen Ich schreibe.
Die Version wird in * im Artikel geschrieben.
Es ist nicht im Standardmodul enthalten, daher müssen Sie das Modul hinzufügen, um Nginx zu erstellen.
Rufen Sie den Nginx-Quellcode mit dem Befehl apt ab.
Das Verzeichnis spielt keine Rolle, aber es ist eine gute Idee, es um `` / usr / src /
`zu setzen.
# apt source nginx
Wenn die Bestellung abgeschlossen ist, wird der Quellcode (`nginx- *. *. *`
) Im aktuellen Verzeichnis abgelegt.
Abhängige Pakete werden in Build-abhängig von der Datei `` `debian / control``` im Quellstammverzeichnis geschrieben. Installieren Sie sie also, indem Sie sich darauf verlassen. Die abhängigen Pakete der diesmal installierten Version (1.16.1) lauten wie folgt.
# apt install debhelper dh-systemd dpkg-dev quilt lsb-release libssl-dev libpcre3-dev zlib1g-dev
Führen Sie den folgenden Befehl im Quellstammverzeichnis aus.
# git clone https://github.com/arut/nginx-dav-ext-module.git
Nehmen Sie dann einige Änderungen vor, um daraus ein Deb-Paket zu machen.
debian/rules
#Kürzung
# 39~In der Nähe der Linie 41
config.status.nginx: config.env.nginx
cd $(BUILDDIR_nginx) && \
#Gegen Ende" --add-module=/path/to/nginx-*.*.*/nginx-dav-ext-module "Hinzufügen.
#Ändern Sie das Verzeichnis entsprechend.
CFLAGS="" ./configure --prefix=/etc/nginx ... --add-module=/path/to/nginx-*.*.*/nginx-dav-ext-module
touch $@
# 44~In der Nähe der Linie 46
config.status.nginx_debug: config.env.nginx_debug
cd $(BUILDDIR_nginx_debug) && \
#Das gleiche wie oben hinzugefügt.
CFLAGS="" ./configure --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx ... --add-module=/path/to/nginx-*.*.*/nginx-dav-ext-module
touch $@
# (Kürzung)
Alles was Sie tun müssen, ist dies zu tun und zu warten.
# dpkg-buildpackage -uc -b
Bei Erfolg befindet sich das Deb-Paket über dem Quellstammverzeichnis.
Alles was Sie tun müssen, ist es mit dpkg zu installieren.
# dpkg -i nginx_*.*.*_*.deb
Führen Sie nach Abschluss der Installation den folgenden Befehl aus, um dies zu überprüfen.
$ nginx -V
in konfigurieren Argumente--with-http_dav_Modul und--add-module=/path/to/nginx-*.*.*/nginx-dav-ext-Wenn das Modul enthalten ist, sind Sie fertig.
# einstellen
Ich werde die groben Einstellungen weglassen. Bitte ändern Sie es willkürlich.
```nginx
location / {
#Bei Bedarf einstellen
# auth_basic "Authorize dialog message";
# auth_basic_user_file /path/to/.htpasswd;
#Festlegung von Standardmethoden und Methoden für Zusatzmodule
dav_methods PUT DELETE MKCOL COPY MOVE;
dav_ext_methods PROPFIND OPTIONS;
#Einstellungen zum Anzeigen der Dateiliste
autoindex on;
autoindex_exact_size off;
autoindex_localtime on;
#Lese- / Schreibberechtigungseinstellungen
dav_access user:rw group:rw all:r;
#Ermöglichen Sie die temporäre Erstellung von Dateien / Verzeichnissen
client_body_temp_path /var/www/.webdavtmp;
create_full_put_path on;
}
Starten Sie nginx neu und Sie sind fertig.
Recommended Posts