当社はIT技術のオンライン教育を得意としたセミナー専門会社です。 | 一戸英男

ITエンジニアの技術力UPをお約束します。

SELinuxを有効のままでWEBデフォルトフォルダ以外のデータ更新を許可

SELinuxを有効のままでWEBデフォルトフォルダ以外のデータ更新を許可


まっさらのLinuxに新規の場所へWEBのドキュメントルートを作りApacheを起動させると、よくエラーが生じることがあると思います。あるいはWORDPRESSのバージョンアップが出来ないとかフレームワークの更新ができないとか似たようなエラーを体験された方は多いのではないでしょうか。これは概ねお察しの通りSELinuxが有効になっているため起きているのですが、よくある処置はSElinuxをOFFにすることを勧めているケースが殆どです。しかし、SELinuxはセキュリティを高めるための仕組みですから有効のままで使いたいですよね!ということで、そのような場合の設定方法をご紹介いたします。

Apache HTTP Server が使うフォルダーを新規で設定する場合

デフォルトでは/var/www/htmlのみWEBフォルダーとして許可されているので任意の場所にドキュメントルートを設置するなら下記のように指定を行ってください。その後にApacheサーバを再起動すると動作する可能性が高いと思います。

タグ: , , ,

WEBコンテンツホルダーを/var/www以外の場所にするとエラー


もうご存知の方は沢山いると思いますが、Linuxのインストール直後はSELinuxが有効になっており、デフォルト以外のフォルダーを使用するとエラーが生じたりします。



SELinux 実行中のシステム上では、すべてのプロセスとファイルにセキュリティー関連の情報を表示するラベルが付けられようにできています。尚この情報は、SELinux コンテキストと呼ばれており使用するプロセス(アプリケーション)により様々なものが用意されています。ファイルに関しては、ls -Z コマンドでこれを確認表示することができます。



一番多い例は、WEBのドキュメントフォルダーを変更して使う場合が多いと思います。例えば/var/wwwがデフォルトではWEB基準フォルダーですが、/opt/wwwにしようとしたら エラーが発生して起動できないという事が起こります。



ここでよくある対処方法はSELinuxをOFFにするというケースです。確かにOFFにすることでエラーが出なくなりますが折角のSELinuxによるセキュリティ強化がこれでは台無しですのでこの投稿記事では 正規の変更の仕方について説明していきたいと思います。

現在のコンテキストのステートを確認する

以上のコンテキストが付与されている事がわかりましたね。では移動先の/opt/wwwはコンテキストがどうなっているか確認してみましょう。

それではどうやって同じフラグにしたらよいかという話ですが、これは単純で/var/wwwのコンテキストを真似して新しいフォルダーへ付与するだけの事です。コンテキストを変更するのは”chcon”というコマンドを使用します。

※-Rは再帰的処理でコンテキストを付与することを意味します。

これで共通のコンテキストになりました。コンテンツを配置してWEBサーバの再起動を行うとエラーがもう出ないはずです。

タグ: , , , , ,