Это руководство поможет вам.
Как вы скрываете диски от появления в Наутилусе? Во-первых, вы должны знать, какие диски и / или разделы вы хотите скрыть. Из того, что я заметил, Наутилус либо представит эти устройства по этикетке. Если у него нет метки, то устройство будет связано с размером диска / раздела. Посмотрите на изображение ниже. В красной рамке нет ярлыков. Файловая система всегда является текущим разделом /root, в то время как файловая система размером 45 ГБ - это раздел, который не имеет метки. В этом примере это раздел /root моего Ubuntu 10.10 (я работаю над Natty Narwhal, но сохранил Maverick Meerkat в качестве резервной копии). Остальные два - Lucid Lynx и Karmic Koala - являются ярлыками моих 2 разделов NTFS. Этикетки важны, если вы не знакомы с тем, как Linux относится к этим устройствам. В Windows, будь то диск или раздел, они вызываются буквами - C или D - и так далее. Linux имеет более конкретную систему именования. Обычно это sdaX или hdbY, где X и Y - номера разделов на дисках sda или hdb, соответственно. Таким образом, если на диске sda есть 3 раздела, тогда будут sda1, sda2 и sda3. Windows скорее всего просто назовет его C, D и E. Теперь смонтируйте все ваши диски и / или разделы. Вы знаете, как это сделать, не так ли? Нажмите имя в Nautilus, и оно будет монтировать его для вас. Я предлагаю вам размонтировать и удалить все съемные диски, чтобы избежать путаницы. После того, как вы установили все, откройте терминал, запустив gnome-terminal. Просто введите это в тире, если вы используете Natty, или найдите его в меню, если вы используете классический рабочий стол Ubuntu. Причина, по которой монтаж всех - это более простой способ узнать имена устройств, заключается в том, что mount буквально скажет вам, что устройство X смонтировано в каталоге Y с именем Z. Легко ли? Вы можете посмотреть в /proc/partitions или /dev/disks/, но это только смутит вас. Запустите команду mount один раз. Из вывода обратите внимание на имена диска или разделов через связанный с ним ярлык. Он будет выглядеть примерно так, как показано ниже. На втором изображении выше вы заметите, что нет ссылки на установленную файловую систему на 45 ГБ. Это потому, что у последнего нет метки, как я уже упоминал ранее, и uuid слишком длинный и будет выглядеть ужасно на Наутилусе. Подсистема будет монтировать его по имени uuid на / media, в то время как остальные будут установлены его меткой. Так как Файловая система размером 45 ГБ (/dev/sdb2) действительно не отображается в Nautilus, я хочу скрыть это. Я также хочу скрыть Karmic Koala (/dev/sda1), потому что это мой раздел Windows C. Небеса запрещают я удалять файлы из любого из этих разделов случайно. Теперь начинается укрытие! Но прежде, убедитесь, что вы знаете, какие разделы вы хотите скрыть (например, как я определил их выше). Вы также можете перечислить все свои разделы, используя команду sudo fdisk -l, чтобы быстрее идентифицировать их. Я буду скрывать sda1 и sdb2 в следующих шагах, но вместо этого вы должны заменить имена разделов. Создайте файл с именем 99-hide-disks.rules, используя ваш любимый редактор. В этом файле мы помещаем правило, чтобы ядро Linux скрывало это устройство. Я не буду объяснять, почему имя файла кажется забавным. Это будет предметом для другого поста, если я не буду слишком лениво объяснять это. Поместите текст ниже в только что созданном файле, но не забудьте изменить имя устройства, которое относится к вашему делу. На моем я хочу скрыть sda1 и sdb2. Общий формат (это чувствительно к регистру):KERNEL=="device name", ENV{UDISKS_PRESENTATION_HIDE}="1"
В моем случае я напишу следующее в 99-hide-disks.rules: KERNEL=="sda1", ENV{UDISKS_PRESENTATION_HIDE}="1"
KERNEL=="sdb2", ENV{UDISKS_PRESENTATION_HIDE}="1"
Не забудьте сохранить, когда все будет готово. Теперь скопируйте файл в /etc/udev/rules.d/ с помощью команды, sudo cp 99-hide-disks.rules /etc/udev/rules.d/
Теперь мы закончили. Это будет незамедлительно замечено системой, потому что udev (устройство для Linux) ищет изменения в папке правил через inotify (это служба уведомления о событиях файловой системы). Однако он не будет применяться до перезагрузки. Предположительно вы можете использовать команду udevadm для запуска новых правил, но я еще не тестировал ее. Перезагрузите Ubuntu и обратите внимание, как разделы больше не видны в Nautilus. Изменить: по крайней мере, для Ubuntu 12.10 строки выше больше не работают и должны быть изменены, чтобы использовать этот формат: KERNEL=="sda1", ENV{UDISKS_IGNORE}="1"
KERNEL=="sdb2", ENV{UDISKS_IGNORE}="1"
Установлен ли ваш диск в момент запуска apache? Я не знаю, будет ли автоматическая установка достаточной или нет, но если есть проблема, вы можете явно установить диск на /etc/fstab. Я уверен, что этот автоматический монтаж выполняется только по требованию; он не монтируется до тех пор, пока вы не откроете его в Наутилусе, затем он будет установлен.
Я провел тест с разделом NTFS, установленным при открытии в Nautilus, и у него нет разрешений для других, кроме владельца и группы владельца, так что это, скорее всего, является источником проблемы. Вам нужно будет установить разрешения монтирования, чтобы все могли читать и выполнять (r-x) разрешения для раздела. Вы знаете, как монтировать диски в `/ etc / fstab 'или любой другой метод. Здесь есть несколько подробных инструкций.
Основы в том, что вам нужно создать каталог для монтирования раздела, традиционно как подкаталог /mnt/, а не /media/; /media/ традиционно используется для автомонтированных устройств, например, при открытии устройства Unmounted в Nautilus или для дисков CD / USB.
Создать каталог
Созданный вами каталог должны иметь разрешения и владельца, которого вы желаете; Я обычно устанавливаю владельца себе, с правами только для чтения для остальной вселенной (drwxr-xr-x). Этот каталог должен быть пустым, но необязательно. Но любые файлы будут недоступны, если что-то будет установлено на него. Чтобы создать и установить разрешения для этого каталога (измените имя LOGIN_NAME на свое имя пользователя):
cd /mnt
sudo mkdir Files
sudo chown LOGIN_NAME:LOGIN_NAME Files
sudo chmod 755 Files
Создать каталог
Затем вы создаете запись в файле /etc/fstab, чтобы установить раздел в этот каталог. Обычно это довольно просто, хотя для NTFS требуется некоторая дополнительная информация для настройки владельца и разрешений. Линией, которую я использую для NTFS, является это (все в одной строке):
UUID=0000000000000000 /mnt/Files ntfs-3g auto,users,uid=LOGIN_NAME,gid=LOGIN_NAME,utf8,dmask=002,fmask=113 0 0
Примечания: замените правильный UUID на 0000000000000000; UUID получается путем ввода командной строки sudo blkid в терминал. Кроме того, замените свое имя для LOGIN_NAME.
Измените файл конфигурации Apache
Затем в файле /etc/apache2/sites-available/default измените DocumentRoot, который был изначально /var/www/ на /mnt/Files/web-files. Также сделайте то же самое изменение для своего каталога веб-сайта. Это предполагает, что в корневом каталоге раздела, установленном в /mnt/Files/, есть каталог /web-files/.
Также убедитесь, что у вас есть файл HTML / PHP в корневом каталоге документа (.../web-files). ? Это должно быть что-то вроде index.html или index.php. Вы скопировали файлы из /var/www/ в этот каталог?
Попробуйте сохранить корневой каталог Apache в родном разделе linux (/var/www/html) и вместо этого выполните установку:
mount -o bind /media/Files/web_files /var/www/html/web_files
Имейте в виду, что папка web_files должна существовать под папками /var/www/html/ и он имеет достаточные атрибуты для его чтения.
DocumentRoot необходимо изменить в двух файлах конфигурации apache:
/etc/apache2/sites-available/default
/etc/apache2/apache2.conf
Вот шаги, которые я сделал для преодоления одной и той же ошибки. Моя ситуация заключалась в том, что я хотел указать на папку проектов Windows Dropbox при кодировании с использованием Ubuntu.
Настройки для раздела NTFS
Сначала вам нужно иметь доступ к вашему разделу NTFS через Ubuntu. Выполните следующие шаги, если вы этого не сделали.
$ sudo apt-get install ntfs-3g
Найдите имя своего раздела (ов) NTFS. Пример:
$ sudo fdisk -l | grep NTFS
Получить UUID вашего раздела NTFS.
$ sudo blkid
/ dev / sda1: LABEL = "windows" UUID = "4ED2A451B2A23F59" TYPE = "ntfs" Настройте раздел в файле / etc / fstab (сделайте резервную копию на всякий случай).
$ sudo cp /etc/fstab /etc/fstab.bak
$ sudo vim /etc/fstab
Я создал мой, как указано ниже (на основе UUID. , write, execute permissions и uid = 1000 устанавливает вас как пользователь раздела NTFS во время загрузки ОС. Это также гарантирует, что пользователь Apache сможет получить доступ к вашему виртуальному хостингу (это то, что решило мою проблему).
Обратите внимание, что вам может потребоваться создать каталог / media / windows, если он не существует.
$ cd /media
$ sudo mkdir windows
$ sudo chown sagun:users windows
Перезагрузите компьютер и убедитесь, что ваш привод NTFS автомонтируется с правами чтения, записи, выполнения
Настройки для раздела NTFS
Создание каталогов для размещения ваших файлов журналов (если хотите):
$ sudo mkdir /var/log/apache2/projects.dev
Создайте новый файл конфигурации в каталоге / etc / apache2 / sites-available. Пример:
$ sudo vim /etc/apache2/sites-available/projects.dev
Установите конфигурацию ar для этого и сохраните файл:
<VirtualHost *:80>
ServerAdmin webmaster@projects.dev
ServerName projects.dev
ServerAlias projects
DocumentRoot /media/windows/Users/sagun/Dropbox/projects
<Directory />
Options FollowSymLinks
AuthType None
AllowOverride None
Order deny,allow
Deny from all
</Directory>
<Directory /media/windows/Users/sagun/Dropbox/projects/>
Options Indexes FollowSymLinks MultiViews
AuthType None
AllowOverride None
Order allow,deny
allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/projects.dev/error.log
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/projects.dev/access.log combined
</VirtualHost>
Затем отредактируйте файл / etc / hosts.
$ sudo vim /etc/hosts
Добавьте следующую строку и сохраните:
/ dev / sda1: LABEL = "windows" UUID = "4ED2A451B2A23F59" TYPE = "ntfs"
127.0.0.1 projects.dev
$ sudo a2ensite projects.dev
Активировать хост с помощью следующей команды:
$ sudo service apache2 restart
Перезапустить Apache
Лично я не пробовал на NTFS, но это спасло меня:
Единственное, что вам нужно сделать:
<Directory "/www/mywebdirectoryinapartitioneddisk">
Require all granted
</Directory>
, это решит проблему
здесь сообщение в моем блоге, объясняющее все подробно. Он может работать на NTFS
http://www.tbogard.com/2014/09/12/making-apache-server-to-read-a-partitioned-disk-the-definitive-solution/