CentOS6インストール St.1
CATEGORY LINUX
自社・自宅でLinux-CentOS6サーバーを構築するメモです。
この記事を執筆時にはCentOS8がリリースされています。
特別CentOS6をインストールする必要が無い場合は、CentOS7もしくは CentOS8 をインストールしてください。
さて、図解なしでサクサクっと構築していきましょう。
このページでは、OSのインストールから基本設定を行っていきます。
■環境
ルーターアドレス[ 192.168.1.1 ]
サーバーアドレス[ 192.168.1.2 ]
クライアントアドレス[ 192.168.1.3 ]
CONTENT
1.CentOS6ダウンロード
CentOS-6.10-x86_64-minimal.iso を以下よりダウンロード。
http://ftp.jaist.ac.jp/pub/Linux/CentOS/6.10/isos/x86_64/
2. CentOS6インストール
1.Install or upgrade an existing system「 Enter 」
2.DiskFoundメディアテスト「 Skip 」
3.Next「Next」
4.Language設定は Japanese「 Next 」
5.Keybord設定はJapanese 「 Next 」
6.基本ストレージデバイス「 次(N) 」
7.ストレージデバイスの警告「はい。含まれていません… … (Y)」
8.ホスト名任意[ centos6.com ] 「次(N)」
9.タイムゾーン[ アジア/東京 ] 「次(N)」
10.rootパスワード 任意[ ・・・・・・・・ ] 「次(N)」
11.すべての領域を使用するにチェック「次(N)」
12.「変更をディスクに書き込む(W) 」
13.再起動(T)
3.vi設定
viで行番号を表示する。
vi ~/.vimrc # 下記を記述する(新規ファイルでOK) set number
4.ネットワーク設定
rootでログイン後にネットワーク設定を開始。
vi /etc/sysconfig/network-scripts/ifcfg-eth0 # 自動起動 ONBOOT=yes # ipアドレス固定 BOOTPROTO=static # サーバーのIPアドレス IPADDR=192.168.1.2 # ネットマスク NETMASK=255.255.255.0 # ルーターのIPアドレス GATEWAY=192.168.1.1 # ルーターのIPアドレス DNS1=192.168.1.1 # 再起動 /etc/rc.d/init.d/network restart
5.ユーザー設定
# ユーザー「centos6」を追加 useradd centos6 # ユーザー「centos6」のパスワードを設定 passwd centos6 # パスワードを二回入力して終了 xxxxxxxxxx xxxxxxxxxx # ユーザー「centos6」を「wheel」グループに追加 usermod -G wheel centos6 # suできるのをwheelグループのみにする vi /etc/pam.d/su # 6行目のコメントアウトを削除 auth required pam_wheel.so use_uid
6.yumアップデート
Generic Highlighting #yumをupdate yum update
7.SELinux無効
# SELinux無効化 setenforce 0 # 確認 getenforce # permissiveでOK Permissive # サーバー起動時のSELinux無効化 vi /etc/sysconfig/selinux befor)SELINUX=enforcing after)SELINUX=disabled
8.不要なサービスの停止
・iscsi/iscsid(用途:iscsiディスク)使わないので停止
・blk-availability( 用途: LVM2 )使わないので停止
・mdmonitor ( 用途:ソフトウェアRAID )使わないので停止
# ランレベル3で起動しているデーモンを確認する。 chkconfig --list | grep 3:on # iscsi起動停止 chkconfig --level 3 iscsi off # iscsid起動停止 chkconfig --level 3 iscsid off # blk-availability起動停止 chkconfig --level 3 blk-availability off # mdmonitor起動停止 chkconfig --level 3 mdmonitor off # CentOSを再起動 shutdown -r now # 再度ランレベル3で起動しているデーモンを確認する。 chkconfig --list | grep 3:on
9.iptables設定
シェルスクリプトiptablesHome.shを作成し実行して、iptablesに反映します。
# rootディレクトリに移動 cd /root/ # ディレクトリiptablesを作成 mkdir /root/iptables # スクリプトiptablesHome.sh記述 vi /root/iptables/iptablesHome.sh
iptablesHome.sh
リダイレクトの[ >> ]は追記、[ > ]だと標準書き込み。
ローカルサーバ用の設定。
#!/bin/bash # 内部ネットワークアドレス定義 LOCALNET=192.168.1.0/24 # mktempコマンドで[IPTABLES_CONFIG]一時ファイルを作成 IPTABLES_CONFIG=`mktemp` # デフォルトルール設定 echo "*filter" >> $IPTABLES_CONFIG echo ":INPUT DROP [0:0]" >> $IPTABLES_CONFIG # 受信はすべて破棄 echo ":FORWARD DROP [0:0]" >> $IPTABLES_CONFIG # 通過はすべて破棄 echo ":OUTPUT ACCEPT [0:0]" >> $IPTABLES_CONFIG # 送信はすべて許可 # ローカルループバックインターフェースは許可 echo "-A INPUT -i lo -j ACCEPT" >> $IPTABLES_CONFIG # 内部からのアクセスをすべて許可 echo "-A INPUT -s $LOCALNET -j ACCEPT" >> $IPTABLES_CONFIG # 内部から行ったアクセスに対する外部からの返答アクセスを許可 echo "-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT" >> $IPTABLES_CONFIG # sshを許可 echo "-A INPUT -s 192.168.1.3 -p tcp --dport 22 -j ACCEPT" >> $IPTABLES_CONFIG # httpdを許可 echo "-A INPUT -s 192.168.1.3 -p tcp --dport 80 -j ACCEPT" >> $IPTABLES_CONFIG # INPUTについて、上記のルールに無い通信は接続拒否(REJECT)する。その際、接続元にicmp-host-prohibitedを返す echo "-A INPUT -j REJECT -–reject-with icmp-host-prohibited" >> $IPTABLES_CONFIG # FORWARDについて、全て接続拒否(REJECT)する。その際、接続元にicmp-host-prohibitedを返す echo "-A FORWARD -j REJECT -–reject-with icmp-host-prohibited" >> $IPTABLES_CONFIG # COMMITを記述 echo "COMMIT" >> $IPTABLES_CONFIG # ファイアウォール設定反映 cat $IPTABLES_CONFIG > /etc/sysconfig/iptables if [ -f /usr/libexec/iptables/iptables.init ]; then /usr/libexec/iptables/iptables.init restart else /etc/rc.d/init.d/iptables restart fi rm -f $IPTABLES_CONFIG
# パーミッション変更 chmod 700 /root/iptables/iptablesHome.sh # スクリプト実行 /root/iptables/iptablesHome.sh # iptablesのルールを保存 ※念のためなのでやらなくてよい iptables-save > iptables-rules