6:chkrookitのインストール

参考URL:http://centossrv.com/chkrootkit.shtml
この前にhttp://www.kinryokai.net/modules/news/article.php?storyid=208を参照し、EPELレポジトリーをインストールする事
# yum -y install chkrootkit
# chkrootkit | grep INFECTED
grepは大文字と子文字を区別するので必ず大文字でINFECTEDとする事。
汚染されていない場合は not infected となるので、小文字でやると正常な分が表示される。
chkrootkit定期自動実行設定
# gedit chkrootkit

#!/bin/bash
PATH=/usr/bin:/bin
TMPLOG=`mktemp`
# chkrootkit実行
chkrootkit > $TMPLOG

# ログ出力 cat $TMPLOG | logger -t chkrootkit

# SMTPSのbindshell誤検知対応
if [ ! -z "$(grep 465 $TMPLOG)" ] && [ -z $(/usr/sbin/lsof -i:465|grep bindshell) ]; then
      sed -i '/465/d' $TMPLOG
fi

# upstartパッケージ更新時のSuckit誤検知対応
if [ ! -z "$(grep Suckit $TMPLOG)" ] && [ -z $(rpm -V `rpm -qf /sbin/init`) ]; then
       sed -i '/Suckit/d' $TMPLOG
fi

# rootkit検知時のみroot宛メール送信
[ ! -z "$(grep INFECTED $TMPLOG)" ] && grep INFECTED $TMPLOG | mail -s "chkrootkit report in `hostname`" root

rm -f $TMPLOG

# chmod 700 chkrootkit
# mv chkrootkit /etc/cron.daily/
その後、http://centossrv.com/chkrootkit.shtmlを参考に”chkrootkitで使用する安全なコマンドの確保”をやっておく

カテゴリー: 省エネサーバー製作(CentOS 6) | コメントする

ギャラリーの横幅を大きくする

wp-content/themes/twentyten/functions.phpを編集

/*
 * Set the content width based on the theme’s design and stylesheet.
 *
 * Used to set the width of images and content. Should be equal to the width the theme
 * is designed for, generally via the style.css stylesheet.
 */
if ( ! isset( $content_width ) )
    $content_width = 860; /* 内容部分の横幅の設定 */

/* Tell WordPress to run twentyten_setup() when the ‘after_setup_theme’ hook is run. */
add_action( ‘after_setup_theme’, ‘twentyten_setup’ );

これでギャラリーの横幅が大きくなる。

カテゴリー: WordPress関連メモ | コメントする

ヘッダー画像の横幅を大きくする

まずはWEB全体の大きさを変更。wp-content/themes/twentyten/style.cssを編集

/* =Structure
————————————————————– */

/* The main theme structure */
#access .menu-header,
div.menu,
#colophon,
#branding,
#main,
#wrapper {
margin: 0 auto;
width: 1160px; /*全体の幅*/
}

中略

/* =Header header画像の大きさの調整は functions.phpで設定
————————————————————– */

#header {
padding: 30px 0 0 0;
}
#site-title {
float: left;
font-size: 30px; /* ヘッダー画像左上のフォントサイズ */
line-height: 36px;
margin: 0 0 18px 0;
width: 700px;
}
#site-title a {
color: #000;
font-weight: bold;
text-decoration: none;
}
#site-description { /* ヘッダー画像右上の文字関連 */
clear: right;
float: right;
font-style: italic;
font-size: 18px;
margin: 15px 0 18px 0;
width: 220px;
}

/* This is the custom header image */
#branding img {
 /* header image 上下の線の色  コメントアウトして線を入れない様にした */
    /* border-top: 4px solid #fff; */
    /* border-bottom: 1px solid #000; */
display: block;
float: left;
}

/* =Menu header画像の下にあるメニュー
————————————————————– */

#access {
background: #000;
display: black;
float: left;
margin: 0 auto;
width: 1160px; /* 上部のメニューの幅 */
}
#access .menu-header,
div.menu {
font-size: 18px; /* menu size、オリジナルより大きくした*/
font-weight: bold; /* 太字にした */
margin-left: 12px;
width: 1130px;
}

画像の大きさはwp-content/themes/twentyten/functions.phpを編集

// The custom header business starts here.

