Я выполнил эти шаги, чтобы создать каталог символических ссылок для использования вне 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
Я набираю localhost /myusername и получите ошибку 404 ... объект не найден.
Обратите внимание, что я могу создавать обычные каталоги и файлы .html / .php в каталоге htdocs, но я не могу создавать каталоги символических ссылок или файлы .html / .php, они не загружаются.
Спасибо за вклад!
<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>
$ 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
drwxr-xr-x 4 никто не имеет root 4096 23-12-2011 13:32 htdocs
lrwxrwxrwx 1 root root 39 23.12.2011 13:12 myusername
drwxr-xr-x 2 работа работа 4096 2011-12-23 13:10 myusername
Это предполагает, что FollowSymLinks отсутствует в строфе. Вот пример, взятый из Вот:
<Directory /usr/local/httpd/htdocs>
Options Indexes FollowSymLinks
</Directory>
Ожидается проверка конфигурации apache (которую, я думаю, вам следует вставить), это наиболее вероятный ответ.
РЕДАКТИРОВАТЬ: Прочитав ваш ответ на 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
Я предлагаю следующие настройки родительского элемента теста
chmod go+x /home/Dropbox
Чтобы каталог Dropbox мог иметь разрешения на выполнение для группы и других.
Что ж, я не уверен в настройках по умолчанию для этого пакета, но обычно следование символическим ссылкам по умолчанию отключено в Apache по соображениям безопасности.
Добавьте это в свою конфигурацию в контексте, который применяется к месту, где находятся символические ссылки:
Options +FollowSymLinks