XAMPP
のWebルートデフォルトディレクトリ/opt/lampp/htdocs
を/home/me/Dropbox/public_html
のような別のディレクトリに変更しようとしていますが、成功しません。
ファイルを編集しました/opt/lampp/etc/httpd.conf
# old line: DocumentRoot "/opt/lampp/htdocs"
DocumentRoot "/home/me/Dropbox/public_html"
#...etc...
# old line: <Directory "/opt/lampp/htdocs">
<Directory "/home/me/Dropbox/Work/public_html">
#
# Possible values for the Options directive are "None", "All",
# or any combination of:
# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
# etc...
この記事で述べたように、私はこれを行いました: buntu Oneを使用してhtdocsを同期しますか?
その後、Apache
を再起動し、Webブラウザーで呼び出したすべてのページで許可エラー403
が発生しました。
そのため、フォルダーとファイルのアクセス許可を755
に変更しました。
この記事で述べたように私はこれをやった:
Webルートにどのファイル許可を設定する必要がありますか?
問題は同じままです。ウェブブラウザでアクセスしようとするすべてのページに403
エラーがあります。
Mac
を使用してXAMPP
でも同じ問題が発生します。
そのため、フォルダーが元の/opt/lampp/htdocs
のままであれば、everythigは正常に機能します。
どうすれば正しく変更できますか?
/opt/lampp/etc/httpd.conf
change nobodyおよびnogroupを開きます
<IfModule unixd_module>
#
# If you wish httpd to run as a different user or group, you must run
# httpd as root initially and it will switch.
#
# User/Group: The name (or #number) of the user/group to run httpd as.
# It is usually good practice to create a dedicated user and group for
# running httpd, as with most system services.
#
User nobody
Group nogroup
</IfModule>
ユーザー名とグループに
同じ問題があり、私がやったことはここにあります:
次のコマンドを実行してxamppを停止します。
Sudo /opt/lampp/lampp stop
/opt/lampp/etc/httpd.conf
を開きます
your_folderを使用するフォルダーに変更します
DocumentRoot "/home/username/your_folder"
<Directory "/home/username/your_folder">
User
とGroup
の値をdaemon
から次のように変更します。
User nobody
Group nogroup
このコマンドでchmodをyour_folderに設定します
Sudo chmod 777 /home/username/your_folder
ファイルを保存し、次のコマンドでxamppを起動します。
Sudo /opt/lampp/lampp start
ブラウザを開き、次のURLを入力します。
http://localhost/your_folder/
完了、これが役立つことを願っています。
Htdocsフォルダーにファイルを作成できるようにこれを実行している場合は、opt/lamppに移動し、ターミナルで開いて書き込みます。
Sudo chmod 777 htdocs /
それでおしまい!
問題はhttpd.conf
ファイルのユーザーグループタイプにあり、staff
に設定する必要があり、Webルートとして使用するフォルダーのフォルダーアクセス許可を変更する必要はありません。
Linux 18.3でも同じ問題がありました。上記のどれも説明どおりには機能しませんでしたが、次の組み合わせは機能しました。
ファイル/opt/lampp/etc/httpd.confで、次の変更を行いました。
交換:
<IfModule unixd_module>
User daemon
Group daemon
</IfModule>
沿って:
<IfModule unixd_module>
User myusername
Group myusername
</IfModule>
さらに下に置き換えます:
DocumentRoot "/opt/lampp/htdocs"
<Directory "/opt/lampp/htdocs">
沿って
DocumentRoot "/home/myusername/webdir"
<Directory "/home/myusername/webdir"
それにより、「myusername」はLinuxユーザー名であり、「webdir」はphpファイルが保存されているホームディレクトリ内のディレクトリ名です。
ターミナルで、ファイルを保存する前にlamppを停止し、再度開始します。ブラウザで、localhostは「webdir」をポイントします。
シンボリックリンクを作成できます
ln -s /home/username/public_html/ /opt/lampp/yoursymlink
ユーザー名「〜username」をシンボリックリンクとして使用して、同じURLロケーションを保持できるようにします
localhost/~username
は、XAMPPではなくデフォルトのApacheサーバーを使用している場合などのファイル用です。
以下の手順に従ってそれを解決しました:
最初に次の手順でxamppをインストールします
$ Sudo cd Downloads && Sudo chmod a+x ./your-downloaded-xampp-file.run && Sudo ./your-downloaded-xampp-file.run
/ opt/lamppディレクトリのファイル所有者を変更します。ユーザー名は、新しいドキュメントルートフォルダーのユーザー名である必要があります
Sudo chown -hR username:root /opt/lampp
編集/opt/lampp/etc/httpd.conf
Sudo gedit /opt/lampp/etc/httpd.conf
ドキュメントルートパスを編集して、マウントされたWindowsのドキュメントルートと次の行に移動します。
<IfModule unixd_module>
User nobody
Group nogroup
</IfModule>
xamppを再起動します。そして、あなたは禁じられたエラーがなくなったことに気付くでしょう