การปรับใช้ WebDAV บน Debian 10 โดยใช้ WsgiDAV

บทนำ

Web Distributed Authoring and Versioning (WebDAV) เป็นส่วนขยาย HTTP ที่ให้เฟรมเวิร์กสำหรับการสร้างและแก้ไขไฟล์บนเซิร์ฟเวอร์จากระยะไกล WsgiDAV เป็นเซิร์ฟเวอร์ WebDAV ที่เขียนด้วยไพ ธ อน คู่มือนี้จะช่วยคุณในการติดตั้ง WsgiDAV เวอร์ชั่น 3.0 บนเซิร์ฟเวอร์ Vultr ที่ใช้ Debian 10 นอกจากนี้เรายังจะได้รับใบรับรอง SSL เพื่อให้การเชื่อมต่อที่ปลอดภัยเช่นเดียวกับการรับรองความถูกต้องของ PAM

ข้อกำหนดเบื้องต้น

  • ระบบ Debian 10 ที่คุณมีสิทธิ์เข้าถึง (ผ่านผู้ใช้รูทหรือผู้ใช้ sudo ใด ๆ )
  • $EDITORตัวแปรสภาพแวดล้อมจะต้องตั้งค่าโปรแกรมแก้ไขข้อความที่คุณเลือก
  • ต้องมีชื่อโดเมนที่ลงทะเบียน เซิร์ฟเวอร์ชื่อจะต้องกำหนดค่าด้วยAบันทึกที่ชี้ไปยังที่อยู่ IPv4 ของเซิร์ฟเวอร์ของคุณและเลือกAAAAบันทึกที่ชี้ไปยังที่อยู่ IPv6
  • แนะนำให้คุ้นเคยกับไวยากรณ์ YAML

ตัวยึดตำแหน่งdav.example.comจะใช้สำหรับชื่อโดเมนของเซิร์ฟเวอร์ของคุณ

การติดตั้ง

ใบรับรอง SSL

เราจะเริ่มต้นด้วยการปรับปรุงระบบและการได้รับใบรับรอง SSL ฟรีจากLet 's เข้ารหัส ในการทำเช่นนั้นก่อนอื่นให้อัพเดตระบบของคุณและติดตั้งcertbotยูทิลิตี้:

 sudo apt update
 sudo apt upgrade -y
 sudo apt install -y certbot

ในคำสั่งด้านล่างให้แทนที่dav.example.comและ[email protected]ด้วยชื่อโดเมนและที่อยู่อีเมลตามลำดับก่อนดำเนินการ:

sudo certbot certonly --standalone --agree-tos -m [email protected] -d dav.example.com

เซิร์ฟเวอร์ของคุณจะถูกส่งคำขอเพื่อยืนยันว่าคุณเป็นผู้ควบคุมชื่อโดเมนที่ระบุ ถ้ามันประสบความสำเร็จใบรับรองจะมีการออกและบันทึกไว้พร้อมกับไฟล์อื่น ๆ /etc/letsencrypt/live/dav.example.com/เช่นคีย์ส่วนตัวภายใต้

กำลังติดตั้ง WsgiDAV

ก่อนอื่นให้ติดตั้งตัวจัดการแพคเกจหลามpip:

sudo apt update
sudo apt install -y python3-pip

WsgiDAV ต้องการเซิร์ฟเวอร์ HTTP ที่สนับสนุน WSGI เราจะติดตั้งตัวเลือกเริ่มต้นซึ่งเป็น Cheroot เราจะติดตั้งไลบรารี lxml python ซึ่งมีแนวโน้มที่จะทำงานได้ดีกว่าไลบรารี XML ที่ติดตั้งโดยค่าเริ่มต้น จำเป็นต้องมีไลบรารี PAM (โมดูลการพิสูจน์ตัวตนแบบเสียบได้) python3 เช่นกัน ติดตั้งแพ็คเกจที่ต้องการโดยใช้pipเครื่องมือ:

