web-dev-qa-db-ja.com

XAMPP htdocs Webルートフォルダーを別のフォルダーに変更する

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は正常に機能します。

どうすれば正しく変更できますか?

17
vitto

/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>

ユーザー名とグループに

15
Zeroows

同じ問題があり、私がやったことはここにあります:

次のコマンドを実行してxamppを停止します。

Sudo /opt/lampp/lampp stop

/opt/lampp/etc/httpd.confを開きます

your_folderを使用するフォルダーに変更します

 DocumentRoot "/home/username/your_folder"
 <Directory "/home/username/your_folder">

UserGroupの値を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/

完了、これが役立つことを願っています。

2
ExillustX

Htdocsフォルダーにファイルを作成できるようにこれを実行している場合は、opt/lamppに移動し、ターミナルで開いて書き込みます。

Sudo chmod 777 htdocs /

それでおしまい!

1
user260214

問題はhttpd.confファイルのユーザーグループタイプにあり、staffに設定する必要があり、Webルートとして使用するフォルダーのフォルダーアクセス許可を変更する必要はありません。

1
vitto

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」をポイントします。

0
Michal

シンボリックリンクを作成できます

ln -s /home/username/public_html/ /opt/lampp/yoursymlink 

ユーザー名「〜username」をシンボリックリンクとして使用して、同じURLロケーションを保持できるようにします

localhost/~usernameは、XAMPPではなくデフォルトのApacheサーバーを使用している場合などのファイル用です。

0
baptx

以下の手順に従ってそれを解決しました:

  1. 最初に次の手順でxamppをインストールします

    $ Sudo cd Downloads && Sudo chmod a+x ./your-downloaded-xampp-file.run && Sudo ./your-downloaded-xampp-file.run
    
  2. / opt/lamppディレクトリのファイル所有者を変更します。ユーザー名は、新しいドキュメントルートフォルダーのユーザー名である必要があります

    Sudo chown -hR  username:root /opt/lampp
    
  3. 編集/opt/lampp/etc/httpd.conf

    Sudo gedit /opt/lampp/etc/httpd.conf
    
  4. ドキュメントルートパスを編集して、マウントされたWindowsのドキュメントルートと次の行に移動します。

    <IfModule unixd_module>
       User nobody
       Group nogroup
    </IfModule>
    
  5. xamppを再起動します。そして、あなたは禁じられたエラーがなくなったことに気付くでしょう

0
nmrony