2014-12-30 3 views
0

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

Например:

Я использую Ubuntu 14,04

[email protected]:/# cat /etc/apache2/sites-available/demo.conf 
<VirtualHost *:80> 
    ServerAdmin [email protected] 
    ServerName demo.local 

    DocumentRoot /home/me/public_html/demo 
    <Directory /> 
     Options FollowSymLinks 
     AllowOverride None 
    </Directory> 
    <Directory /home/me/public_html/demo/> 
     Options Indexes FollowSymLinks MultiViews 
     AllowOverride All 
     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 

    LogLevel warn 

    CustomLog ${APACHE_LOG_DIR}/access.log combined 
</VirtualHost> 

Сайт включен:

[email protected]:/etc/apache2/sites-enabled$ ll 
total 8 
drwxr-xr-x 2 root root 4096 dic 30 17:01 ./ 
drwxr-xr-x 10 root root 4096 dic 28 03:13 ../ 
lrwxrwxrwx 1 root root 35 dic 27 20:02 000-default.conf -> ../sites-available/000-default.conf 
lrwxrwxrwx 1 root root 28 dic 30 17:01 demo.conf -> ../sites-available/demo.conf 

Execute:

$ ln -s /media/myuser/projectdisk/demo/www/ /home/myuser/public_html/demo 

Нанести на хостах:

[email protected]:/# cat /etc/hosts 
127.0.0.1 localhost 
127.0.1.1 MS-7817 

# The following lines are desirable for IPv6 capable hosts 
::1  ip6-localhost ip6-loopback 
fe00::0 ip6-localnet 
ff00::0 ip6-mcastprefix 
ff02::1 ip6-allnodes 
ff02::2 ip6-allrouters 

127.0.0.1 demo.local 

Файлы существует:

[email protected]:/# cd /home/me/public_html/demo 
[email protected]:/home/me/public_html/demo# ll 
total 100 
drwxrwxr-x 2 www-data www-data 4096 dic 30 16:30 ./ 
drwxrwxr-x 5 me  me  4096 dic 29 13:49 ../ 
-rw-rw-r-- 1 me  me  12921 dic 30 16:30 index.php 

Я использую правильные разрешения:

[email protected]:/$ id 
uid=1000(me) gid=1000(me) grupos=1000(me),4(adm),24(cdrom),27(sudo),30(dip),33(www-data),46(plugdev),108(lpadmin),124(sambashare) 

Перезапустите Apache correctely:

[email protected]:/$ sudo service apache2 restart 
[sudo] password for me: 
* Restarting web server apache2 
* 

Но не доступ к http://demo.local/

Forbidden 

You don't have permission to access/on this server. 
Apache/2.4.7 (Ubuntu) Server at demo.local Port 80 

ответ

1

Они были проблемы прав доступа к файлам, по умолчанию Ubuntu установлены диски с разрешениями на чтение только для текущего пользователя WWW-данных без чтения разрешений:

[email protected]:~$ sudo -u www-data ls -la /media/me 
ls: no se puede abrir el directorio /media/me: Permiso denegado 

Решение здесь: https://superuser.com/questions/174776/modify-fstab-entry-so-all-users-can-read-and-write-to-an-ext4-volume, я дал ему разрешено ехать и готово :)

[email protected]:~$ sudo chmod 777 /media/me -R 
[email protected]:~$ sudo -u www-data ls -la /media/me 
total 12 
drwxrwxrwx+ 3 root root 4096 ene 14 15:33 . 
drwxr-xr-x 3 root root 4096 dic 25 13:41 .. 
drwxrwxrwx 22 me me 4096 ene 2 00:36 2TB 
+0

Это полезно - но чтобы уточнить, вы просто изменили fstab для предоставления разрешений или вы также выполнили команду 777 chmod выше? Или оба? Или только один? @ Е-info128 – oemb1905

Смежные вопросы