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
誰かがこれで私を助けてくれることを願っています:-)
これらの権限により、Apache
からのアクセスが妨げられています
drwxrwx--- 3 user user 4096 okt 13 17:31 ..
他のユーザーに実行権限を付与する必要があります。
chmod o+x /home/juul/Workspaces/
(そしておそらく/home/juul/
にも)。
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>
解決策:シンボリックリンクが許可されていないか、リンクターゲットにアクセスできません:/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
であると考えています。