CentOS6

CentOS6の自分用初期設定

More than 1 year has passed since last update.

基本

IPアドレス、サブネットマスク、ゲートウェイ設定

  1. /etc/sysconfig/network-scripts/ifcfg-eth0 を編集すればOK
    • 環境によっては、「service NetworkManager stop」が必要
  2. ONBOOTをyes、BOOTPROTOをnone、にする
  3. IPADDR=、NETMASK=、GATEWAY=、DNS1=を追加する
  4. reboot
  • 「ifconfig」コマンドでIPアドレスを確認。eth0が自分
  • eth0は物理的なネットワークインタフェース、loはループバック(自分自身を示す仮想ネットワーク)

デフォルトゲートウェイ設定

  1. /etc/sysconfig/network に、GATEWAY=を書く

DNS設定

  1. /etc/resolv.conf にnameserver xxx.xxx.xxx.xxx と書く(既に書かれているはず)
    • NIC限定で設定するなら、/etc/sysconfig/network-scripts/ifcfg-eth0 にDNS1=xxx.xxx.xxx.xxxと書く

キーマップ設定(日本語キーボード→英語キーボード)

  • インストール時に「日本語」「日本語キーボード」にして、後で英語キーボード設定にする場合
  • /etc/sysconfig/keyboard を以下のように編集
KEYTABLE="us"
MODEL="pc105+inet"
LAYOUT="us"

SELinux無効

  1. /etc/sysconfig/selinux にSELINUX=disabled と書く(恒久)
    • 一時的に動作モードを変更するなら、「setenforce 0or1」で良い
  • SELinuxとは、セキュリティを高める仕組み
    • プロセスにドメイン、ファイルなどにタイプというラベルを付け、パーミッションチェックを行う
  • 「getenforce」コマンドで動作モード(Enforcing、Permissive、desabled)を確認できる
    • Enforcingは、パーミッションチェックを行いアクセスも拒否する。Permissiveは、チェックはするがアクセス拒否はしない

yumプロキシ設定

  1. /etc/yum.conf にproxy=プロキシサーバー を書く
  • yum(ヤム)とはパッケージ管理ツール。RPMの高機能版、後継にDNFもある

yum update

  1. 「yum update」コマンド

NTP、chronyの設定

  1. 「yum -y install ntp」、「yum -y install chrony」でインストール
  2. 「chkconfig ntpd off」、「chkconfig chronyd on」でchronyをオン、ntpをオフにする
  3. /etc/chrony.conf に、server xxx.xxx.xxx.xxx iburst を書く
  4. reboot
  • chronyとは、NTPの進化版
  • chronyが同期しているかどうかは、「chronyc tracking」で確認

古いカーネルの削除

  1. yum-utilsパッケージのpackage-cleanupコマンドを利用する
  2. 「yum -y install yum-utils」でインストール
  3. 「package-cleanup --oldkernels --count=1」。1世代残す
  4. reboot(一応)
  • 「ls /boot」のvmlinuzが1つになっていればOK

ファイアウォールの無効化

  1. 「chkconfig iptables off」、「chkconfig ip6tables off」
  2. reboot
  • 「iptables -L」でファイアウォールの設定が見れる

epelリポジトリの追加

  1. 「yum -y install epel-release.noarch」でインストール
  2. /etc/yum.repos.d/epel.repo のenabled=1 をすべて0にする(明示的に指定した時のみ使うため)
  • epelリポジトリとは、エンタープライズ向けリポジトリ。yumがパワーアップする

rpmforgeリポジトリの追加

  1. yum -y install http://repository.it4i.cz/mirrors/repoforge/redhat/el6/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm」でインストール
  2. /etc/yum.repos.d/rpmforge.repo のenabled=1 をすべて0にする(明示的に指定した時のみ使うため)

vmtoolsのインストール(VMwareの場合)

  1. 「yum -y install --enablerepo=epel open-vm-tools」でインストール
  2. 「chkconfig vmtoolsd on」で起動
  3. reboot

syslog-ngのインストール・設定、rsyslogの無効化、ログ出力先の変更

  1. 「yum -y install --enablerepo=epel syslog-ng」でインストール
  2. 「chkconfig rsyslog off」でrsyslogを停止
  3. 「chkconfig syslog-ng on」でsyslog-ngを開始
  4. /etc/syslog-ng/syslog-ng.conf を以下内容に変更
  5. reboot
@version:3.2

options {
        flush_lines(0);
        time_reopen(10);
        log_fifo_size(1000);
        use_dns(yes);
        use_fqdn(yes);
        create_dirs(yes);
        keep_hostname(no);
        dir_perm(0755);
        perm(0644);
        log_msg_size(81920);
};