sudo pip3 install wsgidav cheroot lxml python-pam

การกำหนดค่า WsgiDAV

ไฟล์เรียกทำงาน WsgiDAV นั้นถูกเก็บไว้/usr/local/binดังนั้นเราจะวางไฟล์การกำหนดค่าไว้ใน/usr/local/etcไดเรกทอรี ดาวน์โหลดไฟล์การกำหนดค่าตัวอย่างด้วยคำสั่งต่อไปนี้:

sudo mkdir -p /usr/local/etc
sudo wget https://github.com/mar10/wsgidav/raw/master/sample_wsgidav.yaml -O /usr/local/etc/wsgidav.yaml

เปิดด้วยเครื่องมือแก้ไขของคุณ:

sudo $EDITOR /usr/local/etc/wsgidav.yaml

ค้นหาบรรทัดต่อไปนี้ในส่วน "การสนับสนุน SSL":

# ssl_certificate: "wsgidav/server/sample_bogo_server.crt"
# ssl_private_key: "wsgidav/server/sample_bogo_server.key"
# ssl_certificate_chain: null

แทนที่ด้วยสิ่งต่อไปนี้:

ssl_certificate: "/etc/letsencrypt/live/dav.example.com/cert.pem"
ssl_private_key: "/etc/letsencrypt/live/dav.example.com/privkey.pem"
ssl_certificate_chain: "/etc/letsencrypt/live/dav.example.com/chain.pem"

ต่อไปเราจะกำหนดค่าเส้นทางที่ใช้ร่วมกันโดยการแมปเส้นทาง HTTP (เช่น/) ไปยังตำแหน่งที่สอดคล้องกันในระบบไฟล์ (เช่น/var/www/dir1) เพื่อวัตถุประสงค์ในการสาธิตเราจะแบ่งปันสองไดเรกทอรีซึ่งหนึ่งในนั้นจะเป็นแบบอ่านอย่างเดียว ค้นหาprovider_mappingบล็อกในส่วน "หุ้น":

provider_mapping:
    "/": "/path/to/share1"
    "/pub":
        root: "/path/to/share2"
        readonly: true
    "/share3":
        provider: path.to.CustomDAVProviderClass
        args: ["/path/to/share3", "second_arg"]
        kwargs: {"another_arg": 42}

แทนที่:

provider_mapping:
    "/":
    root: "/var/www/html/documents"
    readonly: false
"/reports":
    root: "/var/www/html/reports"
    readonly: true

ด้วยการแม็พเหล่านี้https://dav.example.com:8080/จะสอดคล้องกับ/var/www/html/documentsไดเร็กทอรีบนเซิร์ฟเวอร์ขณะที่https://dav.example.com:8080/reportsแม็พ/var/www/html/reportsกับไม่มีการเข้าถึงเพื่อเขียน

สำหรับการตรวจสอบสิทธิ์เราจะใช้ไดรเวอร์ PAM สิ่งนี้จะลบความจำเป็นในการแยกบัญชีผู้ใช้ WebDAV และอนุญาตให้ผู้ใช้ระบบเข้าสู่ระบบโดยใช้ข้อมูลประจำตัวปกติ

ในส่วน "การตรวจสอบ" ค้นหาบรรทัดเหล่านี้:

accept_basic: true
accept_digest: true
default_to_digest: true
domain_controller: null

แทนที่ด้วยสิ่งต่อไปนี้:

accept_basic: true
accept_digest: false
default_to_digest: false
domain_controller: wsgidav.dc.pam_dc.PAMDomainController

ตอนนี้คุณสามารถทดสอบเซิร์ฟเวอร์ของคุณ:

sudo wsgidav -c /usr/local/etc/wsgidav.yaml

