web-dev-qa-db-ja.com

/ var / www /のシンボリックリンクを使用してApache2を構成する方法

Ubuntu(14.04)にローカルWebサーバーをセットアップしたい。だから私はすべてのソフトウェアをインストールして、LAMPサーバーを取得しました。

問題は、仮想ホストの作成で何か間違ったことをすることです。ローカルホストに異なるサブドメインを作成したかった。たとえば、site1.localhostおよびsite2.localhostなどです。

/var/www/ディレクトリに、/home/user/Workspaces/site1へのシンボリックリンク「site1」を作成しました。

Apacheのerror.logファイルで、次のエラーが発生しました。

[core:error] [pid 12679] [client 127.0.0.1:59006] AH00037: Symbolic link not allowed or link target not accessible: /var/www/site1

私のApache構成には次のものがあります:

<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>

したがって、フォルダのアクセス許可に問題があると思います。 Googleで検索したところ、同じ問題を抱えている人が数人見つかりましたが、そこにあるすべての答えがうまくいきませんでした。私は自分のユーザー名をwww-dataグループに追加しました。

したがって、ls -la /var/wwwは以下を返します。

total 12
drwxrwsr-x  3 user www-data 4096 okt 13 19:08 .
drwxr-xr-x 14 root root     4096 okt  1 22:50 ..
drwxr-xr-x  2 root www-data 4096 okt  1 22:50 html
lrwxrwxrwx  1 root www-data   29 okt 13 19:08 site1 -> /home/user/Workspaces/site1/

およびls -la /home/juul/Workspaces/site1は以下を返します。

total 24
drwxrwxr-x 4 user www-data 4096 okt 13 18:21 .
drwxrwx--- 3 user user     4096 okt 13 17:31 ..
-rw-rw-r-- 1 user user        0 okt 13 18:21 index.html
drwxrwxr-x 4 user www-data 4096 okt 13 16:12 .metadata
drwxrwxr-x 5 user www-data 4096 okt 13 16:53 Project

誰かがこれで私を助けてくれることを願っています:-)

14
user300279

これらの権限により、Apacheからのアクセスが妨げられています

drwxrwx--- 3 user user     4096 okt 13 17:31 ..

他のユーザーに実行権限を付与する必要があります。

chmod o+x /home/juul/Workspaces/

(そしておそらく/home/juul/にも)。

5
muru

14.04に標準のApacheをインストールしています。 「www-data」を指定するファイルまたはディレクトリはありません。これらすべてを自分で変更しましたか? Webサーバーのセットアップ方法については、時代遅れの情報や単純に誤った情報がたくさんあるため、フォローしているユーザーに注意し、機能しないものは元に戻してください。

つまり、「site1」はhtmlディレクトリにあり、あなたが所有している必要があります。シンボリックリンクである必要はありません。構成ファイルで別のディレクトリを指定できます。このようなもの:

# Add this to the end of the existing 000-default.conf file (after "</VirtualHost>")
<VirtualHost *:80>
    <Directory  /home/user/Workspaces/site1>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
    </Directory>
    DocumentRoot /home/user/Workspaces/site1
    ServerName site1
</VirtualHost>
3
Marty Fried

解決策:シンボリックリンクが許可されていないか、リンクターゲットにアクセスできません:/var/www/html/mySymbolicLink

これは明らかに権限の問題です。問題は、ホームディレクトリの下のhtmlがユーザーによって所有されており、Apacheサーバーが別のユーザーによって実行されているため、ホームディレクトリにアクセスできないことです。

その場合の解決策は、Apacheを実行しているユーザーをグループに追加することです。通常はユーザー名と同じです。だから、私のCentOSボックスで私はそれを次のようにした:

Sudo usermod -a -G dev Apache

これにより、ユーザーApacheがグループdevに追加されます。今、私は実行許可を与える必要があります。

/home ::

chmod g+x dev -R

これにより、グループのメンバーに対してのみ、私のフォルダーに実行権限が付与されます。以上です。 Webサーバーを実行しているものに合わせてApacheユーザーを変更する必要があります。Ubuntuのユーザーはwww-dataであると考えています。

1
Roberto Aguilar