source sys {
        file("/proc/kmsg" program_override("kernel"));
        unix-stream("/dev/log");
        internal();
};

destination mesg {
        file("/var/log/$YEAR/$MONTH/$DAY/messages");
};

log {
        source(sys);
        destination(mesg);
};
  • syslog-ngとは、syslogのOSS。syslogdより機能が良い
  • rsyslogとは、syslogdより信頼性が向上しているデフォルトのログシステム

ログローテートの設定

  1. /etc/logrotate.d/syslog を以下内容に変更する
/var/log/*/*/*/messages
{
        rotate 40
        size 10M
        missingok
        notifempty
        sharedscripts
        postrotate
                service syslog-ng reload > /dev/null 2>&1
        endscript
}
  • ログローテーションとは、ログを周期的に世代管理する仕組み
  • rotate 40:40回ローテーション
  • size 10M:10M以上になったらローテーションする
  • missingok:ログファイルが存在しなくてもエラーを出さない
  • notifempty:ログが空ならローテーションしない
  • sharedscripts:指定された
  • postrotate – endscript:この間のコマンドをローテーション後に実行する
  • /dev/null:スペシャルファイル、書き込まれた内容をすべて捨てる。ゴミ箱
  • command > /dev/null 2>&1:コマンドの標準出力を捨て、標準エラー出力を標準出力にマージして出す

OpenSSHクライアントのインストール

  1. 「yum -y install openssh-clients」をインストール
  • OpenSSHは、SSHプロトコルを利用するソフトウェア

postfixの無効化

  1. 「chkconfig postfix off」を実行
  2. reboot
  • Postfixとは、メール配信用ソフト。MTA。sendmail、qmailより高機能

wgetインストール、プロキシ設定

  1. 「yum -y install wget」をうつ
  2. /etc/wgetrc にhttp_proxy=プロキシサーバー、https_proxy=、ftp_proxy= を書く

sambaインストール

  1. 「yum -y install samba」をうつ
  2. 「useradd ユーザー名」で新規ユーザー登録
  3. 「passwd ユーザー名」でパスワード設定
  4. ホームディレクトリにshareディレクトリ等を作ってchmod777(自由)
  5. 「smbpasswd -a ユーザー名」 でsamba用ユーザー追加
  6. 「chkconfig smb on」、「chkconfig nmb on」で自動起動設定
  7. /etc/samba/smb.conf を以下のように色々編集
  8. reboot
[global]
unix charset = UTF-8
dos charset = CP932

workgroup = WORKGROUP

hosts allow = 127. 許可するIPアドレス(192.168. など)

load printers = no

[homes]
        comment = Home Directories
        path = %H
        browseable = no
        writable = yes
        create mask = 0644
        force create mode = 0
        security mask = 0644
        force security mode = 0
        directory mask = 0755
        force directory mode = 0
        directory security mask = 0755
        force directory security mode = 0
;       valid users = %S
;       valid users = MYDOMAIN\%S

  • ついでに作ったユーザーでsudoコマンドを使えるようにする
  • rootで「visudo」をうつ
  • 「ユーザー名 ALL=(ALL) ALL」をどこかに追加(rootの下あたりが良い)

xrdp(リモートデスクトップ)インストール

  1. 「yum -y install --enablerepo=epel xrdp tigervnc-server」
  2. 「chkconfig xrdp on」
  3. 以下で日本語キーボード対応(元々英語キーボードなら不要)
  4. reboot
  5. windowsのリモートデスクトップから接続テスト
# cd /etc/xrdp
# wget http://www.mail-archive.com/xrdp-devel@lists.sourceforge.net/msg00263/km-e0010411.ini
# cp km-e0010411.ini km-0411.ini
# cp km-e0010411.ini km-e0200411.ini
# cp km-e0010411.ini km-e0210411.ini

開発環境インストール

httpd(Apache)インストール

  1. 「yum -y install httpd」
  2. /etc/httpd/conf/httpd.conf を以下のように色々修正
  3. 「chkconfig httpd on」
  4. reboot
ServerTokens Prod

KeepAlive On

ServerAdmin 管理者のメールアドレス

ServerName ドメイン

Options Includes ExecCGI FollowSymLinks

AllowOverride All

DirectoryIndex index.html index.htm

ServerSignature Off

LanguagePriority ja en ca cs da de el eo es et fr he hr it ko ltz nl nn no pl pt pt-BR ru sv zh-CN zh-TW

TraceEnable off # 最終行に追加
  • デフォルトだと、/var/www/html/以下にhtmlを置いて、ブラウザからIPアドレスでアクセスして確認

PHPインストール

  1. 「yum -y install php php-mbstring」

