「できるPRO CentOS 7サーバー」の感想・備忘録

スポンサーリンク

書籍「できるPRO CentOS 7サーバー」のまとめ。

点数

75点

感想

初心者向けの書籍だが、ownCloud, GitLab, Dockerなど実用的なものも扱われていた。

サービス起動デーモンやファイアウォールのCentOS 6とCentOS 7での違いは参考になった。

bashでbraces(波括弧)内の値はリストとして展開される

  • cp org.{txt,txt.bk}cp org.txt org.txt.bkに展開される。
  • cp .env{.example,}cp .env.example .envに展開される。

サービス起動デーモン

CentOS 6まではSysVinit/Upstartだったが、CentOS 7からはsystemdになった。
これにより、サービス管理コマンドが以下のように変わった。

  • CentOS 6: /etc/init.d/サービス名 xxx
  • CentOS 7: /usr/bin/systemctl xxx サービス名

パッケージを最新の状態に保つ

sudo yum update

自動更新する場合はyum-cronをインストールする。

  1. sudo yum install yum-cron
  2. sudo vi /etc/yum/yum-cron.conf
    apply_updates = yes
  3. sudo systemctl start yum-cron.service

firewalld

CentOS 7ではファイアウォールが iptablesからfirewalld に変わった。
firewalldデーモンがファイアウォールを管理している。
firewalldの設定はfirewall-cmdコマンドを使う。

  • firewall-cmd --list-services:許可されているサービスを表示。
  • firewall-cmd --get-services:全サービスを表示。
  • sudo firewall-cmd -add-service xxx:サービスを許可。再起動後も有効にする場合は–permanentを付ける。

Apache2.4でのアクセス制限

Apache2.4からアクセス制限の記述方法が変更された。
(Orderを使う古い記述を使うことも可能)

  1. httpd.confなどでAllowOverrideにAuthConfigを追加する。
  2. .htaccessに以下を記述。
    <RequireAll>
    Require ip 100.100.100.0/24
    </RequireAll>

SSLの認証局とは

ブラウザにはルートCA(認証局)の情報があらかじめインストールされている。
ルートCAが発行した証明書を使って中間CA証明書を発行する中間CAが多数存在する。
ブラウザやOSごとのルートCAの登録状況の違いに対応するためのクロスルート証明書という証明書が発行される場合もある。

SSLの設定

ApacheでSSLを使うにはmod_sslモジュールをインストールする必要がある。 http://www.i2kt.com/linux/centos/package/index_mod_ssl.html

インストール

sudo yum install mod_ssl

秘密鍵の作成

  1. cd /etc/pki/tls/certs
  2. sudo make xxx.com.key
  3. sudo openssl rsa -in xxx.com.key -out xxx.com.nopass.key
    ※ パスワード解除
  4. sudo chmod 600 xxx.com.nopass.key

CSRファイルの作成

  1. cd /etc/pki/tls/certs
  2. sudo make xxx.com.csr
    作成したCSRをCAに送って証明書を購入する。
    CAから送られてきたサーバ証明書は/etc/pki/tls/certs/xxx.com.crtに格納する。
    CAから送られてきた中間証明書とクロスルート証明書はcatコマンドで1つのファイルにまとめて/etc/pki/tls/certs/xxx.com.chain.crtに格納する。
  3. sudo vi /etc/httpd/conf.d/ssl.conf SSLCertificateFile
    /etc/pki/tls/certs/xxx.com.crt SSLCertificateKeyFile
    /etc/pki/tls/certs/xxx.com.nopass.key SSLCertificateChianFile
    /etc/pki/tls/certs/xxx.com.chain.crt
  4. httpsが許可されていない場合:sudo firewall-cmd --add-service https

ownCloud

フリーのオンラインストレージ作成ソフトウェア。

  1. sudo yum install epel-release
  2. sudo yum install owncloud-httpd
  3. ln -s /etc/httpd/conf.d/owncloud-access.conf.avail /etc/httpd/conf.d/z-owncloud-access.conf
  4. apacheを再起動すると/owncloud/でアクセスできる。

GitLab

GitHubと同等の機能を自分のサーバに構築することができる。
https://www.gitlab.jp/install/#centos-7

chrony

NTPクライアントとNTPサーバーの実装のひとつであり、ntpdよりも正確な時刻同期を提供してくれる。
CentOS 8からはChronyのみがサポートされるようになった。

コメント