Измените корневую папку документов 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
,
Чтобы изменить корневой каталог Apache, запустите:
cd /etc/apache2/sites-available
Затем откройте
000-default.conf
файл с помощью команды:nano 000-default.conf
Изменить
DocumentRoot
опция:DocumentRoot /path/to/my/project
Затем перезапустите сервер apache:
sudo service apache2 restart
Если вы получаете Forbidden You don't have permission to access / on this server
после изменения корня Apache, затем выполните следующие действия
Найти
apache2.conf
находится в/etc/apache2
и откройте его, используя:nano apache2.conf
Используйте Ctrl+W и ищите каталог (он должен быть в строке 153)
Это должно выглядеть так
<Directory /> Options Indexes FollowSymLinks AllowOverride All Require all denied </Directory>
Измените это на
<Directory /> Options Indexes FollowSymLinks Includes ExecCGI AllowOverride All Require all granted </Directory>
Перезапустите 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/
Я столкнулся с той же самой проблемой и мог решить ее!
Что вам нужно сделать, это
Вы модифицируете apache2.conf. обмен
/var/www/
на ваш путь:<Directory /your/path/> Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory>
Изменить 000-default.conf:
DocumentRoot /your/path/
смените владельца каталогов на себя из файлового менеджера или терминала (например, 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