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



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

1188   17  

17 ответов:

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

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

<Directory "/var/www">

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

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

Edit: файлы конфигурации сайта 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 на 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. На хост файлы конфигурации находятся в /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 to:

<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.

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

не редактировать файлы на сайтах с поддержкой(или *-включить) директорию, как указывалось в ответе на этот вопрос 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, как sudo a2ensite 000-default.conf

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

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

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* содержание.

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

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

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

  2. In /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-по умолчанию.conf в каталоге / etc/apache2 / sites-доступно.

здесь--> Издание webmaster@localhost DocumentRoot /var / www / html / YourFolder

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

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

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

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

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

2.перейдите в /etc/apache2/sites-available / 000-default.конф ищите 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-по умолчанию.конф 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 до /home/<USERNAME>/public_html. Также <Directory /var/www/html> до <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>

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

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

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

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

вместо изменения каталога по умолчанию вашего веб-сервера, вы можете создать 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-default.conf

Comments

    Ничего не найдено.