Два сервера Apache Root
Я использую Apache Friends (XAMPP). Я установил его под диск C:. Его путь - C: \ xampp \
Корнем по умолчанию является C: \ xampp \ htdocs. Таким образом, все программы должны находиться в C: \ xampp \ htdocs \, чтобы мы могли запустить http://localhost/myapp/
PhpMyAdmin поставляется вместе с XAMPP, но находится в C:\xampp\, и его можно запустить из / localhost / phpMyAdmin /.
Когда мое приложение перемещено в C:\xampp\, я не могу запустить его / localhost / myapp.
Я хотел бы иметь два корневых сервера C: \ xampp \ и C: \ xampp \ htdocs \, чтобы я мог разделять свои частные приложения и публичные приложения в разных папках. И то, и другое можно запустить с http://localhost/, например /localhost/myprivateapp/ и /localhost/mypublicapp/
Как я могу это сделать? Я на Windows XP.
2 ответа
По сути, вы можете делать с XAMPP все, что вы делаете с любой другой установкой Apache. Первое, что нужно знать, это то, что файлы конфигурации Apache для установки XAMPP по умолчанию находятся в папках c:\xampp\apache\conf и C:\xampp\apache\conf\extra
Как вы упомянули, webroot по умолчанию - это c: \ xampp \ htdocs, как определено в приведенных выше файлах конфигурации, каталог phpMyAdmin - это не более чем стандартный псевдоним Apache, который заставляет / phpMyAdmin искать в "c: \ xampp \ phpmyadmin \" его файлы.
У вас есть несколько вариантов, в зависимости от того, что вы подразумеваете под общедоступным или личным (я полагаю, вы можете захотеть защитить паролем личные файлы) Вы можете использовать псевдоним или даже настроить совершенно новый vhost / сервер, я опубликую ссылки на некоторую документацию и очень простой пример ниже.
- Виртуальные хосты Apache (c:\xampp\apache\conf\extra\httpd-vhosts.conf)
- Apache Mod_alias
- Apache Core - Справочник
Самый простой способ выполнить то, что вы хотите, - создать папку в корне c: \ xampp с именем "private" - "c:\xampp\private\" и отредактировать папку c:\xampp\apache\conf\extra\httpd. -xampp.conf файл со строкой:
Alias /private "/xampp/private"
Если вы хотите защитить его паролем или дать другие специальные директивы, вы должны следовать этой строке с блоком каталога:
<Directory "/xampp/private">
AuthType Basic
AuthName "Restricted Files"
AuthUserFile /xampp/htpasswd-private
Require user foo
</Directory>
Каждый раз, когда вы вносите изменения в эти файлы, вам нужно перезапустить Apache, чтобы они вступили в силу.
Благодаря WerkkreW я добавил псевдоним для своей личной папки, как показано ниже. Теперь я могу получить доступ к своим приложениям из /localhost/private/myapp.
Alias /private "C:/xampp/private/"
<Directory "C:/xampp/private/">
Order allow,deny
Allow from all
</Directory>
Но мне все еще нужно запустить мое приложение / localhost / private / myapp как /localhost/myapp. Таким образом, я попробовал псевдоним, как показано ниже:
Alias / "C:/xampp/private/"
<Directory "C:/xampp/private/">
Order allow,deny
Allow from all
</Directory>
Я думаю, что это неправильное использование, и я не могу получить доступ к своим приложениям в C:\xampp\htdocs