SELinuxを有効にしてtomcat実行を行う方法の話

前回 CentOS7でtomcat 8080ポートをこじ開ける話 にて積み残していた課題。
SELinuxを有効(setenforce 1)すると、tomcatを実行できない問題の対応を今回いたします。

今回はショート系のネタになりました。

CentOS(Redhat)ではjws5-tomcat-selinuxと言うポリシーがありますのでそれを有効にします。

1.開発用のポリシーをインストールします

# yum install -y selinux-policy-devel
# yum install -y jws5-tomcat-selinux

2.SELinuxが許可しているポート

# semanage port --list | grep 8080
http_cache_port_t              tcp      8080, 8118, 8123, 10001-10010

やっぱり8080ポートはcacheで占有だねw

3.TOMCATの実行状態をチェック

# ps -eZ | grep tomcat_t
system_u:system_r:tomcat_t:s0    8775 ?        00:00:41 java

4.権限の付与(ドメインごと)

# semanage permissive -a tomcat_t

5.ドメイン登録の確認

# semanage permissive --list

カスタム許容形式                 

tomcat_t

組み込み許容形式                 

どうでしたか?って私のメモそのままじゃねぇ〜か!(もうちょっとfile確認とか色々ありますが…ほぼ全部打ったメモです。historyと変わりません)

はい、すみません、Try and Errorでやっていた環境1つとvagrantのselinux有効しか確認していません。本当はもう一環境0から組み上げたCentOS7を使う予定でしたが諸事情により… こんな時間ですw

次回は、tomcatなんて8080ポートとか直接アクセスしねぇ〜よ!と言う常識人に向けたnginxでプロキシしてサービスを提供する予定です。
ネタ的にはショートになり、たぶん今引っかかっている問題部分が中心になりますかね

次回に続く!