CentOS7でwebサーバーを作る時に最低限やっておきたいこと。

CentOS7でwebサーバーを作る際に、変更点が結構あって戸惑ったので、webサーバー作って最初にやることをまとめました。

ちなみにApacheはyumで入れるくらいなので省略。

抑えておきた変更された概念

本質的にわかったわけではないんですけど、操作していてちょこちょこ出てくる概念を先に。知っておくと理解が早いかもしれない。

ユニットとは?

centosでは/etc/init.d/*** start などでデーモンの制御をしていましたが、ここが随分と変更された模様。

デーモンで制御される対象はユニットと呼ばれるそうで、httpdの起動とかにはhttpd.serviceを指定します。

他にも色々あるそうで、下記のものがあります。

ユニット 概要
.service バイナリを実行する
.socket systemdがSocketをListenして、接続があるとプロセスに受け渡す(xinetdの代替的な機能
.target 複数のユニットをまとめるために使用する
.device udevから通知されたデバイスを表す
.snapshot ある時点のユニットの状態
.path 指定のファイルが生成されると指定されたサービスを起動する
.mount 指定のファイルシステムをマウントする
.automout オートマウント処理を実施する ( automountdの代替的な機能 )

setvice以外は今回ご縁がありません。

firewalld

iptablesの後継がfirewallなのか、一応iptablesも存在しますが、設定はfirewallが優先されるなどがあるので、CentOS7ではfirewallを使ったほうがいいでしょう。

firewallはzoneという概念があって、それらに設定していく感じみたいですね。
デフォルトだとzoneはpublicに設定されているようなので、それらに設定していきましょう。

めちゃくちゃオプションあった….。いちいち見ていくのは無理だ..。

なので設定の仕方だけを見ていきます。

zoneとは?

現状の確認

設定方法

下記でこれでzoneへ追加します。

再起動してもzoneへの追加を残していくには下記を。

ちなみに上記だけでもいけるかなって思ってたが、ちゃんと追加してからじゃないとダメのようです。

自動起動設定

自動起動はもともとはchkconfigがその役割を持ってましたが、これはsystemctlに役割が映ったようです。

一応機能はしているようですが、注記にもあるようにsystemctl list-unit-filesを使えよって言われました。

現状の確認

上記のような形でズラッと出てきます。
右のSTATEは下記のよう意味らしいです。

static: 独自で起動できないunit
disabled: 自動起動じゃない
enabled: 自動起動されている

ちなみにサービスだけを調べたければ下記でサービスのみの表示ができます。

もっと特定のユニットを確認したければ、下記を。

最後に設定をします。

確認するとenabledになってるはずです。

ロケールの設定

localctlコマンド

いろいろコマンドがあるけど、入れるだけなら全部は使わない。

現在のロケールの確認

設定できるlocaleをリスト化

これだとめちゃくちゃ出てくるから、grepする

localeの設定を反映する。

ちょっとめんどくさいのが、上記で出てくる set-locale は設定内容ファイルを変更するだけで反映まではしてくれないそうなので、わざわざ設定ファイルを読み込まないといけない。

再読み込みさせるの無駄だと思うんだけど。。

タイムゾーンの設定

timedatectlコマンドで設定することが可能です。使い方はlocalectlと似てますね。

現状確認

タイムゾーンがベルリンになっているのでAsia/Tokyoに変えましょう。

インストールできるtimezoneの確認

タイムゾーンを設定する

SNSでもご購読できます。

コメントを残す

*