เปิดhttps://dav.example.com:8080/ในเว็บเบราว์เซอร์ของคุณ เนื่องจากเรากำหนดค่าการรับรองความถูกต้อง PAM คุณจะต้องเข้าสู่ระบบด้วยบัญชีผู้ใช้ Linux ของคุณ ใช้CTRL+ Cเพื่อหยุดเซิร์ฟเวอร์ก่อนดำเนินการต่อ

การติดตั้งเป็นบริการ

ในการรันเซิร์ฟเวอร์ WebDAV ของคุณในฐานะบริการระบบที่จัดการโดย systemd ให้สร้างไฟล์หน่วย:

sudo $EDITOR /etc/systemd/system/wsgidav.service

ป้อนต่อไปนี้:

[Unit]
Description=WsgiDAV WebDAV server
After=network.target

[Service]
Type=simple
ExecStart=/usr/local/bin/wsgidav -c /usr/local/etc/wsgidav.yaml
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=wsgidav_service

[Install]
WantedBy=multi-user.target

จากนั้นสร้างไฟล์กำหนดค่าสำหรับบริการบันทึกระบบ:

sudo $EDITOR /etc/rsyslog.d/wsgidav_service.conf

เติมไฟล์ด้วยข้อมูลต่อไปนี้:

 if $programname == 'wsgidav_service' then /var/log/wsgidav.log
 & stop

บันทึกและออกจากนั้นใช้คำสั่งด้านล่างเพื่อสร้างไฟล์บันทึก:

sudo touch /var/log/wsgidav.log
sudo chown root:adm /var/log/wsgidav.log

สุดท้ายให้โหลดไฟล์ systemd unit ใหม่และเริ่มบริการการบันทึกก่อนเริ่ม WsgiDAV:

sudo systemctl daemon-reload
sudo systemctl restart rsyslog.service
sudo systemctl start wsgidav.service

ตอนนี้คุณสามารถใช้systemctlเพื่อเริ่มหยุดและรีสตาร์ทเซิร์ฟเวอร์ WebDAV ของคุณ ออกมาตรฐาน WsgiDAV และข้อผิดพลาดจะถูกบันทึกไปและยังสามารถเข้าถึงได้โดยใช้/var/log/wsgidav.logsudo journalctl -u wsgidav.service

หากคุณต้องการให้เซิร์ฟเวอร์ WebDAV เริ่มต้นโดยอัตโนมัติเมื่อเวลาบูตระบบให้ดำเนินการ:

 sudo systemctl enable wsgidav.service

อ่านเพิ่มเติม



Leave a Comment

ตั้งค่า NFS Share บน Debian

ตั้งค่า NFS Share บน Debian

NFS เป็นระบบไฟล์บนเครือข่ายที่อนุญาตให้คอมพิวเตอร์เข้าถึงไฟล์ผ่านเครือข่ายคอมพิวเตอร์ คู่มือนี้จะอธิบายวิธีการเปิดเผยโฟลเดอร์ผ่าน NF

สร้างเครือข่ายสังคมด้วย Diaspora บน Debian 9

สร้างเครือข่ายสังคมด้วย Diaspora บน Debian 9

ใช้ระบบที่แตกต่างกันอย่างไร Diaspora เป็นเครือข่ายโซเชียลที่ตระหนักถึงความเป็นส่วนตัวและเป็นโอเพ่นซอร์ส ในบทช่วยสอนนี้คุณจะได้เรียนรู้วิธีการตั้งค่าและกำหนดค่า po Diaspora

การติดตั้ง Fuel CMS บน Debian 9

การติดตั้ง Fuel CMS บน Debian 9

ใช้ระบบที่แตกต่างกันอย่างไร Fuel CMS เป็นระบบจัดการเนื้อหาที่ใช้ CodeIgniter ซอร์สโค้ดของมันถูกโฮสต์บน GitHub คำแนะนำนี้จะแสดงให้คุณเห็นว่า

วิธีการที่ปลอดภัย vsFTPd ด้วย SSL / TLS

