Два сервера 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 / сервер, я опубликую ссылки на некоторую документацию и очень простой пример ниже.

Самый простой способ выполнить то, что вы хотите, - создать папку в корне 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

Другие вопросы по тегам