ヘルプ:自宅サーバー3号・構築作業記録 (CentOS 7)
提供:あわ自由帳
メインページ > ヘルプ:目次 > 自宅サーバー3号・構築作業記録 (CentOS 7)
激安で販売されていた、タワー型サーバーパソコン、HP ML110 G6 に CentOS6.5 をインストールしサーバー予備機として使っていたが、CentOS 7 がリリースされた機会に CentOS 7 をインストールしメインサーバーに昇格したときの作業の記録です。どこまで作業が進んだか忘れないために書き残しました。メイン昇格作業は2014年夏期休暇に行い昇格作業は3日間かかりました。
ハードの記録
- Help:自宅サーバー3号機 (HP ProLiant ML110G6)
- メモリー追加(2GB PC3-10600 UDIMM×1)
- グラフィックボード追加(型番不明)
- ハードディスク交換 (1000GB × 2)
ソフトウェアのインストール
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)
システム時刻を自動的に合わせる
NTPサーバー構築(ntpd)- NTPサーバー構築(chrony)
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)
- 行うとメールが受信できなくなった。
- メールサーバー間通信内容暗号化(Postfix+Dovecot+OpenSSL+Certbot)(CentOS7)(2016/09/09)
複数のドメイン名に対するサーバー証明書取得(sudachi.jp & mail.sudachi.jp) - メールサーバーでウィルス&スパムチェック(Postfix+Clam AntiVirus+SpamAssassin)
- メール自動返信機能導入(Vacation)(2016/09/14)
Webサーバーを公開する
- Webサーバー構築(Apache)(CentOS7)
- Webサーバー間通信内容暗号化にRapidSSLを導入(CentOS7)
- ユーザーディレクトリ作成(/~ユーザー名/)(CentOS7)
- Webページパスワード制限(htpasswd)(CentOS7)
- Webサーバー間通信内容圧縮(mod deflate)(CentOS7)
- Windowsからサーバーへ安全にファイル転送(WinSCP)(CentOS7)
データベースシステムを作る
- データベースサーバー構築(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