CentOSサーバーファイル権限

CentOSサーバーファイル権限

サーバー管理にCentOS仮想マシンを使用する方法を学び始めました。簡単なホームページを作ってみようと思います。

Apacheの基本ファイルがあるため、/var/wwwファイルを作成/作成/変更することは困難です。しかし、ホームページをフォルダに入れ、/var/www他のすべてのページをフォルダに入れたいと思います/home/$USER/Documents/Website

ホームページのコードはhref他のページのコードにすぎません。自分のコンピュータでコードを実行すると機能しますが、ホームページに移動すると(ブラウザにIPを入力する)リンクは機能しませんが、ホームページはまだ存在します。

リンクをクリックすると表示されるエラーはです404 file not found

そのエラーコードからファイルの場所をコピーしてサーバーに入力した場合

cat {file_location}

ファイルの印刷に問題はありません。 Apacheグループをこのファイルの所有者に変更しました。 Apacheサーバーにここでファイルを検索させるにはどうすればよいですか?編集する必要がありますかhttp.conf

編集:サーバーが名前付きフォルダから読み書きできるようにするにはどうすればよいですか/Website

編集2:私が実行しているApacheのバージョンが何であるかわかりません。 CentOSインストーラを使用してApacheをインストールします。/var/www/html/index.html私のIPアドレスを入力すると表示されるページです。 GUIパッケージを使用してサーバーをインストールした後、「セキュリティ」の問題があることを示すSELinuxポップアップが表示されるため、これはSELinuxの問題である可能性が高いです。私はそれが言ったスクリプトを実行し、フォルダを書くことができました/var/www/html。別の場所にフォルダを追加したいのですが、どうすればいいかわかりません。フォルダへの書き込みを防ぐSELinuxに加えて、正しく覚えている場合は、/var/www/html所有者を変更して実行しました。chmod 755

ベストアンサー1

Apacheにファイルのみを提供させるには、/WebsiteApache設定を編集してに/etc/httpd/conf/httpd.conf変更してサーバーを再ロードします。DocumentRoot/Websitesystemctl reload httpd.service

/Websiteまた、SELinuxファイルのコンテキストとその中のファイルを変更する必要があります。/var/wwwhttpd_sys_content_tまたは)httpd_sys_rw_content_tと同じファイルコンテキストを使用できます。新しいファイルのラベル付け規則を追加し、semanagerestoreconを使用して適用します。

semanage fcontext -a -t httpd_sys_rw_content_t "/Website(/.*)?"
restorecon -R -v /Website

たとえば、ホームディレクトリからユーザーコンテンツを提供するようにApacheを設定したい場合。 http://server/~user、あなたはそれを使用することができますmod_userディレクトリ。これを有効にし/etc/httpd/conf.d/userdir.confてサーバーを再ロードします。

httpd_read_user_contentアクセスを許可するには、SELinuxブールを有効にします。

semanage boolean -m --on httpd_read_user_content 

ディレクトリ内のファイルはpublic_html既に正しいhttpd_user_content_tタイプで構成されている必要があります。そうでない場合は、実行してrestorecon -R -v /home/user/public_html正しいファイルコンテキストを適用できます。

おすすめ記事