Конфигурация Apache (виртуальные директории)

Тема в разделе "Веб-серверы - Администрирование", создана пользователем skaa, 7 мар 2007.

Статус темы:
Закрыта.
  1. skaa

    skaa Гость

    В IIS я могу создать Virtual Directory где угодно на своём диске и запускать странички из неё типа http://localhost/TestDirectory/index.html. Возможно ли такое в Apache и как это сделать?
    Спасибо!
     
  2. admin

    admin Well-Known Member

    Регистрация:
    8 авг 2003
    Сообщения:
    2.811
    Симпатии:
    0
    Для: skaa
    можешь
    только в пределах apache home директории
    virtualhosts называется
    делаешь хосты и будет тебе счастье
     
  3. GOsha

    GOsha Гость

    Вот те пример виртуального хоста:
    Код (Text):
    ##########
    #-----TEST----#
    <VirtualHost test>
    ServerAdmin admin@brest.by
    ServerName test
    DocumentRoot "E:/hosts/test/www"
    ScriptAlias /cgi/ "E:/hosts/test/cgi/"
    ErrorLog E:/hosts/test/logs/error.log
    CustomLog E:/hosts/test/logs/access.log common
    DefaultType text/plain
    </VirtualHost>
    Пишется внизу httpd.conf (конфиг апача) по примеру localhost`a
     
  4. Holger Dee Assuran

    Holger Dee Assuran Гость

    Поднял апач + рнр + МуСкул под линухом.
    В конце httpd.conf написал
    Код (Text):
    NameVirtualHost 127.0.0.1
    <VirtualHost localhost>
    ServerName localhost
    DocumentRoot "/home/localhost/www"
    ScriptAlias /cgi/ "/home/localhost/cgi"
    ErrorLog /home/localhost/log/error.log
    CustomLog /home/localhost/log/access.log common
    </VirtualHost>

    <VirtualHost carprice>
    ServerName carprice
    DocumentRoot "/home/carprice/www"
    ScriptAlias /cgi/ "/home/carprice/cgi"
    ErrorLog /home/carprice/log/error.log
    CustomLog /home/carprice/log/access.log common
    </VirtualHost>
    Внутри /home/carprice/www находится файл index.php
    Пытаюсь открыть бравзером http://carprice/ - а он мне говорит
    Подскажите как быть. Голова уже почти сломалась.
     
  5. Llama

    Llama Гость

    Господа, иногда лучше молчать чем говорить...
    Если я правильно понял проблему, то речь идет о том, чтобы некоторый каталог файловой системы, напримет /path/to/somedir был досутпен при обращении к http://hostname/somedir/ ?
    Для этого следует использовать директиву Alias. Нормальная работа Name-base Virtua Host требует поддержки резольвером со всех компов которые будут обращатся, что не всегда бывает удобно
    Посему:
    0) RTFM http://httpd.apache.org/docs/2.2/mod/mod_alias.html#alias
    1) Нафиг все vhost'ы
    2) Alias "/somedir/" "/path/to/somedir/" в конфиг.
    3) Если надо запускать что-то типа cgi, стоит посмотреть на директивы Directory и Options. Для php это скорее всего не актуально.
    4) Следует порверить чтобы пользователь под которым запущен веб-сервер имел соответсвующие права доступа:
    4.1) Если надо получить доступ к конкретному файлу - то должна быть возможность доступа (не об/зательно чтение огравления) ко всем каталогам от корня до того каталога в котором файл включительно.
    4.2) Если надо просмотреть содержимое каталога - то к этому конкретному каталогу должено быть разрешено еще и чтение оглавления.
     
  6. Holger Dee Assuran

    Holger Dee Assuran Гость

    Речь идет о том, чтобы использовать для отладки Apache и MySQL установленные на локальной машине. При этом доступность этих серверов из сети скорее не нужна, чем нужна. А суть ухвачена верно - необходимо что-бы при обращении браузером к адресу http://carprice он открывал файл /home/carprice/www/index.php
    Моя проблема состоит в том что хост http://carprice он воспринимает правильно, но внутрь не пускает.
     
  7. Llama

    Llama Гость

    Для: Holger Dee Assuran
    Зачем вы поднимаете совершенно другой вопрос в чужой теме? Создали бы совю...
    Вам надо читать пункт 4 моего предыдущего ответа и сообщения об ошибках веб-сервера.
     
  8. garrymax

    garrymax Гость

    Первое по теме:
    Llama правильно объяснил, альясы - это аналог виртуальным директориям в IIS: удобство в рамках одного имени хоста - практически полный ответ. Добавлю тока, что все альясы можно прописывать прямо в .htaccess головной директории, что бы не засорять основной файл конфигурации. А виртуальные хосты, это уже другая тема - это несколько имен сайтов - можно запутать того, кто задал вопрос.

    Второе, уже не по теме:
    Для Holger Dee Assuran. Самое простое объяснение, что стоит запрет на чтения содержимого директории (параметр Options Indexes - пункт 4.2 от Llama )
    забыл вот это
    Код (Text):
    DirectoryIndex index.php , index.html
    а иначе нет файла index.html - нет доступа к директории. Эту же строку можно прописать в .htaccess - индеец поймет, если загружен модуль mod_dir (по умолчанию в конфиге он есть)
    Проверь свой вариант на запросе http://carprice/index.php - должен вывести работу скрипта, если пхп правильно установлен (иначе текст скрипта, но что-то все равно прийдет).

    Ну и третье (опять не по теме), по виртуальным хостам и локалки:
    Если уж возникло "нужна, не нужна доступность", то у каждого компа есть такой файл HOSTS - это самый простой вариант. В него можно все названия виртуальных хостов прописать с ссылкой на сервер, что бы эти компы в локалке знали, где все эти хосты искать - точнее выполнить преобразование имени к адресу. Иначе надо поднимать DNS на сервере и указывать его в качестве основного для компов в сети (и не забыть там forwarders для "реального" основного).
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей