Корневая папка документа Apache изменения к вторичному жесткому диску

Я установил выпуск сервера человечности 12.04 для своего ПК сервера. я установил сервер лампы. я должен изменить 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, и мой браузер показывают следующее сообщение

Forbidden

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

Скажите любому, как смонтировать myserver в моем var/www, спасибо усовершенствование

40
задан 27 August 2013 в 17:05

8 ответов

Вам нужно будет отредактировать 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
     

Если вы получили Запрещено У вас нет разрешения на доступ / на этом сервере после изменения корня apache, выполните следующие действия.

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

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

  3. Он должен выглядеть так

      
      Индексы опций FollowSymLinks
      AllowOverride All
      Требовать все отклонено
      
     
  4. Измените его на

      
      Индексы опций FollowSymLinks Включает ExecCGI
      AllowOverride All
      Требовать все предоставлено
      
     
  5. Перезапустить apache

      sudo service apache2 restart
     

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

57
ответ дан 27 August 2013 в 17:05

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

Вам следует отредактировать права доступа к вашему каталогу в 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>
22
ответ дан 27 August 2013 в 17:05

Просто измените корень документа в вашей активированной конфигурации. / etc / apache2 / sites-enabled / 000-по умолчанию , а затем Убедитесь, что вы перезагружаете свой 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-data
sudo chown -R www-data:www-data /media/myserver/
sudo chmod -R g+rw /media/myserver/
5
ответ дан 27 August 2013 в 17:05

sudo gedit etc / apache2 / apache2.conf Добавь это Параметры Индексы FollowSymLinks MultiViews AllowOverride Нет Заказать разрешить, запретить разрешить от всех

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

ServerAdmin anilrmg@localhost.com
ServerName anilrmg.localhost.com
ServerAlias www.anilrmg.localhost.com
DocumentRoot /home/anilrmg/projects/code/anilrmg

sudo a2dissite 000-default.conf

1
ответ дан 27 August 2013 в 17:05

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

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

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

2
ответ дан 27 August 2013 в 17:05

Для тех, кто использует гостевые дополнения VirtualBox и получает , у вас нет разрешения на доступ /на этом сервере, несмотря на все, что было упомянуто выше:

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

Короче говоря, это не так, Решение заключается в добавлении пользователя 'www-data' в группу 'vboxsf':

sudo usermod -a -G vboxsf www-data

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

1
ответ дан 27 August 2013 в 17:05

Я тоже столкнулся с той же проблемой и мог бы ее решить!

Вам нужно

  1. изменить apache2.conf. Замени / var / www / на свой путь: <Каталог / ваш / путь /> Индексы опций FollowSymLinks AllowOverride Нет Требовать все предоставлено

  2. Измените 000-default.conf:

    DocumentRoot / your / path /

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

Вот и все.

3
ответ дан 16 November 2019 в 11:39

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

chown www-data /media;
chown www-data /media/MNT/;
chown www-data /media/MNT/DISK;
chown www-data /media/MNT/DISK/www-root;
0
ответ дан 5 January 2021 в 23:20

Другие вопросы по тегам:

Похожие вопросы: