2014-12-30 1 views
0

현재 내 프로젝트에 내 컴퓨터에 하드 드라이브가 있고 가상 호스트를 통해 내 모든 프로젝트를 링크하고 싶지만 액세스 거부가 발생합니다. 문제는 기본 파일이 아니기 때문입니다. 디스크, 할 수있어?apache2 외부 디스크 권한

예를 들어 :

[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 

은 실행 :

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

이 호스트에 적용 :

나는 우분투 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]:/# 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 

파일이 존재합니다 : http://demo.local/

에 액세스

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

하지만하지 : correctely

[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) 

다시 시작 아파치 :

[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 

내가 올바른 권한을 사용
Forbidden 

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

답변

1

그들은 우분투가되고 읽기 권한이없는 현재 사용자 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 명령을 실행 했습니까? 아니면 둘다? 아니면 단지 하나? @ e-info128 – oemb1905

관련 문제