Как изменить корневой каталог сервера apache? [закрытый]

кто-нибудь знает, как сменить корень документов в Apache сервер? Я в принципе хочу!--0--> приехал из

17 ответов


вам нужно изменить DocumentRoot настройки . Скорее всего, это будет что-то вроде /etc/apache2/conf/httpd.conf

используйте свой любимый редактор (я рекомендую Vim) и ищите DocumentRoot и меняем его на /users/spencer/projects. Также посмотрите немного ниже для настройки, которая выглядит следующим образом:

<Directory "/var/www">

вы также хотите изменить то, что находится в кавычках в новый каталог. Это дает Apache доступ для чтения из этого каталога, когда пользователь делает просьба, которая призывает его.

теперь перезапустите службу apache (httpd -k restart) и вы должны быть хорошо идти.

редактировать: файлы конфигурации сайта Apache2 теперь обычно хранятся в /etc/apache2/sites-available/ (Debian, Ubuntu и т.д.).


обратите внимание, что это относится только к Ubuntu 14.04 LTS и более новым выпускам.

в моем Ubuntu 14.04 LTS корень документа был установлен в /var/www/html. Он был настроен в следующем файле:

/etc/apache2/sites-available/000-default.conf

так что просто сделайте

sudo nano /etc/apache2/sites-available/000-default.conf

и измените следующую строку, что вы хотите:

DocumentRoot /var/www/html

и

sudo nano /etc/apache2/apache2.conf

и найти этот

<Directory /var/www/html/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>

, и /var/www/html в свой крупный каталог

и сохранить его.

после сохранения изменений просто перезапустите веб-сервер apache2, и все будет готово:)

sudo service apache2 restart


Если вы предпочитаете графический текстовый редактор, вы можете просто заменить sudo nano by a gksu gedit.

мне пришлось редактировать /etc/apache2/sites-available/default. Линии такие же, как упомянутые RDL.


Это для Ubunutu 14.04:

в файле /etc/apache2/apache2.conf это должно быть, как показано ниже, без имени каталога:

<Directory /home/username>
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

и в файл /etc/apache2/sites-available/000-default.conf вы должны включить имя пользовательского каталога, т. е. www:

DocumentRoot /home/username/www

если не как выше, это даст вам ошибку при загрузке сервера: Forbidden You don't have permission to access / on this server


правильный способ изменить каталог или запустить из нескольких каталогов под другим портом для apache2 выглядит следующим образом:

для apache2 файлы конфигурации находятся в папке /etc/apache2 и не использует один файл конфигурации, как в старых версиях, но разделен на меньшие файлы конфигурации, с /etc/apache2/apache2.conf будучи основным файлом конфигурации. Для обслуживания файлов из другого Каталога нам нужен новый файл virtualhost conf. Файлы virtualhost conf расположены в /etc/apache2/sites-available (не редактируйте файлы в пределах разрешенных сайтов). Установка apache по умолчанию использует файл virtualhost conf 000-default.conf.

начните с создания нового файла virtualhost, скопировав файл virtualhost по умолчанию, используемый установкой apache по умолчанию (тот, который работает на localhost на порту 80). Перейдите в каталог /etc/apache2/sites-available а затем сделать копию sudo cp 000-default.conf example.com.conf, теперь отредактируйте файл sudo gedit example.com.conf в:

<VirtualHost *:80>
    ServerAdmin example@localhost
    DocumentRoot /home/ubuntu/example.com    
</VirtualHost>

я удалил не важные строки из вышеуказанного файла для краткость.

создайте каталог, из которого вы хотите обслуживать файлы, например;mkdir example.com и измените владельца и группу по умолчанию каталога, например, если ваше зарегистрированное имя пользователя ubuntu изменить разрешения, как sudo chown ubuntu:www-data example.com. Это предоставляет полный доступ к пользователю ubuntu и позволяет читать и выполнять доступ к группе www-data.

теперь отредактируйте файл Apache conf /etc/apache2/apache2.conf по команде sudo gedit apache2.conf и находим строку <Directory /var/www/> и под закрывающим тегом </Directory>, добавьте следующий ниже:

<Directory /home/ubuntu/example.com>
    Options Indexes FollowSymLinks Includes ExecCGI
    AllowOverride All
    Require all granted
</Directory>

теперь есть две команды для включения или отключения файлов конфигурации virtualhost, которые являются a2ensite и a2dissite соответственно. Теперь с нашего использует тот же порт(80), используемый файлом конфигурации по умолчанию (000-default.conf), мы должны отключить файл конфигурации по умолчанию, выполнив команду sudo a2dissite 000-default.conf и включить наш файл VirtualHost conf по sudo a2ensite example.com.conf

Теперь перезагрузите или перезагрузите сервер с помощью команды sudo service apache2 restart. Теперь apache обслуживает файлы из каталога example.com at localhost на порту по умолчанию 80.

на a2ensite команда в основном создает символическую ссылку на файл conf в каталоге с поддержкой сайта

не редактируйте файлы в directoy с поддержкой сайтов(или *-enabled), как указано в этом ответеhttps://stackoverflow.com/a/41568701/2532763

изменить порт и запустить из нескольких каталогов на различных порты:

теперь, если вам нужно запустить каталог на другом порту, измените номер порта с 80 на 8080, отредактировав файл virtualhost как:

<VirtualHost *:8080>
    ServerAdmin user@localhost
    DocumentRoot /home/ubuntu/work
