Как создать виртуальный хост apache, который направляет общий сетевой ресурс SMB?

У меня есть общий файловый ресурс SMB в моей локальной сети. Я храню все свои сайты на этом сервере. У меня есть другой сервер под управлением CentOS, на котором размещен веб-сервер Apache. Как создать виртуальный хост, который направляет общий ресурс SMB?

Путь к серверу SMB - smb: //10.0.0.177/fms%20studios/Websites .

Это то, что у меня сейчас есть в моем файле httpd-vhosts.conf .

<VirtualHost *:80>
ServerAdmin flyingmcsquid@gmail.com
ServerName tree.fmsds.xyz
ServerAlias www.tree.fmsds.xyz
DocumentRoot "smb://10.0.0.177/fms%20studios/Websites/"
<Directory  "smb://10.0.0.177/fms%20studios/Websites/">
    Options +Indexes +Includes +FollowSymLinks +MultiViews
    AllowOverride All
    Require all granted
</Directory>
</VirtualHost>
0
задан 14 May 2017 в 08:47
1 ответ

Има два различни проблема за решаване на проблема ви:

  1. Удостоверяване : да предположим, че кутията на Windows обслужва мрежовия дял " fms studios ", шансовете са високо, че такъв дял е " защитен ", така че отдалеченият достъп изисква двойка потребителско име / парола;

  2. Методи за достъп : вашият Apache трябва да знае къде се намира коренът на документа на неговия виртуален хост . Въз основа на вашия въпрос, вие "предполагате", че префиксът "smb: //" ще позволи на Apache да познава / обработва отдалечен достъп до SMB споделяне.

Нека започнем да се обръщаме към точка 2. Както можете да видите от официална документация директивата „ DocumentRoot “ изисква път на директория. Това, обикновено,е "локален" път, дефиниран във файловата система на локалната машина.

Това не е проблем за вас, тъй като е напълно възможно да "монтирате" отдалечен SMB мрежов дял, "вътре" нашата локална файлова система. Потърсете "linux smb mount" в предпочитаната от вас търсачка или започнете проучване от тук . Това ще позволи на вашия SMB споделяне да бъде достъпен по път като / mnt / server_win2012 / fms% 20studios . Можете да мислите за това като за еквивалент - като за света на Windows - на достъп до мрежов дял с писмо на устройство, отнесено към отдалечен път, вместо достъп до UNC пътя (... започвайки с \\ < нещо> ) директно от Explorer.

И така, сега можете да позволите на Apache да поиска достъп до мрежово споделяне на SMB.

Нека пристъпим към точка 1), " Удостоверяване ". Както можете да видите в раздела " Общи опции на mount.cifs " на вече споменатия документ, можете да посочите опциите " user = " и " pass = " докато монтирате ресурса.

Моля, отделете малко време, за да обмислите внимателно целта на такава опция, особено свързана с други две допълнителни опции " uid = " и " gid = " : първите две ( user = и pass = ) се използват за дистанционно удостоверяване и следователно трябва да съвпадат с някакво потребителско име, дефинирано на сървъра . Последната двойка (uid = и gid =) се използва на клиента , за да каже на локалната операционна система кой ще бъде потребителят и групата, която ще "притежава" файловете, след като бъдат монтирани в локалната файлова система и следователно, когато те ще бъдат достъпни за потенциално всички потребители, дефинирани локално (очевидно, съвсем различен набор от сървъра - поне в "общи" сценарии). В началото това може да звучи малко сложно, но ... щом се замислите, съвсем скоро ще стане ясно: -)

Що се отнася до конкретния ви случай, предполагам, че искате да посочите "uid =" и "gid =" съответства на вашия локален "httpd" потребител, така че Apache ще получи достъп до отдалечените ресурси.

Не копая повече, обсъждайки проблеми с удостоверяването и / или правилната конфигурация за автоматично монтиране на SMB споделяне при зареждане като те са извън обхвата на ОП, така че, моля, действайте сами. Въпреки това ви призовавам да действате много внимателно, за да избегнете общото разрешение за писане на уеб сървъра . По-общо, бъдете изключително внимателни, когато предоставяте достъп до местни / мрежови ресурси на потребител, който е съотнесен към интернет / обществена услуга, като уеб сървър. Опитайте се да избягвате такъв достъп и ако е абсолютно необходимо, дайте му абсолютно минимален набор разрешения (предлагам: започнете с монтиране само за четене или монтиране за четене и запис на мрежов дял само за четене и , ако не е достатъчно ... опитайте се да го удължите по-късно ...)

4
ответ дан 4 December 2019 в 11:43

Теги

Похожие вопросы