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

Я установил серверную версию ubuntu 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, спасибо заранее

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
    

Если вы получаете 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-data
sudo chown -R www-data:www-data /media/myserver/
sudo chmod -R g+rw /media/myserver/

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

Что вам нужно сделать, это

  1. Вы модифицируете apache2.conf. обмен /var/www/ на ваш путь: <Directory /your/path/> Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory>

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

    DocumentRoot /your/path/

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

Это все.

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

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

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

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

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

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

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

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

sudo usermod -a -G vboxsf www-data

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

sudo gedit etc/apache2/apache2.conf добавить эту опцию индексы FollowSymLinks MultiViews AllowOverride Нет Порядок allow,deny allow from all

в виртуальной конфигурации:/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

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