WebDAV को डेबियन 10 पर WsgiDAV का उपयोग करके तैनात करना

परिचय

वेब वितरित संलेखन और संस्करण (WebDAV) एक HTTP एक्सटेंशन है जो सर्वर पर फ़ाइलों को दूरस्थ रूप से बनाने और संशोधित करने के लिए एक रूपरेखा प्रदान करता है। WsgiDAV अजगर में लिखा गया एक WebDAV सर्वर है। यह मार्गदर्शिका आपको डेबियन 10. पर चलने वाले वल्चर सर्वर पर WsgiDAV संस्करण 3.0 की स्थापना के माध्यम से मदद करेगी। हम सुरक्षित कनेक्शन के साथ-साथ PAM प्रमाणीकरण प्रदान करने के लिए एक SSL प्रमाणपत्र भी प्राप्त करेंगे।

आवश्यक शर्तें

  • एक डेबियन 10 प्रणाली जिसमें आपको विशेषाधिकार प्राप्त है (रूट उपयोगकर्ता या किसी भी sudo उपयोगकर्ता के माध्यम से)।
  • $EDITORवातावरण चर अपनी पसंद का एक पाठ संपादक करने के लिए सेट किया जाना चाहिए।
  • एक पंजीकृत डोमेन नाम की आवश्यकता है। इसके नेमसर्वर Aको आपके सर्वर के IPv4 पते की ओर इंगित करने वाले रिकॉर्ड के साथ कॉन्फ़िगर किया जाना चाहिए , और वैकल्पिक रूप AAAAसे IPv6 पते की ओर इशारा करने वाला रिकॉर्ड होना चाहिए ।
  • YAML सिंटैक्स के साथ परिचित होने की सिफारिश की जाती है।

प्लेसहोल्डर dav.example.comका उपयोग आपके सर्वर के डोमेन नाम के लिए किया जाएगा।

स्थापना

एसएसएल प्रमाण पत्र

हम सिस्टम को अपडेट करने और लेट्स एनक्रिप्ट से एक निशुल्क एसएसएल प्रमाणपत्र प्राप्त करके शुरू करेंगे । ऐसा करने के लिए, पहले ��पने सिस्टम को अपडेट करें और certbotउपयोगिता स्थापित करें :

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

नीचे दिए गए आदेश में, की जगह dav.example.comऔर email@domain.tldअपने डोमेन नाम और ईमेल पते के साथ क्रमश: यह निष्पादित करने से पहले:

sudo certbot certonly --standalone --agree-tos -m email@domain.tld -d dav.example.com

आपके सर्वर को यह सत्यापित करने के लिए एक चुनौती भेजी जाएगी कि आप निर्दिष्ट डोमेन नाम को नियंत्रित करते हैं। यदि यह सफल होता है, तो प्रमाण पत्र जारी किया जाएगा और बचाया जाएगा, साथ ही अन्य फाइलें जैसे कि निजी कुंजी, के तहत /etc/letsencrypt/live/dav.example.com/

WsgiDAV की स्थापना

सबसे पहले, अजगर पैकेज मैनेजर स्थापित करें pip:

sudo apt update
sudo apt install -y python3-pip

WsgiDAV को एक HTTP सर्वर की आवश्यकता है जो WSGI का समर्थन करता है। हम डिफ़ॉल्ट विकल्प स्थापित करेंगे, जो कि चेरूट है। हम lxml python लाइब्रेरी भी स्थापित करेंगे, जो डिफ़ॉल्ट रूप से स्थापित XML लाइब्रेरी से बेहतर प्रदर्शन करता है। PAM (Pluggable Authentication Module) 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_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 उपयोगकर्ता खातों की आवश्यकता को हटा देता है और सिस्टम उपयोगकर्ताओं को अपनी सामान्य साख का उपयोग करके लॉगिन करने की अनुमति देता है।

"AUTHENTICATION" अनुभाग में, इन पंक्तियों को खोजें:

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 प्रमाणीकरण को कॉन्फ़िगर किया है, इसलिए आपको अपने लिनक्स उपयोगकर्ता खाते के साथ लॉगिन करना होगा। आगे बढ़ने से पहले सर्वर को बंद करने के लिए CTRL+ Cका उपयोग करें ।

सेवा के रूप में स्थापित करना

आपके WebDAV सर्वर को सिस्टमड द्वारा प्रबंधित सिस्टम सेवा के रूप में चलाने के लिए, एक इकाई फ़ाइल बनाएँ:

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 यूनिट फ़ाइल को लोड करें और WsgiDAV को शुरू करने से पहले लॉगिंग सेवा को पुनरारंभ करें:

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

अब आप systemctlअपने WebDAV सर्वर को शुरू करने, रोकने और पुनः आरंभ करने के लिए उपयोग कर सकते हैं । WsgiDAV के मानक आउटपुट और त्रुटि को लॉग इन किया जाएगा /var/log/wsgidav.log, और इसका उपयोग करके भी एक्सेस किया जा सकता है sudo journalctl -u wsgidav.service

यदि आप चाहते हैं कि WebDAV सर्वर सिस्टम बूट समय पर अपने आप शुरू हो जाए, तो निष्पादित करें:

 sudo systemctl enable wsgidav.service

