Псевдоним сетевого диска Apache

Я искал аналогичную проблему в stackoverflow, но ни одно из решений не работает.

Я использую WAMP и имею сетевой диск T:\, который я хочу использовать в качестве псевдонима в Apache. Пока я добавил:

Псевдоним /p \\ps-file.server_location.edu\A$
‹ Каталог /p>
Разрешить, запретить
Разрешить со всех
‹ / Каталог>

Однако всякий раз, когда я пытаюсь получить доступ к localhost/p, я получаю запрещенное сообщение 403, в котором говорится: You don't have permission to access /p on this server. Есть предложения?

Я попытался изменить параметры входа в services.msc, но это не позволяет apache запускаться вместе.

РЕДАКТИРОВАТЬ: мне также нужно ввести данные для входа в систему для сетевого диска при первом подключении. Могу ли я как-то передать apache свои данные для входа?


person SortingHat    schedule 15.09.2011    source источник


Ответы (4)


Вам нужно использовать прямую косую черту вместо обратной косой черты или экранировать их все, используя дополнительную обратную косую черту, а также заключая пути в кавычки, как указано Xophmeister. Например:

Alias /p "//ps-file.server_location.edu/A$/"
<Directory "//ps-file.server_location.edu/A$/">
Order allow,deny
Allow from all
</Directory>

or

Alias /p "\\\\ps-file.server_location.edu\\A$\\"
<Directory "\\\\ps-file.server_location.edu\\A$\\">
Order allow,deny
Allow from all
</Directory>

Вы правильно используете путь UNC, если только вы не создадите сопоставленный диск в профиле пользователя, используемом для запуска службы apache.

person Caltor    schedule 04.05.2012

Caltor прав, немного отредактируйте здесь, вы можете использовать <Directory "/p">, потому что у него есть псевдоним. Но я также ненавижу писать сетевой диск в конфигурации, например //p...

Здесь возникает еще одна проблема: в этом методе вы не можете выполнить exec() или пакетный файл, не можете получить информацию о каталоге, open_dir и т. д. не может вернуть результат, также apache не может запускаться как служба. Чтобы решить это,

Прежде всего загрузите http://technet.microsoft.com/en-us/sysinternals/bb842062.aspx Распакуйте ZIP-файл в папку C:/sys. Откройте cmd и

cd c:/sys (enter)
psexec -i -s cmd.exe

затем появится новая командная строка. Все, что тебе нужно

net use j: \\lethea\sharedfolder /persistent:yes

спросит имя пользователя и пароль lethea pc. Вот j: короткое имя сетевого диска. После этого в папке httpd.conf вам не нужно создавать псевдоним или записывать полную карту сети в Documentroot и каталог.

Documentroot = "j:/mywww"  #referencing \\lethea\sharedfolder\mywww
<Directory "j:/mywww">

...

person Emre Karataşoğlu    schedule 22.03.2013
comment
В Windows 8 мне пришлось запускать cmd от имени администратора. Если у вас есть задача окна cmd на панели задач, щелкните правой кнопкой мыши, затем щелкните правой кнопкой мыши командную строку, выберите «Запуск от имени администратора». - person theINtoy; 08.06.2013

Почему бы просто не использовать псевдоним T:\, как в Alias /p T:\? В противном случае я предполагаю, что у Apache нет необходимых разрешений для доступа к указанному UNC (в частности, бит A$, вероятно, все портит, поскольку это специальный общий ресурс).

person Xophmeister    schedule 15.09.2011
comment
Если я использую T:\, я получаю ошибку «Каталог не найден», а если я использую T:\, apache даже не запускается. Сетевой диск, который я сопоставил, также требует входа в систему, который, как я знаю, играет в этом роль, но я точно не знаю, как это сделать. - person SortingHat; 15.09.2011
comment
Вместо этого попробуйте T:/. Вам также может понадобиться заключить путь в кавычки: "T:/". - person Xophmeister; 15.09.2011

чтобы решить эту проблему, вам потребуется: дать разрешение администратору форума файл httpd.exe аутентифицировать службу с помощью администратора окна панели пользовательских служб оставить файл httpd.conf так

DocumentRoot "//192.168.50.2/g/htdocs"

установить ip хоста, где файлы для этого имени машины apache не распознает

person user3394651    schedule 11.05.2014