Как изменить корневой каталог сервера 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-бит следующие работы:
-
на
/etc/apache2/sites-available/
открыть000-default.conf
файл и измените Корень Документа абсолютный путь к директории.sudo vim /etc/apache2/sites-available/000-default.conf
-
на
/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....
Я /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