วิธีการที่ปลอดภัย vsFTPd ด้วย SSL / TLS

FTP ที่ปลอดภัยมากหรือเพียงแค่ vsFTPd เป็นซอฟต์แวร์น้ำหนักเบาที่มีความสามารถในการปรับแต่ง ในบทช่วยสอนนี้เราจะรักษาความปลอดภัยของข้อความ

วิธีการติดตั้ง Thelia 2.3 บน Debian 9

วิธีการติดตั้ง Thelia 2.3 บน Debian 9

ใช้ระบบที่แตกต่างกันอย่างไร Thelia เป็นเครื่องมือโอเพ่นซอร์สสำหรับการสร้างเว็บไซต์ e-business และการจัดการเนื้อหาออนไลน์ที่เขียนด้วย PHP รหัสแหล่งที่มา Thelia i

การตั้งค่า Chroot บน Debian

การตั้งค่า Chroot บน Debian

บทความนี้จะสอนวิธีการติดตั้ง chroot jail บน Debian ฉันคิดว่าคุ���กำลังใช้ Debian 7.x หากคุณใช้ Debian 6 หรือ 8 สิ่งนี้อาจใช้งานได้

การติดตั้ง ownCloud 7 บน Debian 7

การติดตั้ง ownCloud 7 บน Debian 7

ownCloud เป็นบริการแบบ Dropbox ที่ทำงานบน VPS ของคุณเอง มันช่วยให้คุณควบคุมพื้นที่ผู้ใช้และคุณสมบัติอื่น ๆ ได้อย่างเต็มที่ คู่มือนี้จะถือว่าคุณ

เครื่องมือตรวจสอบที่ดีกว่าสำหรับ Ubuntu และ CentOS

เครื่องมือตรวจสอบที่ดีกว่าสำหรับ Ubuntu และ CentOS

บทนำระบบ Linux มาพร้อมกับเครื่องมือตรวจสอบตามค่าเริ่มต้นเช่นด้านบน df และ du ที่ช่วยตรวจสอบกระบวนการและพื้นที่ดิสก์ บ่อยครั้งแม้ว่าพวกเขาเท่

วิธีการติดตั้ง Golang 1.8.3 บน CentOS 7, Ubuntu 16.04 และ Debian 9

วิธีการติดตั้ง Golang 1.8.3 บน CentOS 7, Ubuntu 16.04 และ Debian 9

Golang เป็นภาษาโปรแกรมที่พัฒนาโดย Google ด้วยความเก่งกาจความเรียบง่ายและความน่าเชื่อถือทำให้ Golang กลายเป็นหนึ่งในประชากรที่มีชื่อเสียงมากที่สุด

การติดตั้ง Bolt CMS บน Debian 9 (Stretch)

การติดตั้ง Bolt CMS บน Debian 9 (Stretch)

ใช้ระบบที่แตกต่างกันอย่างไร Bolt เป็น CMS โอเพ่นซอร์สที่เขียนด้วย PHP ซอร์สโค้ดของ Bolts นั้นโฮสต์บน GitHub คู่มือนี้จะแสดงวิธีการติดตั้ง Bolt CM

ตรวจสอบสถานะเซิร์ฟเวอร์ Debian ด้วย Munin

ตรวจสอบสถานะเซิร์ฟเวอร์ Debian ด้วย Munin

Munin เป็นเครื่องมือตรวจสอบเพื่อสำรวจกระบวนการและทรัพยากรในเครื่องของคุณและนำเสนอข้อมูลในกราฟผ่านเว็บอินเตอร์เฟส ใช้ followin

วิธีเปิดใช้งาน TLS 1.3 ใน Apache บน Debian 10

วิธีเปิดใช้งาน TLS 1.3 ใน Apache บน Debian 10

