web-dev-qa-db-ja.com

Cent OS 7でデフォルトのドキュメントルートパスを変更する

私はcentos 7とphpのウェブサイトをインストールしています。デフォルトで/ var/www/htmlにコードをアップロードする必要がありますが、コードを/ home/magentoから選択する必要があります。

CentOSでドキュメントルートパスを書き換える方法。

2
Pradeep Sanku

これらのコマンドを1つずつ使用します。

chcon -R --reference=/var/www/html/ /home/magento 
chcon -R -t httpd_sys_content_t /home/magento/ 
semanage fcontext -a -t httpd_sys_content_t "/home/magento(/.*)?" 
setsebool -P httpd_enable_homedirs true 
chmod 755 /home/magento # important !!
service httpd restart 
1
Rahul Nagpal

httpd.confDocumentRootディレクティブを変更できます(これは/etcにあります)。

ファイルには次のような行が含まれている必要があります。

DocumentRoot "/var/www/html"

それを次のように変更します。

DocumentRoot "/home/magento"

公開する別の場所にさらにディレクトリを追加する場合は、 VirtualHostファイル の使用を開始する必要があります。

また、SELinuxがenforcingに設定されている場合は、ディレクトリのSELinuxコンテキストを/ var/wwwディレクトリのコンテキストと一致するように設定する必要があります。 SELinuxが動作しているかどうかを確認するには、次のコマンドを使用します。

getenforce

出力が「許容」の場合は、強制されていません。

出力が "enforcing"の場合、それはenforcingです。

ディレクトリのコンテキストとその内容を変更するには、次のコマンドを実行します。

semanage -a -t httpd_sys_content_t "/home/magento(/.*)?"

ls -dZ /home/magentoを実行すると、「httpd_sys_content_t」コンテキストが出力に表示されます。

おそらく、ホームディレクトリを公開できるように、SELinuxブール値を設定する必要もあります。これを行うには:

setsebool -P httpd_enable_homedirs true

注:Apacheユーザーには、ディレクトリの内容を読み取るための権限も必要です。

0