ヘルプ:自宅サーバー3号・構築作業記録 (CentOS 7)

提供:あわ自由帳

メインページ > ヘルプ:目次  > 自宅サーバー3号・構築作業記録 (CentOS 7)

激安で販売されていた、タワー型サーバーパソコン、HP ML110 G6 に CentOS6.5 をインストールしサーバー予備機として使っていたが、CentOS 7 がリリースされた機会に CentOS 7 をインストールしメインサーバーに昇格したときの作業の記録です。どこまで作業が進んだか忘れないために書き残しました。メイン昇格作業は2014年夏期休暇に行い昇格作業は3日間かかりました。

ハードの記録

ソフトウェアのインストール

2014年8月16日より、メインサーバーとして稼働開始。
CentOS 7 を RAID 1 構成で、最小限インストールを行いました。CentoOS 6.5 より簡単に RAID 構成でインストールできました。

CentOS 7 初期設定

  • rootになれるユーザを管理者のみにする
  • パッケージ管理システム設定
  • root宛メールを転送する
  • SELinuxの無効化
  • ファイアウォール停止

クライアント(Windows)からサーバーをリモート操作する

  • WindowsからSSHサーバーへリモート接続(鍵方式ログイン)

リポジトリを追加

  • 有用なパッケージが数多く配布されている RPMforge を追加
  • RHEL 用にビルドされたスペシャルパッケージを配布する EPEL を追加

セキュリティ強化

  • rootkit検知ツール導入(chkrootkit)
  • アンチウィルスソフト導入(Clam AntiVirus)
  • ファイアウォール構築(iptables)

システム時刻を自動的に合わせる

LAN内クライアントマシンへIPアドレスを自動で割当てる

ルーター(NTT PR400KI)内蔵の DHCP を使うと LAN からドメイン名で自宅サーバーにアクセスできないので導入。NTT PR400KI の設定は難しい。

  • DHCPサーバー構築

DNS (Domain Name System) サーバーを構築

ここでかなりの時間がかかった。

  • DNSサーバー構築(BIND)(chroot環境)
  • 問い合わせ DNSサーバーを自分自身に変更

※以下間違えやすいので注意
BIND起動

[root@host3 ~]# systemctl start named-chroot

BIND自動起動設定

[root@host3 ~]# systemctl enable named-chroot

ステータス確認

[root@host3 ~]# systemctl status named-chroot

systemd のログを確認する

[root@host3 ~]# journalctl -xn

独自のメールアドレスをつくる(Postfix)

  • メールサーバー構築(Postfix+Dovecot)
  • メールサーバー間通信内容暗号化(OpenSSL+Postfix+Dovecot)
  • メールサーバーでスパムメール送信元接続拒否(Postfix+milter-manager+milter-greylist)
行うとメールが受信できなくなった。

Webサーバーを公開する

データベースシステムを作る

  • データベースサーバー構築(MariaDB)
  • MySQLデータベース自動バックアップ運用(mysqlhotcopy)
  • MySQL用GUI設定ツール導入(phpMyAdmin)

LinuxサーバーをWindowsのファイルサーバーにする

  • Windowsファイルサーバー構築(Samba)

FTPサーバー構築(vsftpd)

ルータでブロックしローカルで使用する。
※2015/04/01 自動起動解除

vsftpd起動

[root@host3 ~]# systemctl start vsftpd 

vsftpd再起動

[root@host3 ~]# systemctl restart vsftpd

vsftpd停止

[root@host3 ~]# systemctl stop vsftpd

vsftpd自動起動設定

[root@host3 ~]# ystemctl enable vsftpd

vsftpd自動起動解除

[root@host3 ~]# systemctl disable vsftpd
rm '/etc/systemd/system/multi-user.target.wants/vsftpd.service'

サーバーのファイルを自動的にバックアップする

  • 自動バックアップ運用(tar+GnuPG+rsync)

ApacheのKeepAliveを使う

  • 2015/04/02 設定

httpd.conf編集

最終行に近いところに追加します。

[root@host3 ~]# vi /etc/httpd/conf/httpd.conf
# 追記

# サーバのバージョン情報等を隠す
ServerTokens Prod
ServerSignature Off

# HTTP の持続的な接続 ← 追加
KeepAlive On ← 追加
# 持続的な接続上で許可されるリクエストの数 ← 追加
MaxKeepAliveRequests 30 ← 追加
# 持続的な接続で次のリクエストが来るまでサーバが待つ時間(秒) ← 追加
KeepAliveTimeout 10 ← 追加

# Supplemental configuration
#
# Load config files in the "/etc/httpd/conf.d" directory, if any.
IncludeOptional conf.d/*.conf

Apacheの再起動

[root@host3 ~]# systemctl restart httpd