2015-06-10 1 views
0

У меня есть сервер linux (версия Red Hat Enterprise Linux Server версии 5.3 (Tikanga)) с установленным apache. Он уже используется для просмотра некоторых документов. Теперь я хотел бы добавить новый каталог (с html-страницей), поэтому всякий раз, когда просматривается каталог, он может отображать страницу html.Настройка httpd.conf для добавления нового сайта на Apache Red Hat Linux

Но я не уверен, где все отредактировать файл httpd.conf

Existing httpd.conf:

enter image description here

Когда я попал в URL "http://servername/eng" его отображает список папок.

Теперь я хочу добавить сайт к существующему, поэтому, когда пользователь набрал URL «http://servername/builds», он должен отобразить страницу html в браузере. Я добавил мою страницу «index.html» в папку «/ var/WWW/HTML/строит /»

для этого я добавил код, приведенный ниже, чтобы httpd.conf файла enter image description here

Пожалуйста, дайте мне знать, что все изменения, которые необходимы в файле конф

ответ

1

You может сделать это несколькими способами.

  1. Ввод index.html в /build

    Это требует, чтобы этот параметр: (. Она должна быть там по умолчанию на большинстве платформ)

    DirectoryIndex index.html 
    

    Кроме того, для этого в работайте, вместо того, чтобы ставить новый <Directory>, вы должны поместить каталог build/ в каталог, в котором содержится ваш http://example.com/ файлов. Например:

    /var/www/example.com/public_html/eng/ 
    /var/www/example.com/public_html/builds/ 
    /var/www/example.com/public_html/builds/index.html 
    
  2. Сохранение build/ в папке совершенно не связаны с example.com, но все еще быть в состоянии достигнуть его через example.com/builds

    Для этого, вам нужно переписать URL, так что example.com/builds перенаправляет пользователя на конечный URL. Это наиболее легко достигается через mod_rewrite. Включить mod_rewrite модуль в конфигурации вашего сервера Apache, убедитесь, что example.com может иметь .htaccess файлов путем обеспечения надлежащего AllowOverride запись в <Directory> конфигурации example.com «s, создавать /var/www//example.com/public_html/.htaccess (или аналогичный) файл и заполнить его RewriteEngine On и RewriteRule s вам нужно. Подробнее о mod_rewrite в Интернете и в документации.

  3. Полностью отдельный виртуальный сервер, например builds.example.com/

    В этом случае то, что вы ищете виртуальные серверы. Они не определены в httpd.conf или самой конфигурации, но обычно имеют выделенный каталог.

    Например, чтобы добавить builds.example.com, который работает на порт 80, вам нужно создать следующие записи:

    <VirtualHost *:80> 
        ServerName builds.example.com 
        DocumentRoot /var/www/builds.example.com/public_html/ 
    </VirtualHost> 
    

    Где поставить это? Ну, это зависит от платформы. Для Debian вы помещаете это в новый файл в /etc/apache2/sites-available/, например. /etc/apache2/sites-available/example.com и символическую ссылку на него в /etc/apache2/sites-available (на Debian вы можете сделать это легко с a2ensite <NAME_OF_FILE>.На вашей платформе эта процедура может быть разной, поэтому посмотрите (добавление виртуальных серверов на «будет»). После добавления виртуальных серверов , вам необходимо перезагрузить конфигурацию Apache.

Пожалуйста, дайте мне знать, если это отвечает на ваш вопрос, если нет, то я буду править ответ соответственно.

+0

Спасибо за такой подробный explanation.As на ваш первая точка, я добавил папку 'builds' (с index.html) в том же месте, где присутствует' eng'. Теперь, когда я пробовал просмотр 'servername/builds', я получил ошибку' 403 Forbidden.You не имеет разрешение доступа/builds/index.html на этом сервере. ' – Jill448

+0

Вы уверены, что у Apache есть доступ к нему? (Самый простой способ проверить это будет в 'chmod 0777' этой папке. Это может быть разумным или неразумным в зависимости от того, являетесь ли вы единственным пользователем этой машины.) –