PostgreSQL 9.6インストール

  1. 「yum -y install https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-6-x86_64/pgdg-centos96-9.6-3.noarch.rpm」
  2. 「yum update」
  3. 「yum -y install postgresql96 postgresql96-server postgresql96-libs」
  4. 「service postgresql-9.6 initdb」でDB初期化
    • 失敗する場合は、/var/lib/pgsql/9.6/data/pg_log フォルダを消して再度実行
  5. 「chkconfig postgresql-9.6 on」
  6. /var/lib/pgsql/9.6/data/postgresql.conf を以下のように編集
listen_addresses = '*'

port 5432
  1. /var/lib/pgsql/9.6/data/pg_hba.conf に、以下を追加(trust:無条件許可)
host    all         all         192.168.0.0/24      trust
  1. reboot
  2. postgres ユーザーのパスワードを変更
    • 「su - postgres」、「psql -c "alter user postgres with password 'password'"」
  3. 必要ならDBユーザー追加「createuser ユーザー名」
  4. 「psql」でバージョンなど確認
  5. ログは、/var/lib/pgsql/data/pg_log/postgresql-曜日.log にある
  6. pgAdmin3からアクセスできるか確認

gcc系インストール

  1. 「yum -y install gcc」をうつ(バージョン4.4.7)
  2. 「yum -y install gcc-c++」をうつ
  3. 「yum -y install gdb」をうつ

最新のgcc(devtoolset-2、3、4)インストール

  1. 「yum -y install centos-release-SCL」でSCLのインストール
  2. 「cd /etc/yum.repos.d/」
  3. 「wget http://people.centos.org/tru/devtools-2/devtools-2.repo」でダウンロード
  4. 「yum -y install devtoolset-2-gcc devtoolset-2-binutils devtoolset-2-gcc-c++」でインストール
  5. 「wget https://copr-fe.cloud.fedoraproject.org/coprs/rhscl/devtoolset-3/repo/epel-6/rhscl-devtoolset-3-epel-6.repo」でダウンロード
  6. 「yum -y install devtoolset-3-gcc devtoolset-3-binutils devtoolset-3-gcc-c++ devtoolset-3-gcc-gfortran」でインストール
  7. 「wget https://copr.fedorainfracloud.org/coprs/hhorak/devtoolset-4-rebuild-bootstrap2/repo/epel-6/hhorak-devtoolset-4-rebuild-bootstrap2-epel-6.repo」でダウンロード
  8. 「yum -y install devtoolset-4-gcc devtoolset-4-binutils devtoolset-4-gcc-c++」でインストール
  9. devtoolset環境にする場合は、「scl enable devtoolset-2 bash」とうつ
  10. 「gcc --version」でバージョン確認
    • devtoolset-2は4.8.2
    • devtoolset-3は4.9.2
    • devtoolset-4は5.2.1

boostインストール

  1. 「scl enable devtoolset-2 bash」
  2. 公式から欲しいバージョンのboostをダウンロードする
  3. 「tar xvzf boost_*.tar.gz」で解凍
  4. boost_フォルダを任意の場所に移動(/opt等)
  5. 「cd boostフォルダ」
  6. 「./bootstrap.sh」
  7. 「./b2」そこそこ時間がかかる
  8. 「.bjam install」

subversionインストール

  1. /etc/yum.repos.d/wandisco.repo を以下内容で作成
[wandisco-svn]
name=WANDisco Repository - snv-1.9 centos6
baseurl=http://opensource.wandisco.com/centos/6/svn-1.8/RPMS/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-WANdisco
  1. rpm --import http://opensource.wandisco.com/RPM-GPG-KEY-WANdisco」GPGキー(公開鍵)追加
  2. 「yum -y install --enablerepo=wandisco-svn subversion」
  3. 「svn --version」で確認

gitインストール

  1. 以下をたたく
  2. 「git --version」で確認
# cd /etc/yum.repos.d/
# wget http://wing-repo.net/wing/6/EL6.wing.repo
# yum -y install --enablerepo=wing git
  • ユーザー登録しておく
$ git config --global user.name ユーザー名
$ git config --global user.email メールアドレス
$ cat ~/.gitconfig
  • 必要なら、SSH用の秘密鍵、公開鍵を作っておく
$ cd ~/.ssh
$ ssh-keygen -t rsa -C メールアドレス
  • proxy環境なら以下を設定
git config --global http.proxy http://<user>:<pass>@<host>:<port>
git config --global https.proxy http://<user>:<pass>@<host>:<port>
git config --list

色々インストール

  • 「yum -y install cmake」をうつ
  • 「yum -y install libcurl-devel」をうつ