ใช้ระบบที่แตกต่างกันอย่างไร TLS 1.3 เป็นเวอร์ชันของโปรโตคอล Transport Layer Security (TLS) ที่เผยแพร่ในปี 2018 ตามมาตรฐานที่เสนอใน RFC 8446

การตั้งค่า Teamspeak 3 บน Debian Wheezy

การตั้งค่า Teamspeak 3 บน Debian Wheezy

บทความนี้จะแสดงวิธีการเรียกใช้เซิร์ฟเวอร์ Teamspeak 3 ภายใต้ Debian Wheezy ก่อนที่คุณจะเริ่มต้นด้วยคุณควรเตรียมความพร้อมกับ VPS ของคุณ ผม

วิธีการติดตั้ง PyroCMS บน Debian 9

วิธีการติดตั้ง PyroCMS บน Debian 9

ใช้ระบบที่แตกต่างกันอย่างไร PyroCMS เป็น CMS โอเพ่นซอร์สที่เขียนด้วย PHP รหัสที่มา PyroCMS โฮสต์บน GitHub ในคู่มือนี้ให้เดินผ่าน entir

การตั้งค่า Counter Strike: Source บน Debian

การตั้งค่า Counter Strike: Source บน Debian

ในคู่มือนี้เราจะตั้งค่า Counter Strike: เซิร์ฟเวอร์เกมต้นทางบน Debian 7 คำสั่งเหล่านี้ถูกทดสอบบน Debian 7 แต่พวกเขาก็ควรทำงาน

วิธีการกำหนดค่า Snort บนเดเบียน

วิธีการกำหนดค่า Snort บนเดเบียน

Snort เป็นระบบตรวจจับการบุกรุกเครือข่ายฟรี (IDS) ในเงื่อนไขที่เป็นทางการน้อยกว่าช่วยให้คุณสามารถตรวจสอบเครือข่ายของคุณสำหรับกิจกรรมที่น่าสงสัยในเวลาจริง

วิธีการติดตั้ง TextPattern CMS 4.6.2 บน Debian 9 LAMP VPS

วิธีการติดตั้ง TextPattern CMS 4.6.2 บน Debian 9 LAMP VPS

ใช้ระบบที่แตกต่างกันอย่างไร TextPattern CMS 4.6.2 เป็นระบบจัดการเนื้อหา (CMS) ที่ง่ายยืดหยุ่นและฟรีและโอเพ่นซอร์สที่ช่วยให้นักออกแบบเว็บไซต์

วิธีการติดตั้ง Dolibarr บน Debian 9

วิธีการติดตั้ง Dolibarr บน Debian 9

ใช้ระบบที่แตกต่างกันอย่างไร Dolibarr เป็นการวางแผนทรัพยากรขององค์กรโอเพ่นซอร์ส (ERP) และการจัดการลูกค้าสัมพันธ์ (CRM) สำหรับธุรกิจ Dolibarr

ติดตั้ง Mailcow บน Debian 7

ติดตั้ง Mailcow บน Debian 7

เกริ่นนำ Mailcow เป็นชุด mailserver ที่มีน้ำหนักเบาซึ่งมีหลายแพ็คเกจเช่น DoveCot, Postfix และแพ็คเกจโอเพ่นซอร์สอื่น ๆ Mailcow als

วิธีการติดตั้ง ModSecurity สำหรับ Nginx บน CentOS 7, Debian 8 และ Ubuntu 16.04

วิธีการติดตั้ง ModSecurity สำหรับ Nginx บน CentOS 7, Debian 8 และ Ubuntu 16.04

ModSecurity เป็นโมดูลโอเพนซอร์สของเว็บแอพพลิเคชันไฟร์วอลล์ (WAF) ซึ่งเหมาะสำหรับการปกป้อง Apache, Nginx และ IIS จากการโจมตีทางไซเบอร์ต่างๆ

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS ซึ่งเป็นโอเพ่นซอร์สและระบบปฏิบัติการฟรีพร้อมเวอร์ชันล่าสุดแล้ว สามารถตอบสนองความต้องการของผู้ใช้ Windows ยุคใหม่และล้ม Microsoft ได้หรือไม่? มาหาข้อมูลเพิ่มเติมเกี่ยวกับรูปแบบเก่านี้ แต่เป็นประสบการณ์ OS ที่ใหม่กว่ากัน

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

