私はcentos 7とphpのウェブサイトをインストールしています。デフォルトで/ var/www/htmlにコードをアップロードする必要がありますが、コードを/ home/magentoから選択する必要があります。
CentOSでドキュメントルートパスを書き換える方法。
これらのコマンドを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
httpd.conf
のDocumentRoot
ディレクティブを変更できます(これは/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ユーザーには、ディレクトリの内容を読み取るための権限も必要です。