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


14

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

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

私の/var/www/ディレクトリに、シンボリックリンク「site1」を作成して、に移動し/home/user/Workspaces/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

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

回答:


5

これらの許可はapacheあなたにアクセスすることを妨げています

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

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

chmod o+x /home/juul/Workspaces/

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


@muruの回答に従って、含まれるすべてのディレクトリに「x」権限が設定されていることを確認してください。ない場合は動作しません
-dawez

3

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>

1

解決策:シンボリックリンクが許可されていないか、リンクターゲットにアクセスできません:/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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.