</VirtualHost>

и монтаж /etc/apache2/ports.conf и добавить Listen 8080 после строки Listen 80

теперь мы можем включить файл virtualhost conf по умолчанию, который работает на порту 80, так как example.com каталог использует порт 8080, as sudo a2ensite 000-default.conf

Теперь перезагрузите или перезагрузите сервер с помощью команды sudo service apache2 restart. Теперь доступ к каталогам можно получить из localhost и localhost:8080


Я работал с лампой и изменить корневую папку документа я отредактировал по умолчанию файл, который есть в в/etc/apache2 не/сайты-скачать папка. Если вы хотите сделать то же самое, просто отредактируйте следующим образом

DocumentRoot /home/username/new_root_folder
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>
    <Directory /home/username/new_root_folder>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
    </Directory>

после этого, если вы наберете localhost в браузере, он загрузится * / главная / имя пользователя / new_root_folder* содержание.


на apache2 не on Linux Mint 17.3 Cinnamon 64-бит следующие работы:

  1. на /etc/apache2/sites-available/ открыть 000-default.conf файл и измените Корень Документа абсолютный путь к директории.

    sudo vim /etc/apache2/sites-available/000-default.conf

  2. на /etc/apache2/ открыть httpd.conf и добавить <Directory> тег, ссылающийся на ваш каталог и содержащий те же самые параметры, что и тег var/www.

    sudo vim /etc/apache2/apache2.conf

    на моей машине это выглядело так:


<Directory /home/my_user_name/php/>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
</Directory>

Примечание: на первом шаге вы, вероятно, хотите изменить Корень Документа на default-ssl.conf файл, а также для целей SSL. Но, насколько я могу судить, это не требуется для запуска общей среды разработки.


Если вы не смогли найти http.conf и последовал за Ником.

перезапустите Apache с помощью sudo service apache2 restart


Если вы используете Ubuntu 16.04. Пожалуйста, обновите 000-default.conf в каталоге /etc/apache2 / sites-доступно.

здесь--> Издание веб-мастер@localhost DocumentRoot так /var/www/html / YourFolder


если кто-то установил LAMP на /opt папка затем /etc/apache2 не то, что вы ищете.

искать на /opt/lampp/etc/httpd.conf.

измените строку в этой папке и сохраните ее из терминала.


в apache версии 2.4.18 (Ubuntu).

1.перейдите в этот файл /etc/apache2 / apache2.conf поиск <Directory /var/www/> и замените в каталог ......

2.перейдите в /etc/apache2/sites-available / 000-по умолчанию.conf поиск DocumentRoot /var/www/html и замените на DocumentRoot....


В RedHat 7.0:/etc/httpd/conf/httpd.conf


Я /var/www быть мягкой ссылкой на необходимый каталог ( например. /users/username/projects) и после этого все было хорошо.

, конечно,/var/www необходимо удалить -- или переименовать.

Если вы используете Linux Mint (личное мнение, из всех дистрибутивов это делает меня счастливым), следуйте этому:

1-Перейти к /etc/apache2 / sites-доступно и редактировать 000-по умолчанию.conf 2-Поиск DocumentRoot, пример DocumentRoot / var / www / html вы переходите в соответствующий каталог; 3-откройте терминал и введите: sudo service apache2 restart

редактировать----- Я понимаю, что в Mint вы идете на /etc/apache2/apache.conf, замените /var / www на ваш соответствующий путь, чем перезагрузите сервер (Шаг 3).


относится к Ubuntu 14.04 и более поздние выпуски. Перед внесением изменений обязательно сделайте резервную копию следующих файлов.

1.Открыть /etc/apache2/apache2.conf и ищите <Directory /var/www/> директива и заменить путь на /home/<USERNAME>/public_html. Вы можете использовать * вместо .

2.Открыть /etc/apache2/sites-available/000-default.conf и заменить DocumentRoot значение свойства из /var/www/html to /home/<USERNAME>/public_html. Также <Directory /var/www/html> to <Directory /home/<USERNAME>/public_html.

3.Открыть /etc/mods-available/php7.1.conf. Найти и прокомментировать следующий код

<IfModule mod_userdir.c>
    <Directory /home/*/public_html>
        php_admin_flag engine Off
    </Directory>
</IfModule>

не получится ON php_admin_flag engine OFF флаг как причина упоминается в комментарии выше кода директивы. Также версия php может быть 5.0, 7.0 или все, что вы установили.

создать на home/<USERNAME>.

перезапустите службу apache, выполнив команду sudo service apache2 restart.

Test, запустив пример сценария на сервере.


вместо изменения каталога по умолчанию вашего веб-сервера, вы можете создать Alias.

поэтому вы должны создать два файла:

  • один /etc/apache2/sites-available/ и
  • один /etc/apache2/sites-enabled/

назовите их обоих чем-то вроде example.conf и вставить в оба файла Alias <where you want to access (eg. /example)> "<your files directory (eg. /home/user/host/example)>"

тогда вы должны иметь доступ к нему с //localhost/example.

EDIT:

может быть, я забыл упомяните некоторые команды, потому что я их забыл :P
или вам нужно отредактировать разрешения папки / файла, к которому вы пытаетесь получить доступ.


Если вы (как и я) находите этот пост через Google:

Я нашел его в /etc/apache2/sites-available / 000-по умолчанию.conf