符号链接和LAMPP htdocs

我经历了这些步骤,以使一个符号链接目录在lampp htdocs之外使用。

$ mkdir test $ chmod 777 test //test is now in /home/Dropbox/test/ //I put an index.html with 777 perms in it. $ cd /opt/lampp/htdocs/ $ sudo ln -s /home/Dropbox/test/ /opt/lampp/htdocs/$USER //my user appears as symlink directory in htdocs. $ /opt/lampp/lampp stop $ /opt/lampp/lampp start //lampp is now restarted 

我inputlocalhost / myusername,并得到一个404错误…找不到对象。

请注意,我可以在htdocs目录中创build常规目录和.html / .php文件,但是我不能执行任何符号链接目录或.html / .php文件,它们将不会加载。

感谢您的input!

httpd conf(仅涉及SymLinks的部分)

 <Directory /> Options FollowSymLinks AllowOverride None #XAMPP #Order deny,allow #Deny from all </Directory> <Directory "/opt/lampp/htdocs/"> # # Possible values for the Options directive are "None", "All", # or any combination of: # Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews # # Note that "MultiViews" must be named *explicitly* --- "Options All" # doesn't give it to you. # # The Options directive is both complicated and important. Please see # http://httpd.apache.org/docs/2.2/mod/core.html#options # for more information. # #Options Indexes FollowSymLinks # XAMPP Options Indexes FollowSymLinks ExecCGI Includes # # AllowOverride controls what directives may be placed in .htaccess files. # It can be "All", "None", or any combination of the keywords: # Options FileInfo AuthConfig Limit # #AllowOverride None # since XAMPP 1.4: AllowOverride All # # Controls who can get stuff from this server. # Order allow,deny Allow from all </Directory> 

error_log中

 $ tail -f error_log [Fri Dec 23 13:55:50 2011] [error] [client 127.0.0.1] Symbolic link not allowed or link target not accessible: /opt/lampp/htdocs/*myusername* [Fri Dec 23 13:56:02 2011] [notice] caught SIGTERM, shutting down [Fri Dec 23 13:56:08 2011] [notice] suEXEC mechanism enabled (wrapper: /opt/lampp/bin/suexec) [Fri Dec 23 13:56:08 2011] [warn] RSA server certificate is a CA certificate (BasicConstraints: CA == TRUE !?) [Fri Dec 23 13:56:08 2011] [warn] RSA server certificate CommonName (CN) `localhost' does NOT match server name!? [Fri Dec 23 13:56:08 2011] [notice] Digest: generating secret for digest authentication ... [Fri Dec 23 13:56:08 2011] [notice] Digest: done [Fri Dec 23 13:56:09 2011] [warn] RSA server certificate is a CA certificate (BasicConstraints: CA == TRUE !?) [Fri Dec 23 13:56:09 2011] [warn] RSA server certificate CommonName (CN) `localhost' does NOT match server name!? [Fri Dec 23 13:56:09 2011] [notice] Apache/2.2.21 (Unix) DAV/2 mod_ssl/2.2.21 OpenSSL/1.0.0c PHP/5.3.8 mod_apreq2-20090110/2.7.1 mod_perl/2.0.5 Perl/v5.10.1 configured -- resuming normal operations 

访问日志

 $ tail -f access_log 127.0.0.1 - - [23/Dec/2011:13:41:27 -0500] "GET /work HTTP/1.1" 403 1111 127.0.0.1 - - [23/Dec/2011:13:41:27 -0500] "GET /work HTTP/1.1" 403 1111 127.0.0.1 - - [23/Dec/2011:13:41:28 -0500] "GET /work HTTP/1.1" 403 1111 127.0.0.1 - - [23/Dec/2011:13:55:47 -0500] "GET / HTTP/1.1" 302 - 127.0.0.1 - - [23/Dec/2011:13:55:47 -0500] "GET /xampp/ HTTP/1.1" 200 588 127.0.0.1 - - [23/Dec/2011:13:55:47 -0500] "GET /xampp/head.php HTTP/1.1" 200 1362 127.0.0.1 - - [23/Dec/2011:13:55:47 -0500] "GET /xampp/navi.php HTTP/1.1" 200 2290 127.0.0.1 - - [23/Dec/2011:13:55:47 -0500] "GET /xampp/start.php HTTP/1.1" 200 786 127.0.0.1 - - [23/Dec/2011:13:55:47 -0500] "GET /favicon.ico HTTP/1.1" 200 30894 127.0.0.1 - - [23/Dec/2011:13:55:50 -0500] "GET /work HTTP/1.1" 403 1111 

/ opt / lampp / htdocs /

drwxr-xr-x 4 nobody root 4096 2011-12-23 13:32 htdocs

/ opt / lampp / htdocs / * myusername的权限

lrwxrwxrwx 1 root root 39 2011-12-23 13:12 myusername

/ home / Dropbox / test /

drwxr-xr-x 2工作4096 2011-12-23 13:10 myusername

这表明FollowSymLinks是不存在的节内。 这里是一个例子,从这里取:

 <Directory /usr/local/httpd/htdocs> Options Indexes FollowSymLinks </Directory> 

等待validation的Apacheconfiguration,(我认为你应该粘贴),这是最有可能的答案。

编辑:在阅读您对embobo的回应后,我去了我的服务器复制问题:

 [Fri Dec 23 23:03:58 2011] [error] [client 192.168.15.20] Symbolic link not allowed or link target not accessible: /var/www/html/testsym 

我build议testing的父母以下设置

 chmod go+x /home/Dropbox 

这样Dropbox目录就可以拥有组和其他的执行权限。

那么,我不确定该软件包的默认设置 – 但通常,出于安全原因,默认情况下,在Apache中禁用了符号链接。

将此添加到您的configuration中,在适用于符号链接所在位置的上下文中:

 Options +FollowSymLinks