Кто-нибудь знает, как изменить корень документа на сервере Apache? В основном я хочу, чтобы localhost
появился из /users/spencer/projects
, а не /var/www
.
Изменить
Я закончил тем, что понял. Некоторые предложили мне изменить файл httpd.conf
, но я нашел файл в /etc/apache2/sites-available/default
и изменил корневой каталог с /var/www
на /home/myusername/projects_folder
, и это сработало.
Ответ 1
Вам нужно изменить параметр DocumentRoot
в файле httpd.conf
. Скорее всего, это будет под чем-то вроде /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 и т.д.).
Ответ 2
Обратите внимание, что это относится только к версиям 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
на gksu gedit
.
Ответ 3
Мне пришлось отредактировать /etc/apache2/sites-available/default
. Линии те же, что упоминалось в RDL.
Ответ 4
Это для 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
Ответ 5
Для apache2 на Linux Mint 17.3 Корица 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. Но, насколько я могу судить, это не требуется для создания общей среды разработки.
Ответ 6
Если вы не смогли найти http.conf
и последовали за Ником.
Перезапустите Apache с помощью sudo service apache2 restart
Ответ 7
Я работал с LAMP и Чтобы изменить папку корневого каталога документа, я редактировал файл по умолчанию, который есть в
/etc/apache2/sites-available.
Если вы хотите сделать то же самое, просто отредактируйте следующим образом
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 в браузере, он загрузит содержимое */home/username/new_root_folder *.
Ответ 8
Правильный способ изменения каталога или запуска из нескольких каталогов в другом порту для apache2 выглядит следующим образом:
Для apache2 файлы конфигурации находятся в /etc/apache2
и не используют один файл конфигурации, как в старых версиях, но разделены на более мелкие файлы конфигурации, причем /etc/apache2/apache2.conf
является основным конфигурационным файлом. Чтобы обслуживать файлы из другого каталога, нам нужен новый файл confhost. Файлы confhost для виртуального хоста расположены в /etc/apache2/sites-available
(не редактируйте файлы в разрешенных сайтах). Установка apache по умолчанию использует файл confhost для conf 000-default.conf
.
Начните с создания нового файла виртуального хоста, скопировав файл виртуального хоста по умолчанию, используемый установкой 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>
Теперь есть две команды для включения или отключения файлов конфигурации виртуального хоста, которые являются a2ensite
и a2dissite
соответственно. Теперь, поскольку наш файл example.com.conf
использует тот же порт (80
), который используется конфигурационным файлом по умолчанию (000-default.conf
), мы должны отключить файл конфигурации по умолчанию, выпустив команду sudo a2dissite 000-default.conf
и включив наш файл confhost virtualhost на sudo a2ensite example.com.conf
Теперь перезапустите или перезагрузите сервер командой sudo service apache2 restart
. Теперь apache обслуживает файлы из каталога example.com
в localhost
на порт по умолчанию 80
.
Команда a2ensite
в основном создает символическую ссылку на файл conf в каталоге с поддержкой сайта
Не редактируйте файлы с поддержкой (или * -enabled) на сайтах, как указано в этом ответе fooobar.com/questions/33013/...
Чтобы изменить порт и запустить из нескольких каталогов на разных портах:
Теперь, если вам нужно запустить каталог на другом порту, измените номер порта с 80 на 8080, отредактировав файл виртуального хоста следующим образом:
<VirtualHost *:8080>
ServerAdmin user@localhost
DocumentRoot /home/ubuntu/work
</VirtualHost>
и редактирование /etc/apache2/ports.conf
и добавление Listen 8080
чуть ниже строки Listen 80
Теперь мы можем включить файл confhost для виртуального хоста по умолчанию, который работает на порту 80, поскольку каталог example.com использует порт 8080, а sudo a2ensite 000-default.conf
Теперь перезапустите или перезагрузите сервер командой sudo service apache2 restart
. Теперь к каталогам можно получить доступ из localhost
и localhost:8080
Ответ 9
Если кто-то установил LAMP
в папку /opt
, тогда /etc/apache2
не то, что вы ищете.
Найдите httpd.conf
файл в /opt/lampp/etc/httpd.conf
.
Измените строку в этой папке и сохраните ее с терминала.
Ответ 10
В версии apache 2.4.18 (Ubuntu).
1.go в этот файл /etc/apache 2/apache2.conf
найдите <Directory /var/www/>
и замените на свой каталог......
2.go to/etc/apache2/sites-available/000-default.conf
найдите DocumentRoot /var/www/html
и замените на свой DocumentRoot....
Ответ 11
В RedHat 7.0: /etc/httpd/conf/httpd.conf
Ответ 12
Я сделал /var/www
мягкой ссылкой на требуемый каталог (например, /users/username/projects
), и после этого все было в порядке.
Однако, естественно, исходный /var/www
нужно удалить или переименовать.
Ответ 13
Если вы используете Linux Mint (личное мнение, из всех дистрибутивов это делает меня счастливым), выполните следующие действия:
1- Перейдите в /etc/apache 2/sites-available и отредактируйте 000-default.conf
2- Поиск DocumentRoot, например DocumentRoot/var/www/html, который вы меняете в соответствующий каталог;
3- Открытый терминал и тип: sudo service apache2 restart
EDITED -----
Я понимаю, что в Mint вы переходите на /etc/apache 2/apache.conf, замените/var/www на ваш соответствующий путь, а затем перезапустите сервер (шаг 3).
Что это.
Ответ 14
Если вы (как я) находили это сообщение через Google:
Я нашел его на/etc/apache2/sites-available/000-default.conf