$custom_header_support = array(
/*
* The default image to use.
* The %s is a placeholder for the theme template directory URI.
*/
‘default-image’ => ‘%s/images/headers/path.jpg’,
// The height and width of our custom header.
/**
* Filter the Twenty Ten default header image width.
*
* @since Twenty Ten 1.0
*
* @param int The default header image width in pixels. Default 940.
*/
‘width’ => apply_filters( ‘twentyten_header_image_width’, 1160 ),  /* ヘッダー画像の横幅 */
/**
* Filter the Twenty Ten defaul header image height.
*
* @since Twenty Ten 1.0
*
* @param int The default header image height in pixels. Default 198. /* ヘッダー画像の縦幅 */
*/
‘height’ => apply_filters( ‘twentyten_header_image_height’, 198 ),
// Support flexible heights.
‘flex-height’ => true,
// Don’t support text inside the header image.
‘header-text’ => false,
// Callback for styling the header preview in the admin.
‘admin-head-callback’ => ‘twentyten_admin_header_style’,
);

これで、画像は1160×198ピクセルを使用する

カテゴリー: WordPress関連メモ | コメントする

5:EPELレポジトリの導入

参考URL:https://centossrv.com/epel.shtml
yumでは出来ないプログラムの為にEPELレポジトリの導入する
# rpm -ivh http://ftp.riken.jp/Linux/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm ← これは64bitの場合、32bitの場合は途中のx86_64をi386に変更。(例によってxoopsの問題で ; は : に変更してね。
今日やったらrikenのftpサーバーが落ちているみたい。たまたまかも知れないが、
# rpm -ivh http://ftp-srv2.kddilabs.jp/Linux/distributions/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm ← ここからでも出来る
yum-prioritiesプラグイン導入
# yum -y install yum-plugin-priorities

CentOSのレポジトリーのプライオリティーを設定する
# gedit /etc/yum.repos.d/CentOS-Base.repo

