Измените корневую папку документа Apache на дополнительный жесткий диск

Я установил ubuntu 12.04 server edition для своего серверного ПК. я установил сервер lamp. мне нужно изменить местоположение var / www на мое дополнительное местоположение на жестком диске. я был настроен так много раз на gedit /etc/apache2/sites-available /default вот мой код

<VirtualHost *:80>    ServerAdmin webmaster@localhost    #DocumentRoot /var/www    DocumentRoot /media/myserver/    <Directory />        Options FollowSymLinks        AllowOverride None    </Directory>    #<Directory /var/www/>        <Directory /media/myserver/>        Options Indexes FollowSymLinks MultiViews        AllowOverride None        Order allow,deny        allow from all    </Directory>    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/    <Directory "/usr/lib/cgi-bin">        AllowOverride None        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch        Order allow,deny        Allow from all    </Directory>    ErrorLog ${APACHE_LOG_DIR}/error.log    # Possible values include: debug, info, notice, warn, error, crit,    # alert, emerg.    LogLevel warn    CustomLog ${APACHE_LOG_DIR}/access.log combined    Alias /doc/ "/usr/share/doc/"    <Directory "/usr/share/doc/">        Options Indexes MultiViews FollowSymLinks        AllowOverride None        Order deny,allow        Deny from all        Allow from 127.0.0.0/255.0.0.0 ::1/128    </Directory></VirtualHost>

а также используется

sudo chown -R var/www /media/myserver/

и

chmod -R 755 /media/myserver/

тем не менее, я не смог подключить свой / media / myserver, и мой браузер показывает следующее сообщение

ForbiddenYou don't have permission to access / on this server.

Пожалуйста, скажите кому-нибудь, как смонтировать myserver на моем var / www, заранее спасибо

Вам придется отредактировать apache2.conf и 000-default.conf чтобы изменить корневой каталог документа apache.

Сервер Apache установлен на /var/www/html.Это корневой каталог apache по умолчанию.

Либо измените корневой каталог Apache, либо переместите проект в /var/www/html.

  1. Чтобы изменить корневой каталог Apache, запустите:

     cd /etc/apache2/sites-available
  2. Затем откройте 000-default.conf файл с помощью команды:

     nano 000-default.conf
  3. Отредактируйте DocumentRoot вариант:

     DocumentRoot /path/to/my/project
  4. Затем перезапустите сервер apache:

     sudo service apache2 restart

Если вы получите Forbidden You don't have permission to access / on this server после изменения корня apache выполните следующие действия

  1. Найти apache2.conf расположенный в /etc/apache2 и откройте его с помощью:

     nano apache2.conf
  2. Воспользуйся Ctrl+W и найдите каталог (он должен быть в строке 153)

  3. Это должно выглядеть примерно так

     <Directory />     Options Indexes FollowSymLinks     AllowOverride All     Require all denied </Directory>
  4. Измените его на

     <Directory />     Options Indexes FollowSymLinks Includes ExecCGI     AllowOverride All     Require all granted </Directory>
  5. Перезапустить apache

     sudo service apache2 restart

Я создал скрипт, который изменяет корень apache одной командой. Вы можете найти его на моем github.

Может быть, немного поздно. Но все же..

Вы должны отредактировать свои права доступа к каталогу в apache.conf в разделе /etc/apache2

Ищите это

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

и добавьте этот код под ним, который дает разрешение на доступ к вашему каталогу

 <Directory /media/myserver/>            Options Indexes FollowSymLinks            AllowOverride None            Require all granted    </Directory>

Просто измените корень документа в вашей активированной конфигурации. /etc/apache2/sites-enabled/000-default а затем убедитесь, что вы перезагрузили свой apache.

Так что попробуйте с этим:

<VirtualHost *:80>    ServerAdmin webmaster@localhost    DocumentRoot /media/myserver/    <Directory />        Options FollowSymLinks        AllowOverride None    </Directory>    <Directory /media/myserver/>        Options Indexes FollowSymLinks MultiViews        AllowOverride None        Order allow,deny        allow from all    </Directory>    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/    <Directory "/usr/lib/cgi-bin">        AllowOverride None        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch        Order allow,deny        Allow from all    </Directory>    ErrorLog ${APACHE_LOG_DIR}/error.log    # Possible values include: debug, info, notice, warn, error, crit,    # alert, emerg.    LogLevel warn    CustomLog ${APACHE_LOG_DIR}/access.log combined</VirtualHost>

Тогда надлежащее разрешение должно быть дано следующим образом:

sudo adduser <username> www-datasudo chown -R www-data:www-data /media/myserver/sudo chmod -R g+rw /media/myserver/
  1. вы изменяете apache2.conf. Заменить /var/www/ с /your/path:

    <Directory /your/path/>    Options Indexes FollowSymLinks    AllowOverride None    Require all granted</Directory>
  2. Измените 000-default.conf файл:

    DocumentRoot /your/path/
  3. Измените права собственности на каталоги на себя из файлового менеджера или терминала (например sudo chown pi: path). Без этого вы получите это сообщение об ошибке:

    You don't have permission to access / on this server.

В качестве быстрого решения (безопасного и быстрого) вы можете установить точку монтирования вашего внешнего жесткого диска в корневой каталог по умолчанию (/var/www по умолчанию).

Назначение точки монтирования для каждого существующего каталога безопасно, но доступ к старому содержимому невозможен, если вы не отключите драйвер.

Чтобы узнать больше о том, как создать точку крепления, обратитесь к этот.

Для тех, кто использует гостевые дополнения VirtualBox и получает you don't have permission to access /on this server несмотря на все вышесказанное:

Если вы пытаетесь установить корневую папку Apache document в общую папку VirtualBox, и вы перепробовали все вышеописанное, но это не помогло, есть еще один шаг.

Короче говоря, решение состоит в том, чтобы добавить пользователя "www-data" в группу "vboxsf":

sudo usermod -a -G vboxsf www-data

Вы не можете изменить владельца и / или группу общей папки VirtualBox, но приведенное выше решение хорошо сработало для меня.

sudo gedit etc/apache2/apache2.conf добавьте эти параметры Indexes FollowSymLinks MultiViews AllowOverride None Order разрешить,запретить разрешить из всех

в виртуальной конфигурации :/etc/apache2/sites-available/site.conf

ServerAdmin anilrmg@localhost.comServerName anilrmg.localhost.comServerAlias www.anilrmg.localhost.comDocumentRoot /home/anilrmg/projects/code/anilrmg

sudo a2dissite 000-default.conf

Я должен был убедиться, что весь путь был предоставлен Apache.

chown www-data /media;chown www-data /media/MNT/;chown www-data /media/MNT/DISK;chown www-data /media/MNT/DISK/www-root;

был ли второй диск отформатирован и смонтирован в каталоге /media/myserver? вы добавили запись fstab для этого диска?

Вы пробовали изменить файл apache2.conf?

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