การโจมตีของ Ransomware กำลังเพิ่มขึ้น แต่ AI สามารถช่วยจัดการกับไวรัสคอมพิวเตอร์ตัวล่าสุดได้หรือไม่? AI คือคำตอบ? อ่านที่นี่รู้ว่า AI boone หรือ bane

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

ในที่สุด Whatsapp ก็เปิดตัวแอพเดสก์ท็อปสำหรับผู้ใช้ Mac และ Windows ตอนนี้คุณสามารถเข้าถึง Whatsapp จาก Windows หรือ Mac ได้อย่างง่ายดาย ใช้ได้กับ Windows 8+ และ Mac OS 10.9+

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

อ่านข้อมูลนี้เพื่อทราบว่าปัญญาประดิษฐ์กำลังได้รับความนิยมในหมู่บริษัทขนาดเล็กอย่างไร และเพิ่มโอกาสในการทำให้พวกเขาเติบโตและทำให้คู่แข่งได้เปรียบ

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

เมื่อเร็ว ๆ นี้ Apple เปิดตัว macOS Catalina 10.15.4 การอัปเดตเสริมเพื่อแก้ไขปัญหา แต่ดูเหมือนว่าการอัปเดตทำให้เกิดปัญหามากขึ้นที่นำไปสู่การสร้างเครื่อง Mac อ่านบทความนี้เพื่อเรียนรู้เพิ่มเติม

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

คอมพิวเตอร์ของเราจัดเก็บข้อมูลทั้งหมดในลักษณะที่เรียกว่าระบบไฟล์บันทึก เป็นวิธีการที่มีประสิทธิภาพที่ช่วยให้คอมพิวเตอร์สามารถค้นหาและแสดงไฟล์ได้ทันทีที่คุณกดค้นหาhttps://wethegeek.com/?p=94116&preview=true

ภาวะเอกฐานทางเทคโนโลยี: อนาคตอันห่างไกลของอารยธรรมมนุษย์?

ภาวะเอกฐานทางเทคโนโลยี: อนาคตอันห่างไกลของอารยธรรมมนุษย์?

ในขณะที่วิทยาศาสตร์มีวิวัฒนาการไปอย่างรวดเร็ว โดยรับช่วงต่อความพยายามของเราอย่างมาก ความเสี่ยงในการทำให้ตัวเองตกอยู่ในภาวะภาวะเอกฐานที่อธิบายไม่ได้ก็เพิ่มขึ้นเช่นกัน อ่านว่าภาวะเอกฐานอาจมีความหมายสำหรับเราอย่างไร

ข้อมูลเชิงลึกเกี่ยวกับ 26 เทคนิคการวิเคราะห์ข้อมูลขนาดใหญ่: ตอนที่ 1

ข้อมูลเชิงลึกเกี่ยวกับ 26 เทคนิคการวิเคราะห์ข้อมูลขนาดใหญ่: ตอนที่ 1

ข้อมูลเชิงลึกเกี่ยวกับ 26 เทคนิคการวิเคราะห์ข้อมูลขนาดใหญ่: ตอนที่ 1

ผลกระทบของปัญญาประดิษฐ์ในการดูแลสุขภาพ 2021

ผลกระทบของปัญญาประดิษฐ์ในการดูแลสุขภาพ 2021

AI ในการดูแลสุขภาพได้ก้าวกระโดดอย่างมากจากทศวรรษที่ผ่านมา ดังนั้นอนาคตของ AI ในการดูแลสุขภาพจึงยังคงเติบโตทุกวัน