แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ˜ rpm แƒกแƒแƒชแƒแƒ•แƒ˜ Inotify-แƒ˜แƒกแƒ แƒ“แƒ webdav-แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—

แƒแƒ› แƒžแƒแƒกแƒขแƒจแƒ˜ แƒฉแƒ•แƒ”แƒœ แƒ’แƒแƒ“แƒแƒ•แƒฎแƒ”แƒ“แƒแƒ•แƒ— rpm แƒแƒ แƒขแƒ”แƒคแƒแƒฅแƒขแƒ˜แƒก แƒกแƒแƒชแƒแƒ•แƒก แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ˜ inotify + createrepo แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—. แƒแƒ แƒขแƒ”แƒคแƒแƒฅแƒขแƒ”แƒ‘แƒ˜ แƒ˜แƒขแƒ•แƒ˜แƒ แƒ—แƒ”แƒ‘แƒ webdav-แƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒ˜แƒ— apache httpd-แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—. แƒ แƒแƒขแƒแƒ› Apache httpd แƒ“แƒแƒ˜แƒฌแƒ”แƒ แƒ”แƒ‘แƒ แƒžแƒแƒกแƒขแƒ˜แƒก แƒ‘แƒแƒšแƒแƒก.

แƒแƒกแƒ” แƒ แƒแƒ›, แƒ’แƒแƒ›แƒแƒกแƒแƒ•แƒแƒšแƒ˜ แƒฃแƒœแƒ“แƒ แƒแƒ™แƒ›แƒแƒงแƒแƒคแƒ˜แƒšแƒ”แƒ‘แƒ“แƒ”แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ”แƒ‘แƒก แƒ›แƒฎแƒแƒšแƒแƒ“ RPM แƒจแƒ”แƒœแƒแƒฎแƒ•แƒ˜แƒก แƒแƒ แƒ’แƒแƒœแƒ˜แƒ–แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก:

  • แƒฃแƒคแƒแƒกแƒ

  • แƒžแƒแƒ™แƒ”แƒขแƒ˜แƒก แƒฎแƒ”แƒšแƒ›แƒ˜แƒกแƒแƒฌแƒ•แƒ“แƒแƒ›แƒแƒ‘แƒ แƒกแƒแƒชแƒแƒ•แƒจแƒ˜ แƒแƒ แƒขแƒ”แƒคแƒแƒฅแƒขแƒ˜แƒก แƒกแƒแƒชแƒแƒ•แƒจแƒ˜ แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ˜แƒ“แƒแƒœ แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒฌแƒแƒ›แƒจแƒ˜.

  • แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ˜ แƒ˜แƒœแƒกแƒขแƒแƒšแƒแƒชแƒ˜แƒ แƒ“แƒ แƒจแƒ”แƒœแƒแƒ แƒฉแƒฃแƒœแƒ”แƒ‘แƒ

  • แƒ›แƒแƒฆแƒแƒšแƒ˜ แƒฎแƒ”แƒšแƒ›แƒ˜แƒกแƒแƒฌแƒ•แƒ“แƒแƒ›แƒแƒ‘แƒ˜แƒก แƒ’แƒแƒ™แƒ”แƒ—แƒ”แƒ‘แƒ˜แƒก แƒฃแƒœแƒแƒ แƒ˜

    แฒ แƒแƒขแƒแƒ›แƒแƒช แƒแƒ แƒ SonaType Nexus แƒแƒœ Pulp:

  • แƒจแƒ”แƒœแƒแƒฎแƒ•แƒ SonaType Nexus แƒแƒœ Pulp แƒ›แƒ แƒแƒ•แƒแƒšแƒ˜ แƒกแƒแƒฎแƒ˜แƒก แƒแƒ แƒขแƒ”แƒคแƒแƒฅแƒขแƒ˜ แƒ˜แƒฌแƒ•แƒ”แƒ•แƒก แƒ˜แƒ› แƒคแƒแƒฅแƒขแƒก, แƒ แƒแƒ› SonaType Nexus แƒแƒœ Pulp แƒ’แƒแƒฎแƒ“แƒ”แƒก แƒฌแƒแƒ แƒฃแƒ›แƒแƒขแƒ”แƒ‘แƒšแƒแƒ‘แƒ˜แƒก แƒ”แƒ แƒ—แƒ˜ แƒฌแƒ”แƒ แƒขแƒ˜แƒšแƒ˜.

  • แƒ›แƒแƒฆแƒแƒšแƒ˜ แƒฎแƒ”แƒšแƒ›แƒ˜แƒกแƒแƒฌแƒ•แƒ“แƒแƒ›แƒแƒ‘แƒ แƒจแƒ˜ SonaType Nexus แƒ’แƒแƒ“แƒแƒฎแƒ“แƒ˜แƒšแƒ˜แƒ.

  • Pulp แƒ–แƒ”แƒ“แƒ›แƒ”แƒขแƒแƒ“ แƒจแƒ”แƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒฃแƒš แƒ’แƒแƒ›แƒแƒกแƒแƒ•แƒแƒšแƒก แƒ›แƒ”แƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒ.

  • แƒแƒ แƒขแƒ”แƒคแƒแƒฅแƒขแƒ”แƒ‘แƒ˜ SonaType Nexus แƒ‘แƒšแƒแƒ›แƒแƒ“ แƒ˜แƒœแƒแƒฎแƒ”แƒ‘แƒ. แƒ”แƒšแƒ”แƒฅแƒขแƒ แƒแƒ”แƒœแƒ”แƒ แƒ’แƒ˜แƒ˜แƒก แƒฃแƒ”แƒชแƒแƒ แƒ˜ แƒ’แƒแƒ—แƒ˜แƒจแƒ•แƒ˜แƒก แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜, แƒ—แƒฅแƒ•แƒ”แƒœ แƒ•แƒ”แƒ  แƒจแƒ”แƒซแƒšแƒ”แƒ‘แƒ— แƒ‘แƒšแƒแƒ›แƒ˜แƒก แƒแƒฆแƒ“แƒ’แƒ”แƒœแƒแƒก, แƒ—แƒฃ แƒแƒ  แƒ’แƒแƒฅแƒ•แƒ— แƒกแƒแƒ แƒ”แƒ–แƒ”แƒ แƒ•แƒ แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒ. แƒฉแƒ•แƒ”แƒœ แƒ’แƒ•แƒฅแƒแƒœแƒ“แƒ แƒ”แƒก แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ: ERROR [ForkJoinPool.commonPool-worker-2] *SYSTEM [com.orientechnologies.orient.core.storage](http://com.orientechnologies.orient.core.storage/).fs.OFileClassic - $ANSI{green {db=security}} Error during data read for file 'privilege_5.pcl' 1-th attempt [java.io](http://java.io/).IOException: Bad address. แƒ‘แƒšแƒแƒ‘แƒ˜ แƒแƒ แƒแƒกแƒแƒ“แƒ”แƒก แƒ˜แƒฅแƒœแƒ แƒแƒฆแƒ“แƒ’แƒ”แƒœแƒ˜แƒšแƒ˜.

แƒ™แƒแƒ“แƒ˜แƒก แƒ™แƒแƒ“แƒ˜

โ†’ แƒฌแƒงแƒแƒ แƒแƒก แƒ™แƒแƒ“แƒ˜ แƒ›แƒ“แƒ”แƒ‘แƒแƒ แƒ”แƒแƒ‘แƒก แƒแƒฅ

แƒ›แƒ—แƒแƒ•แƒแƒ แƒ˜ แƒกแƒชแƒ”แƒœแƒแƒ แƒ˜ แƒแƒกแƒ” แƒ’แƒแƒ›แƒแƒ˜แƒงแƒฃแƒ แƒ”แƒ‘แƒ:

#!/bin/bash

source /etc/inotify-createrepo.conf
LOGFILE=/var/log/inotify-createrepo.log

function monitoring() {
    inotifywait -e close_write,delete -msrq --exclude ".repodata|.olddata|repodata" "${REPO}" | while read events 
    do
      echo $events >> $LOGFILE
      touch /tmp/need_create
    done
}

function run_createrepo() {
  while true; do
    if [ -f /tmp/need_create ];
    then
      rm -f /tmp/need_create
      echo "start createrepo $(date --rfc-3339=seconds)"
      /usr/bin/createrepo --update "${REPO}"
      echo "finish createrepo $(date --rfc-3339=seconds)"
    fi
    sleep 1
  done
}

echo "Start filesystem monitoring: Directory is $REPO, monitor logfile is $LOGFILE"
monitoring >> $LOGFILE &
run_createrepo >> $LOGFILE &

แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒก

inotify-createrepo แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก แƒ›แƒฎแƒแƒšแƒแƒ“ CentOS 7 แƒแƒœ แƒฃแƒคแƒ แƒ แƒ›แƒแƒฆแƒแƒš แƒ•แƒ”แƒ แƒกแƒ˜แƒแƒ–แƒ”. CentOS 6-แƒ–แƒ” แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ แƒ•แƒ”แƒ  แƒ›แƒแƒฎแƒ”แƒ แƒฎแƒ“แƒ.

yum -y install yum-plugin-copr
yum copr enable antonpatsev/inotify-createrepo
yum -y install inotify-createrepo
systemctl start inotify-createrepo

แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ

แƒกแƒขแƒแƒœแƒ“แƒแƒ แƒขแƒฃแƒšแƒแƒ“ inotify-createrepo แƒแƒ™แƒแƒœแƒขแƒ แƒแƒšแƒ”แƒ‘แƒก แƒ“แƒ˜แƒ แƒ”แƒฅแƒขแƒแƒ แƒ˜แƒแƒก /var/www/repos/rpm-repo/.

แƒ—แƒฅแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒจแƒ”แƒชแƒ•แƒแƒšแƒแƒ— แƒ”แƒก แƒ“แƒ˜แƒ แƒ”แƒฅแƒขแƒแƒ แƒ˜แƒ แƒคแƒแƒ˜แƒšแƒจแƒ˜ /etc/inotify-createrepo.conf.

แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ—

แƒ“แƒ˜แƒ แƒ”แƒฅแƒขแƒแƒ แƒ˜แƒแƒจแƒ˜ แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ แƒ˜ แƒคแƒแƒ˜แƒšแƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒกแƒแƒก /var/www/repos/rpm-repo/ inotifywait แƒจแƒ”แƒฅแƒ›แƒœแƒ˜แƒก แƒคแƒแƒ˜แƒšแƒก /tmp/need_create. run_createrepo แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก แƒฃแƒกแƒแƒกแƒ แƒฃแƒšแƒ แƒชแƒ˜แƒ™แƒšแƒจแƒ˜ แƒ“แƒ แƒแƒ™แƒแƒœแƒขแƒ แƒแƒšแƒ”แƒ‘แƒก แƒคแƒแƒ˜แƒšแƒก /tmp/need_create. แƒ—แƒฃ แƒคแƒแƒ˜แƒšแƒ˜ แƒแƒ แƒกแƒ”แƒ‘แƒแƒ‘แƒก, แƒ›แƒแƒจแƒ˜แƒœ แƒ’แƒแƒฃแƒจแƒ•แƒ˜แƒ— createrepo --update.

แƒฉแƒแƒœแƒแƒฌแƒ”แƒ แƒ˜ แƒ’แƒแƒ›แƒแƒฉแƒœแƒ“แƒ”แƒ‘แƒ แƒคแƒแƒ˜แƒšแƒจแƒ˜:

/var/www/repos/rpm-repo/ CREATE nginx-1.16.1-1.el7.ngx.x86_64.rpm
start createrepo 2020-03-02 09:46:21+03:00
Spawning worker 0 with 1 pkgs
Spawning worker 1 with 0 pkgs
Spawning worker 2 with 0 pkgs
Spawning worker 3 with 0 pkgs
Workers Finished
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete
finish createrepo 2020-03-02 09:46:22+03:00

แƒ›แƒแƒฆแƒแƒšแƒ˜ แƒฎแƒ”แƒšแƒ›แƒ˜แƒกแƒแƒฌแƒ•แƒ“แƒแƒ›แƒแƒ‘แƒ˜แƒก แƒ’แƒแƒ™แƒ”แƒ—แƒ”แƒ‘แƒ˜แƒก แƒฃแƒœแƒแƒ แƒ˜

แƒแƒ แƒกแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ’แƒแƒ“แƒแƒฌแƒงแƒ•แƒ”แƒขแƒ˜แƒ“แƒแƒœ แƒ›แƒแƒฆแƒแƒšแƒ˜ แƒฎแƒ”แƒšแƒ›แƒ˜แƒกแƒแƒฌแƒ•แƒ“แƒแƒ›แƒแƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฅแƒ›แƒœแƒ”แƒšแƒแƒ“, แƒ•แƒคแƒ˜แƒฅแƒ แƒแƒ‘, แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒแƒ— 2 แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜, Keepalived HA-แƒกแƒ—แƒ•แƒ˜แƒก แƒ“แƒ Lsyncd แƒแƒ แƒขแƒ”แƒคแƒแƒฅแƒขแƒ˜แƒก แƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒ˜แƒ–แƒแƒชแƒ˜แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. Lsyncd - แƒ“แƒ”แƒ›แƒแƒœแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒแƒ™แƒแƒœแƒขแƒ แƒแƒšแƒ”แƒ‘แƒก แƒแƒ“แƒ’แƒ˜แƒšแƒแƒ‘แƒ แƒ˜แƒ• แƒ“แƒ˜แƒ แƒ”แƒฅแƒขแƒแƒ แƒ˜แƒแƒจแƒ˜ แƒชแƒ•แƒšแƒ˜แƒšแƒ”แƒ‘แƒ”แƒ‘แƒก, แƒแƒ’แƒ แƒแƒ•แƒ”แƒ‘แƒก แƒ›แƒแƒ— แƒ“แƒ แƒ’แƒแƒ แƒ™แƒ•แƒ”แƒฃแƒšแƒ˜ แƒ“แƒ แƒแƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ rsync แƒ˜แƒฌแƒงแƒ”แƒ‘แƒก แƒ›แƒแƒ— แƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒ˜แƒ–แƒแƒชแƒ˜แƒแƒก. แƒ“แƒ”แƒขแƒแƒšแƒ”แƒ‘แƒ˜ แƒ“แƒ แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ”แƒ‘แƒ˜ แƒแƒฆแƒฌแƒ”แƒ แƒ˜แƒšแƒ˜แƒ แƒžแƒแƒกแƒขแƒจแƒ˜ "แƒ›แƒ˜แƒšแƒ˜แƒแƒ แƒ“แƒ˜ แƒคแƒแƒ˜แƒšแƒ˜แƒก แƒกแƒฌแƒ แƒแƒคแƒ˜ แƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒ˜แƒ–แƒแƒชแƒ˜แƒ".

แƒ•แƒ”แƒ‘แƒ“แƒแƒ•

แƒคแƒแƒ˜แƒšแƒ”แƒ‘แƒ˜แƒก แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ˜แƒก แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒ’แƒ–แƒ แƒแƒ แƒกแƒ”แƒ‘แƒแƒ‘แƒก: SSH, NFS, WebDav. WebDav, แƒ แƒแƒ’แƒแƒ แƒช แƒฉแƒแƒœแƒก, แƒ—แƒแƒœแƒแƒ›แƒ”แƒ“แƒ แƒแƒ•แƒ” แƒ“แƒ แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ˜ แƒ•แƒแƒ แƒ˜แƒแƒœแƒขแƒ˜แƒ.

WebDav-แƒกแƒ—แƒ•แƒ˜แƒก แƒฉแƒ•แƒ”แƒœ แƒ’แƒแƒ›แƒแƒ•แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ— Apache httpd. แƒ แƒแƒขแƒแƒ› Apache httpd 2020 แƒฌแƒ”แƒšแƒก แƒ“แƒ แƒแƒ แƒ nginx?

แƒ›แƒกแƒฃแƒ แƒก แƒ’แƒแƒ›แƒแƒ•แƒ˜แƒงแƒ”แƒœแƒ แƒแƒ•แƒขแƒแƒ›แƒแƒขแƒฃแƒ แƒ˜ แƒฎแƒ”แƒšแƒกแƒแƒฌแƒงแƒแƒ”แƒ‘แƒ˜ Nginx + แƒ›แƒแƒ“แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฅแƒ›แƒœแƒ”แƒšแƒแƒ“ (แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, Webdav).

แƒแƒ แƒกแƒ”แƒ‘แƒแƒ‘แƒก Nginx + แƒ›แƒแƒ“แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒแƒจแƒ”แƒœแƒ”แƒ‘แƒ˜แƒก แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜ - nginx-แƒ›แƒจแƒ”แƒœแƒ”แƒ‘แƒ”แƒšแƒ˜. แƒ—แƒฃ แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ— nginx + wevdav แƒคแƒแƒ˜แƒšแƒ”แƒ‘แƒ˜แƒก แƒแƒกแƒแƒขแƒ•แƒ˜แƒ แƒ—แƒแƒ“, แƒ›แƒแƒจแƒ˜แƒœ แƒ’แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒแƒ— แƒ›แƒแƒ“แƒฃแƒšแƒ˜ nginx-dav-ext-module. แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒชแƒ“แƒ˜แƒšแƒแƒ‘แƒ— Nginx-แƒ˜แƒก แƒแƒจแƒ”แƒœแƒ”แƒ‘แƒแƒก แƒ“แƒ แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒแƒก nginx-dav-ext-module แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒ˜แƒ— nginx-แƒ›แƒจแƒ”แƒœแƒ”แƒ‘แƒ”แƒšแƒ˜ แƒฉแƒ•แƒ”แƒœ แƒ›แƒ˜แƒ•แƒ˜แƒฆแƒ”แƒ‘แƒ— แƒจแƒ”แƒชแƒ“แƒแƒ›แƒแƒก แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ http_dav_module-แƒ˜แƒก แƒ›แƒ˜แƒ”แƒ  nginx-dav-ext-module-แƒ˜แƒก แƒœแƒแƒชแƒ•แƒšแƒแƒ“. แƒ˜แƒ’แƒ˜แƒ•แƒ” แƒฎแƒแƒ แƒ•แƒ”แƒ–แƒ˜ แƒ“แƒแƒ˜แƒฎแƒฃแƒ แƒ แƒ–แƒแƒคแƒฎแƒฃแƒšแƒจแƒ˜ nginx: [emerg] แƒฃแƒชแƒœแƒแƒ‘แƒ˜ แƒ“แƒ˜แƒ แƒ”แƒฅแƒขแƒ˜แƒ•แƒ dav_methods.

แƒ’แƒแƒงแƒ•แƒแƒœแƒ˜แƒก แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ แƒ’แƒแƒ•แƒแƒ™แƒ”แƒ—แƒ” แƒ“แƒแƒแƒ›แƒแƒขแƒ”แƒ— แƒ’แƒแƒ›แƒจแƒ•แƒ”แƒ‘แƒ˜ git_url แƒฉแƒแƒจแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜, แƒ แƒ”แƒคแƒแƒฅแƒขแƒแƒ แƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ --with-{}_module-แƒกแƒ—แƒ•แƒ˜แƒก ะธ if module == "http_dav_module" แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ --with. แƒ›แƒแƒ’แƒ แƒแƒ› แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒแƒ  แƒ›แƒ˜แƒ˜แƒฆแƒ”แƒก.

แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ webdav.conf

DavLockDB /var/www/html/DavLock
<VirtualHost localhost:80>
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html
    ErrorLog /var/log/httpd/error.log
    CustomLog /var/log/httpd/access.log combined

    Alias /rpm /var/www/repos/rpm-repo
    <Directory /var/www/repos/rpm-repo>
        DAV On
        Options Indexes FollowSymlinks SymLinksifOwnerMatch IncludesNOEXEC
        IndexOptions NameWidth=* DescriptionWidth=*
        AllowOverride none
        Require all granted
    </Directory>
</VirtualHost>

แƒ›แƒ” แƒ•แƒคแƒ˜แƒฅแƒ แƒแƒ‘, แƒ แƒแƒ› แƒ—แƒฅแƒ•แƒ”แƒœ แƒ—แƒแƒ•แƒแƒ“ แƒ’แƒแƒแƒ™แƒ”แƒ—แƒ”แƒ‘แƒ— Apache httpd แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒก แƒ“แƒแƒœแƒแƒ แƒฉแƒ”แƒœ แƒœแƒแƒฌแƒ˜แƒšแƒก.

Nginx Apache-แƒก แƒฌแƒ˜แƒœ httpd

Apache-แƒกแƒ’แƒแƒœ แƒ’แƒแƒœแƒกแƒฎแƒ•แƒแƒ•แƒ”แƒ‘แƒ˜แƒ—, Nginx แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒก แƒ›แƒแƒ•แƒšแƒ”แƒœแƒ”แƒ‘แƒ–แƒ” แƒ“แƒแƒคแƒฃแƒซแƒœแƒ”แƒ‘แƒฃแƒš แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ˜แƒก แƒ“แƒแƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒ“แƒ”แƒšแƒก, แƒ แƒแƒช แƒœแƒ˜แƒจแƒœแƒแƒ•แƒก, แƒ แƒแƒ› แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒ”แƒ‘แƒ˜แƒก แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ แƒ˜ แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒกแƒแƒญแƒ˜แƒ แƒแƒ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ”แƒ แƒ—แƒ˜ HTTP แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜แƒก แƒžแƒ แƒแƒชแƒ”แƒกแƒ˜. แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒแƒ— nginx แƒ“แƒ แƒจแƒ”แƒแƒ›แƒชแƒ˜แƒ แƒแƒ— แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜แƒก แƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ.

nginx-front.conf แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ. แƒ›แƒ’แƒแƒœแƒ˜ แƒ“แƒแƒœแƒแƒ แƒฉแƒ”แƒœ nginx-แƒ˜แƒก แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒแƒก แƒ—แƒแƒ•แƒแƒ“ แƒ’แƒแƒแƒ™แƒ”แƒ—แƒ”แƒ‘.

upstream nginx_front {
    server localhost:80;
}

server {
    listen 443 ssl;
    server_name ะฒะฐัˆ-ะฒะธั€ั‚ัƒะฐะปัŒะฝั‹ั…-ั…ะพัั‚;
    access_log /var/log/nginx/nginx-front-access.log main;
    error_log /var/log/nginx/nginx-front.conf-error.log warn;

    location / {
        proxy_pass http://nginx_front;
    }
}

แƒคแƒแƒ˜แƒšแƒ”แƒ‘แƒ˜แƒก แƒฉแƒแƒ›แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ WebDav-แƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒ˜แƒ—

rpm-แƒ˜แƒก แƒฉแƒแƒ›แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ แƒซแƒแƒšแƒ˜แƒแƒœ แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ˜แƒ.

curl -T ./nginx-1.16.1-1.el7.ngx.x86_64.rpm https://ะฒะฐัˆ-ะฒะธั€ั‚ัƒะฐะปัŒะฝั‹ะน-ั…ะพัั‚/rpm/

แƒฌแƒงแƒแƒ แƒ: www.habr.com

แƒแƒฎแƒแƒšแƒ˜ แƒ™แƒแƒ›แƒ”แƒœแƒขแƒแƒ แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