[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
priority=1 ← 追加

#released updates
[updates]
name=CentOS-$releasever - Updates
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
priority=1 ← 追加

#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
#baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
priority=1 ← 追加

プライオリティーについて
優先度は “1~99″、値が小さいほど優先度が高くなる。又未設定の場合は優先度が “99” 。つまりこの設定はBase,updates,extraを最優先にし、EPELを含むそれ以外は最低のプライオリティーという事。

カテゴリー: 省エネサーバー製作(CentOS 6) | コメントする

4:仮想環境を整える

前のサーバーの時はインストールDVDから行ったので、仮想環境を指定してインストールしたのだが、今回はlive DVDからインストールしたので仮想環境がなかったのでインストールする
# yum -y groupinstall “Virtualization” “Virtualization Client” “Virtualization Platform” “Virtualization Tools”
オフラインゲスト編集ツールインストール
# yum -y install ‘*guestf*’
ここで再起動をしておく。
このまま仮想環境を作るとサブホストは 192.168.122.xx のレンジになり何かと不便なので、このホストと同じレンジにするためにブリッジを導入する。
(注)NetworkManagerはブリッジをサポートしてないそうな!(ここを参照)。もしNetworkManagerが走っていれば止めておく事。再起動後もスタートしないように。又、/etc/resolv.confの設定も忘れずに
# virsh iface-bridge eth0 br0
もしここで

エラー:An error occurred, 後略

見たいなエラーが出る時は、/etc/sysconfig/network-scripts/ifcfg-eth0にDEVICE=eth0が無いと思うので、追加する。name=eth0はあるのだがこれではダメ見たい。
/etc/sysconfig/network-scripts/ifcfg-br0の確認

DEVICE=br0
ONBOOT=yes
TYPE=Bridge
BOOTPROTO=none
IPADDR=192.168.xx.xx ←伏せ字にしています、自分の環境に合わせて設定してください
NETMASK=255.255.255.0
GATEWAY=192.168.xx.xx ←伏せ字にしています、自分の環境に合わせて設定してください
STP=on
DELAY=0

eth0に設定されていたIPアドレスがブリッジのアドレスになっている
/etc/sysconfig/network-scripts/ifcfg-eth0の確認

DEVICE=eth0
HWADDR=D0:50:99:25:73:1F
ONBOOT=yes
BRIDGE=br0

色々設定していたものがbr0に設定され非常にシンプルになっている。 BRIDGE=br0 になっていることが重要
ホスト停止時にサブホストの挙動を設定
# gedit /etc/sysconfig/libvirt-guests

ON_SHUTDOWN=suspend ← 先頭の#を取りコメントを外す
SHUTDOWN_TIMEOUT=120 ← 先頭の#を取りコメントを外し、右辺を120秒に

色々な資料を見ると180秒になっているのが多いのですが、私は経験上30秒くらいですんでいる、もっともSSDの恩恵もあると思うが。
再起動しネットが使えることを確認する

カテゴリー: 省エネサーバー製作(CentOS 6) | コメントする

3:初期設定

参考URL http://centossrv.com/centos6-init.shtml(現在はページが無くなっている)
前回の基本的なインストールで随分と苦労した。気を取り直してインストールを続ける。
rootになれるユーザーの制限。まず可能なユーザーを設定
# usermod -G wheel xxxxx (xxxxはユーザー名)
設定ファイルの修正
# gedit /etc/pam.d/su

#auth       required     pam_wheel.so use_uid ← 先頭の#を取りコメントを外す

その後、一般ユーザーからrootになれる事を確認しておく
SELinuxの無効化
本来は有効にしていた方がもちろん良いのだが、未熟な為何かとつまずく元凶なので、ここでは無効化にする。
# setenforce 0 ← SELinux無効化
# getenforce ← SELinux状態確認
Permissive ← SELinux無効
# gedit /etc/sysconfig/selinux

SELINUX=enforcing ←右辺を disabled に変更

OSのアップデートと(Ver6.7になる2015-12-9現在)yum関連のインストール
注:この前に ”https://www.kinryo.net/?p=339” を参照し、ネットワークICのドライバーを変更しておく事
私の場合は6.5になった時点でネットワークが使えなくなった(ドライバーr8169の問題)
# yum -y update
# yum -y install yum-cron
# service yum-cron start
# chkconfig yum-cron on
root宛のメールを転送 /etc/aliasesに

root: 自分のメアド

を最後にでも追加
# newaliases
でエイリアスを反映。
# echo test|mail root
で設定したメアドにメールが着ているか確認
その後、再起動

カテゴリー: 省エネサーバー製作(CentOS 6) | コメントする

2:OS(CentOS Ver6.5)のインストール

追記:CentOS 6.7では問題なくインストール出来た。

組み立てが終了し、さっそくOSをインストールしようとCentOSの6.5をUSBでアッタッチしたBD- Driveからやったが、言語設定の後にドライバーの選択を求められるが、どのハードのドライバーをインストールするのか特定できない。今時SSDや HDDのドライバーではないと思うし、ビデオドライバーかなー、それともLAN関連?結局わからないのであきらめる。手元にCentOS6.4のLIVE DVDがあったので、ダメもとでやってみるとOSが立ち上がったぞ!!
記:このDVDは英語版だった。後のサブホストのインストールでも日本語が問題になったので、英語だからインストールが出来たみたい。
ではとディスクトップからinstall to Hard Driveをダブルクリックし、インストールを開始、無事インストールが終了し、BD-Driveを外し、再起動後、OSの初期設定を終わらせ、さらに再起動。
ログインでその他のユーザをクリックし、rootでログインをする。
いくつか問題、
1:IP がDHCPになっている。ホストは固定で運用したいので変更する。/etc/sysconfig/network-scripts/ifcfg-eth0 がないぞー! NetworkManagerが走っているのでその関係?でもifconfigをするとIPアドレスが表示されているので、どこかに設定が あるのだろー、だが何処にあるかは不明
2:言語がEnglishになっている?インストール時にJapaneseを指定(これはキーボードの設定だった。この時は言語の設定と勘違い)したが反映されていない。この時は英語判だったのに気がつかなかった。
3:ログイン画面に登録されているユーザーのリストが表示されている。私は好きでないし、セキュリティー上問題もあるので、ログイン時にユーザー名から入力するようにしたい。
まずは日本語化にする。関連パッケージのインストール
# yum groupinstall “Japanese Support”
次に /etc/sysconfig/i18nのLANGを

LANG="ja_JP.UTF-8"

に訂正し、保存後
# source /etc/sysconfig/i18n
次にログイン時のユーザーリストを表示しないようにするには、/etc/gconf/gconf.xml.defaults/%gconf-tree.xmlの22678行目くらいに下記があるので

<entry name="disable_user_list" mtime="1366723318" type="schema" stype="bool" owner="gdm-simple-greeter" gettext_domain="gdm">
	<local_schema locale="C" short_desc="Do not show known users in the login window">
 		<default type="bool" value="false"/> ←ここを True に変更
 		<longdesc>Set to true to disable showing known users in the login window.</longdesc>
        /local_schema>
</entry>

上に示したようにfalseをtureに変更し保存。
その後、再起動すると日本語になっているが、downloadやDesktopなどを日本語にするか聞いてくるので、好みで。変更前は入力が日本語にならなかったが、変更後は入力できるようになる。
もし、日本語のキーボード・マップになっていない場合は /lib/kbd/keymaps/i386/qwerty/jp106.map.gz があることを確認し、/etc/sysconfig/keyboard を

KEYTABLE="jp106"
KEYBOARDTYPE="pc"

として保存後、再起動すれば日本語になる。保存前は MODEL=”pc105+inet” LAYOUT=”us” の二つがあったが、なくてもいいみたいです。
次にIPアドレスをを固定にするので、/etc/sysconfig/network-scripts/ifcfg-eth0 に下記を設定

DEVICE=eth0
ONBOOT=yes
TYPE=Ethernet
BOOTPROTO=none
IPADDR=192.168.xx.xx
PREFIX=24
GATEWAY=192.168.xx.xx
NAME="System eth0"

IPアドレスはすぐにブリッジを作るのでいらなくなるが、その前に固定IPでネットワークのテストをしたいので設定しておく。
DHCPでなくなるので、DNSの設定をする。/etc/resolv.conf に

search kinryokai.net
nameserver 192.168.xx.xx
nameserver 8.8.8.8
nameserver 202.224.32.2

3行目はgoogleのDNS、4行目はISPのDNSです。
インストール時にホスト名を設定したが、反映していないので、/etc/sysconfig/networkのホスト名を

HOSTNAME=xxx.kinryokai.net

に変更し、NetworkManagerを止める(後で仮想化をインストールし、ブリッジを作りますが、NetworkManagerはブリッジをサポートしていないそうな。なのでここで止めるのが正解)
# service NetworkManager stop
# chkconfig NetworkManager off
NetworkManagerを止めないと、resolve.confが書き換えられてしまうので注意。
そ して、ネットワークドライバーを変更する。現在のドライバーはマザーボードのLANチップであるRealtekのRTL8111GR用のr8169が自動 的にインストールされているが、r8169は何かと問題が多い。その前にソースからインストール出来るように環境を作る。
注: ここで順番が大事、順番を間違えるとドライバーがダウンロードできなくなる。全てをダウンロード後、再起動してから、LANドライバーをインストールする 事。これは”Base” “Development tools”のインストールによりカーネルもアップデートされるが、再起動しないと有効になっていない為、順番を間違えるとネットワークが使えなくなる。
# yum -y groupinstall “Base” “Development tools”
でインストール。
ついでに日本語環境で有用なnkfをインストールしておく。
# yum -y install nkf
ドライバーはrealtekのRealtekのWEBからUnix (Linux)用の LINUX driver for kernel 3.x and 2.6.x and 2.4.x をダウンロードし、その保存した場所をカレントディレクトリーにし(CDをする)現在はrealtekのWEBにGBE Ethernet LINUX driver r8169 for kernel up to 5.6 がダウンロードできる見たいだが、テストをしていないので何とも言えない
# tar vjxf r8168-8.038.00.tar.bz2
# cd r8168-8.038.00
# ./autoru.sh
とすると、r8169を削除し、r8168を入れてくれる。この時

make: *** /lib/modules/2.6.32-358.el6.x86_64/build: そのようなファイルやディレクトリはありません.  中止.

と出る時は再起動し、再度行う。
追 記:ある時再起動後、キーボードとマウスが動かないので、ログインすら出来ない。”Development tools” を入れたらカーネルのアップデートもあり、それでかなー。古いカーネルでは入力が出来る。色々調べたら、USBキーボードの取り付けをUSB3(青い USB)にするとOKになった。
そして再起動。あれネットに繋がらない。入り色調べたらネットワークが走っていないみたい。なので
# service network start
# chkconfig network on
でやっと正常に繋がった。

その後、OSがupdateされる度にr8169に戻るので、update後は必ず ./autoru.sh 必要になる

カテゴリー: 省エネサーバー製作(CentOS 6) | コメントする

1:ハードを決める

CPU:仮想化でホストを3つくらい作るので最低でも4コアがほしい。TDPはなるべく少ないもの。という訳でCPUはAMDのATHLON 5350にしました。これは4コア、2GHz、TDP:25Wです。
マザーボード:前回は19インチラックを考慮し制作したが、今回はなるべく小さく作りたいので、ITX規格のマザーボードにする。使用したのはASRockのAM1H-ITXにした。最大の理由は19V単一電源で動作すること。
RAM:マザーが決まったのでDDR3にしかできない。手持ちの4GBを2つで8GBにした。
SSD:KVMホスト、仮想化で作る各サブホストなどと、WEBコンテンツ用領域(これはアクセス速度がHDDより早くなるので)などと考えると200GB以上必要そう。やっぱりサムソンが安いので250GBを使用。
HDD: 各ホストのスワップ領域(頻繁に書き込みがありSSDは使用したくないので)、ファイルサーバー用の領域(これはSSDを使った方が早くなるが、かなり大 きなサイズなのでSSDだとまだ高い)、各ホストのバックアップ用の領域などを考え、2.5インチ、7200rpmの1TBのHDDにした。

カテゴリー: 省エネサーバー製作(CentOS 6) | コメントする

17:mysqlのインストール

mysqlサーバーをインストールします。
# yum -y install mysql-server
mysqlの設定をしますが ( /etc/my.cnf )、私の場合はWEBサーバーのデーターをmysqlにしまってありますが、その移行をスムーズにする為に、デフォルトとは違うdatadirを指定します

[mysqld]
 	datadir=/webdata/mysql ← 右辺を変更
 	socket=/var/lib/mysql/mysql.sock
 	user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
 	symbolic-links=0

[mysqld_safe]
 	log-error=/var/log/mysqld.log
 	pid-file=/var/run/mysqld/mysqld.pid

サーバーを起動し、再起動後も有効に
# service mysqld start
# chkconfig mysqld on
私の場合はmysqlのデーターを、現在アクティブなWEBからコピーしたので、パスワードの設定等は既に入っていますが、デフォルトではその設定が必要です。
https://centossrv.com/mariadb.shtmlを参考に進めて下さい。ここはmysql では無くmariadbですが、ほぼ同じです。
あと、XOOPSで必要になるphp-mysqlもインストールする。
# yum install php-mysql

カテゴリー: CentOS 6 | コメントする

16:NFSを設定する。

nfs-utilsは最初からインストールされていたので、/etc/idmapd.conf を設定する。

Domain = kinryokai.net ←コメントを外し、自分のドメインにする。

/etc/exports は

/Download/NfsDir 192.168.xxx.0/24(rw,no_root_squash,no_all_squash) 

この意味は、このサブホストの /Download/NfsDir を他のホストから見えるように、アクセスできるホストは192.168.xxx. つまりlocal network からだけ、RWモードで、rootを許可し、そのままの権限でアクセスさせる。
# service rpcbind start
rpcbind を起動中: [ OK ]
# service nfslock start
NFS statd を起動中: [ OK ]
# service nfs start
NFS サービスを起動中: [ OK ]
NFS クォータを起動中: [ OK ]
NFS mountd を起動中: [ OK ]
NFS デーモンを起動中: [ OK ]
とそれぞれのサービスをスタートさせる。
上記はCentos6の時、Centos5は service rpcbind start がservice portmap start になる。
私は今だけ使うので、再起動後に有効にする必要は無いので chkconfig には設定を加えなかった。
ここからはNFSクライアント側の設定
nfs-utils はインストール済みだったので、/etc/idmapd.conf を設定する。

Domain = kinryokai.net ←コメントを外し、自分のドメインにする。

クライアント側で必要なサービスを走らせる。
下記はCentos5の時、Centos6では portmap の代わりに rpcbind と rpcidmapd をstartする。
# service portmap start
portmap を起動中: [ OK ]
# service nfslock start
NFS statd を起動中: [ OK ]
# service netfs start
その他のファイルシステムをマウント中: [ OK ]
# mount -t nfs -o rw web.kinryokai.net:/Download/NfsDir /test1
mount: mount to NFS server ‘web.kinryokai.net’ failed: System Error: Connection refused.
とエラーが出た。そう言えば web.kinryokai.net を簡易DNSであるdnsmasqが走っているホストの /etc/hosts に設定をしていなかったので、設定後、dnsmasq を再起動するとマウント出来た。

カテゴリー: CentOS 6 | コメントする