Увод
Веб Дистрибутед Аутхоринг анд Версионинг (ВебДАВ) је ХТТП екстензија која обезбеђује оквир за даљинско креирање и модификовање датотека на серверу. ВсгиДАВ је ВебДАВ сервер написан у Питхон-у. Овај водич ће вам помоћи у инсталацији ВсгиДАВ верзије 3.0 на Вултр серверу који користи Дебиан 10. Такође ћемо добити ССЛ сертификат да обезбедимо сигурну везу као и ПАМ аутентификацију.
Предуслови
- Дебиан 10 систем којем имате привилеговани приступ (преко роот корисника или било ког судо корисника.)
$EDITORПроменљива окружења мора бити постављен на текст едитору по свом избору.
- Неопходно је регистровано име домена. Његови
Aсервери имена морају бити конфигурисани са записом који указује на ИПв4 адресу вашег сервера и опционо AAAAзаписом који указује на ИПв6 адресу.
- Препоручује се познавање ИАМЛ синтаксе.
Чувар места 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/.
Инсталирање ВсгиДАВ
Прво, инсталирајте Питхон менаџер пакета pip:
sudo apt update sudo apt install -y python3-pip
ВсгиДАВ захтева ХТТП сервер који подржава ВСГИ. Инсталираћемо подразумевану опцију, а то је Цхероот. Такође ћемо инсталирати лкмл питхон библиотеку, која има тенденцију да ради боље од КСМЛ библиотеке која је подразумевано инсталирана. ПАМ (Плуггабле Аутхентицатион Модуле) питхон3 библиотека је такође потребна. Инсталирајте потребне пакете користећи pipалатку:
sudo pip3 install wsgidav cheroot lxml python-pam
Конфигурисање ВсгиДАВ
Извршни фајл ВсгиДАВ је ускладиштен у /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"
Затим ћемо конфигурисати дељене путање мапирањем ХТТП путања (као што је /) на одговарајуће локације у систему датотека (као што је /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без приступа уписивању.
За аутентификацију ћемо користити ПАМ драјвер. Ово уклања потребу за посебним ВебДАВ корисничким налозима и омогућава корисницима система да се пријаве користећи своје уобичајене акредитиве.
У одељку „АУТЕНТИКАЦИЈА“ пронађите ове редове:
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/у свом веб претраживачу. Пошто смо конфигурисали ПАМ аутентификацију, мораћете да се пријавите са својим Линук корисничким налогом. Користите CTRL+ Cда зауставите сервер пре него што наставите.
Инсталација као услуга
Да бисте покренули свој ВебДАВ сервер као системску услугу којом управља системд, креирајте јединичну датотеку:
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
Коначно, учитајте нову системд датотеку јединице и поново покрените услугу евидентирања пре него што покренете ВсгиДАВ:
sudo systemctl daemon-reload sudo systemctl restart rsyslog.service sudo systemctl start wsgidav.service
Сада можете да користите systemctlза покретање, заустављање и поновно покретање вашег ВебДАВ сервера. Стандардни излаз и грешка ВсгиДАВ-а биће евидентирани на /var/log/wsgidav.log, и такође им се може приступити помоћу sudo journalctl -u wsgidav.service.
Ако желите да се ВебДАВ сервер аутоматски покрене у време покретања система, извршите:
sudo systemctl enable wsgidav.service
Додатна литература