आगे की पढाई

एक टिप्पणी छोड़ें

डेबियन पर सेटअप NFS शेयर

डेबियन पर सेटअप NFS शेयर

एनएफएस एक नेटवर्क-आधारित फाइल सिस्टम है जो कंप्यूटरों को कंप्यूटर नेटवर्क पर फाइलों तक पहुंचने की अनुमति देता है। यह मार्गदर्शिका बताती है कि आप एनएफ पर फ़ोल्डर्स को कैसे उजागर कर सकते हैं

Ubuntu 16.04 पर लाइटकार्ट शॉपिंग कार्ट प्लेटफ़ॉर्म कैसे स्थापित करें

Ubuntu 16.04 पर लाइटकार्ट शॉपिंग कार्ट प्लेटफ़ॉर्म कैसे स्थापित करें

LiteCart PHP, jQuery और HTML में लिखा गया एक स्वतंत्र और ओपन सोर्स शॉपिंग कार्ट प्लेटफॉर्म है। यह ई-कॉमर्स सॉफ्टवेअर का उपयोग करने के लिए एक सरल, हल���का और आसान है

मोटोमो एनालिटिक्स को फेडोरा 28 पर कैसे स्थापित करें

मोटोमो एनालिटिक्स को फेडोरा 28 पर कैसे स्थापित करें

एक अलग प्रणाली का उपयोग? माटोमो (पूर्व में पिविक) एक ओपन सोर्स एनालिटिक्स प्लेटफॉर्म है, जो गूगल एनालिटिक्स का एक खुला विकल्प है। Matomo स्रोत को होस्ट किया गया है

कैसे स्थापित करें और अपने CentOS 7 सर्वर पर CyberPanel कॉन्फ़िगर करें

कैसे स्थापित करें और अपने CentOS 7 सर्वर पर CyberPanel कॉन्फ़िगर करें

एक अलग प्रणाली का उपयोग? परिचय CyberPanel बाजार पर पहला नियंत्रण पैनल है जो दोनों खुला स्रोत है और OpenLiteSpeed ​​का उपयोग करता है। क्या थी?

विंडोज सर्वर पर Garrys मॉड कैसे स्थापित करें

विंडोज सर्वर पर Garrys मॉड कैसे स्थापित करें

परिचय यह आलेख बताएगा कि विंडोज सर्वर 2012 पर गारस मोड सर्वर को कैसे डाउनलोड और इंस्टॉल किया जाए। यह गाइड गहराई में होने के लिए बनाया गया है।

Linux पर एक TeamTalk Server सेटअप करें

Linux पर एक TeamTalk Server सेटअप करें

टीमटॉक एक कॉन्फ्रेंसिंग प्रणाली है जो उपयोगकर्ताओं को उच्च-गुणवत्ता वाले ऑडियो / वीडियो वार्तालाप, टेक्स्ट चैट, स्थानांतरण फ़ाइलें और स्क्रीन साझा करने की अनुमति देती है। यह मैं

CentOS पर FFmpeg कैसे स्थापित करें

CentOS पर FFmpeg कैसे स्थापित करें

FFmpeg ऑडियो और वीडियो रिकॉर्ड करने, कन्वर्ट करने और स्ट्रीम करने के लिए एक लोकप्रिय ओपन सोर्स समाधान है, जो सभी प्रकार की ऑनलाइन स्ट्रीमिंग सेवाओं में व्यापक रूप से उपयोग किया जाता है। मैं

SSH का उपयोग करके LUKS डिस्क एन्क्रिप्शन पर LVM को दूरस्थ रूप से अनलॉक करने के लिए CentOS 7 स्थापित और सेटअप करें

SSH का उपयोग करके LUKS डिस्क एन्क्रिप्शन पर LVM को दूरस्थ रूप से अनलॉक करने के लिए CentOS 7 स्थापित और सेटअप करें

एलयूकेएस (लिनक्स यूनिफाइड की सेटअप) लिनक्स के लिए उपलब्ध विभिन्न डिस्क एन्क्रिप्शन प्रारूपों में से एक है जो प्लेटफॉर्म एग्नॉस्टिक है। यह ट्यूटोरियल आपको बुद्धि प्रदान करेगा

अपने Vultr VPS को कैसे एक्सेस करें

अपने Vultr VPS को कैसे एक्सेस करें

Vultr अपने VPS को कॉन्फ़िगर करने, स्थापित करने और उपयोग करने के लिए कई अलग-अलग तरीके प्रदान करता है। क्रेडेंशियल एक्सेस करें आपके VPS के लिए डिफ़ॉल्ट एक्सेस क्रेडेंशियल ar

CentOS 7 पर अक्टूबर CMS को कैसे स्थापित करें

CentOS 7 पर अक्टूबर CMS को कैसे स्थापित करें

अक्टूबर एक खुला स्रोत सामग्री प्रबंधन प्रणाली है जो लारवेल PHP फ्रेमवर्क पर आधारित है। एक सुरुचिपूर्ण इंटरफ़ेस और एक संक्षिप्त मॉड्यूलर वास्तुकला के साथ