変奏現実

パソコンやMMORPGのことなどを思いつくまま・・・記載されている会社名・製品名・システム名などは、各社の商標、または登録商標です。

この画面は、簡易表示です

CentOS

Blog鯖のバックアップ

気が向いたときにしかバックアップしていない。
でも rsync で、パソを起動した後に、勝手にBLOG鯖の中身をパソにバックアップしてくれたら楽そうだ。
/etc とか /var/www /root  あたりかな
/var/log/* も日付でファイルをローテートすれば、履歴が残せそうな気もするが・・・
Blog鯖  rsync  最小限インストールでインスト済。
でも、バックアップファイルを作ってるとSSDの痛みが激しくなりそうなので
リアルタイムミラーリングツール導入(lsyncd+rsyncd)
を見ながらインストしてみる。
今は lsyncd-2.1.4.tar.gz が最新らしい。
# ./configure && make && make install
・・・
checking for a2x… no
configure: error: Program ‘a2x’ (package asciidoc) is required
そうなのか・・・
# yum – y  install   asciidoc
次!
# ./configure && make && make install
・・・
checking whether Lua library was compiled with compat support… no
configure: error: Lua library needs to be compiled with compat support
しかし、
# yum install lua-devel
・・・
Package lua-devel-5.1.4-4.1.el6.x86_64 already installed and latest version
あれ?入っているのか?
# yum  install   lua
・・・
Package lua-5.1.4-4.1.el6.x86_64 already installed and latest version
設定がおかしいらしい。
# export LUA_CFLAGS=’-I/usr/include -lm -ldl’
は、
# ls -l  /usr/include/lua*
-rw-r–r– 1 root root 11688 8月 19 15:15 2010 /usr/include/lua.h
-rw-r–r– 1 root root 191 8月 19 15:15 2010 /usr/include/lua.hpp
-rw-r–r– 1 root root 22128 8月 19 15:15 2010 /usr/include/luaconf.h
-rw-r–r– 1 root root 1026 8月 19 15:15 2010 /usr/include/lualib.h
ふむ
export LUA_LIBS=’/usr/lib/liblua.a’
ls -l /usr/lib/liblua*
ls: cannot access /usr/lib/liblua*: そのようなファイルやディレクトリはありません
これらしい。
# find / -name liblua.a -print
/usr/lib64/liblua.a
x86_64入れたからな、仕方がない。
# export LUA_LIBS=’/usr/lib64/liblua.a’
# ./configure && make && make install
・・・
make[1]: ディレクトリ `/root/lsyncd-2.1.4′ から出ます
インスト完了。
あ、yumでできたんじゃないのかな?
# yum list  lsyncd
Available Packages
lsyncd.x86_64 2.1.4-1.el6.rf rpmforge
あるじゃないか
# grep uninstall: Makefile
uninstall: uninstall-am
# make  uninstall
( cd ‘/usr/local/bin’ && rm -f lsyncd )
( cd ‘/usr/local/share/doc/lsyncd/’ && rm -f lbash.lua lecho.lua lgforce.lua limagemagic.lua lpostcmd.lua lrsync.lua lrsyncssh.lua )
( cd ‘/usr/local/share/man/man1’ && rm -f lsyncd.1 )
手で打てってことらしい。
# cd ‘/usr/local/bin’ && rm -f lsyncd
cd ‘/usr/local/share/doc/lsyncd/’ && rm -f lbash.lua lecho.lua lgforce.lua limagemagic.lua lpostcmd.lua lrsync.lua lrsyncssh.lua
cd ‘/usr/local/share/man/man1’ && rm -f lsyncd.1
ちゃんとuninstallできたかな?
# /etc/rc.d/init.d/lsyncd start
-bash: /etc/rc.d/init.d/lsyncd: そのようなファイルやディレクトリはありません
多分OK。
# yum install  lsyncd
Running Transaction
Installing : lsyncd-2.1.4-1.el6.rf.x86_64 1/1
Verifying : lsyncd-2.1.4-1.el6.rf.x86_64 1/1
Installed:
lsyncd.x86_64 0:2.1.4-1.el6.rf
lsyncd-2.1.4.tar.gz が無駄になったがこれでいいのだろう。

# rm -rf lsyncd*

最初から、yum install  lsyncd でやっておけば、何も苦労は無かったに違いない。
/etc/rc.d/init.d/lsyncd start
/etc/rc.d/init.d/lsyncd: line 23: /etc/sysconfig/lsyncd: 許可がありません
lsyncd を起動中: Warn: settings = { … } is deprecated.
please use settings{ … } (without the equal sign)
Error: error preparing /etc/lsyncd.conf: Parameter “rsyncOps” unknown. (if this is not a typo add it to checkgauge)
謎のメッセージだが、
# chmod +x /etc/sysconfig/lsyncd
vi /etc/lsyncd.conf
で、rsyncOpsの行を削除したら動き出した。
とファイルをアップすると、
lsyncd を起動中: Warn: settings = { … } is deprecated.
please use settings{ … } (without the equal sign)
settings = { の = が無駄らしい。
なんか特殊なバージョンなようだ。
マニュアルも読んでみる。ここで気が付く、2.0.x と 2.1.x でマニュアルが違っている。
さっきのconfの書き方は2.0.x用
な訳で、まだ rpmforge のはイマイチなので、またDLしてソースから・・・
適当に設定しいざ動かしてみる。
パソ側のDeltaCopy は rsyncのssh未対応。サードパティのSSH入れてくれと書いてある。
それは何故か?WindowsでSSHサーバーを立てるのが難しいからだ。
同様にcwRsync Serverも失敗。それに、こっちはサービス登録時のインストーラでアカウントを登録しないといけないから、パスワードを変えるのが面倒だ。
で、Windows7のHyper-Vでもう一台CentOS6.4を作ってみる。
バックアップ先にもrsync,sshなどが一式必要なので、不足分を見つけて追加するのは結構面倒。
# yum -y groupinstall “Base” “Development tools”
でドット入れた方がマシ。
あと公開暗号キーの転送ディレクトリィ(/root/.ssh)は手で作らないといけないようだ。
# mkdir /root/.ssh
その後、scpで転送。
/var/www以下は2.8Gバイトあったけど、
*** 10 23:09:13 ** Normal: recursive startup rsync: /var/www/ -> *.*.*.*:/var/www/
*** 10 23:22:16 ** Normal: Startup of “/var/www/” finished: 0
約15分ほどでバックアップ終了。
TOPで見る限るCPU 75%idだったりするので、もっと早くできるのかもしれないが、バックアップ中はBlogが重いのは本末転送。
※実際、バックアップ中に記事を書くとなんか重い気がする。
 
画像をアップしたり消したりすると、
Wed Apr 10 23:25:39 2013 Normal: Rsyncing list
/blogHtml/wp-content/uploads/2013/04/ASUS-EPU.bmp
Wed Apr 10 23:25:40 2013 Normal: Finished (list): 0
Wed Apr 10 23:26:24 2013 Normal: Deleting list
/var/www//blogHtml/wp-content/uploads/2013/04/ASUS-EPU.bmp
Wed Apr 10 23:26:25 2013 Normal: Finished (list): 0
と、追従してくるので非常にありがたい。
WordPressのDBバックアップ機能で自動バックアップができればそれも一緒に転送してくれる。
どうやら、rpmforgeのlsyncd 2.1.xのパッケージングは今一の様だけど、
ソースならちゃんと使えます。(笑
 
後で気が付いたけど、転送先の/etc/rsync.confの設定は必要ではなかった。

/etc/lsyncd.confの設定は・・・

settings {

statusFile = “/var/log/lsyncd.stat”,

statusInterval = 1,

logfile = “/var/log/lsyncd.log”,

}

sync{

default.rsyncssh,

source=”/var/www/”,

host=”*.*.*.*”,

targetdir=”/backup/var/www/”,

}

sync{

default.rsyncssh,

source=”/etc/”,

host=”*.*.*.*”,

targetdir=”/backup/etc”,

}

な感じにしてみた。
手元が狂うと転送先を簡単に破壊できそうです。(恐
また、この設定の仕方では、lsyncdを常時起動する必要もなかった。
lsyncd  をstop⇒startの間の変更も反映していた。
だがTeraTermから操作していたせいかもしれない。
記事を書いている間に画像をUPした場合は気が付かなかった。
回線がつながらないとか、転送先のディレクトリが存在しないとか、な理由で凹んで寝てしまう。
とか、特徴がありますね。



メール移行

メールを新メインなパソで受信できるようにした。
手間取ったのは、またOCNだが、AVASTのせいではなく、パスワードを忘れたので再設定。
移行したせいかもしれないが、BLOGデータがデカくなっているらしい。
# tail -50 /var/log/maillog
postfix/postdrop[27354]: warning: uid=48: File too large
php.iniの設定は余裕すぎ。
post_max_size = 50M
# cat /etc/postfix/main.cf |grep size_limit
message_size_limit = 10485760
まだ、まだ大丈夫なハズだがbase64エンコードし10M越えかもしれない。
message_size_limit = 30485760
# service postfix restart
OKだった。
 



無線LAN接続

NUCでPCIデバイスはどうなっているのか?

# lspci

00:00.0 Host bridge: Intel Corporation 2nd Generation Core Processor Family DRAM Controller (rev 09)

00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09)

00:16.0 Communication controller: Intel Corporation 7 Series/C210 Series Chipset Family MEI Controller #1 (rev 04)

00:19.0 Ethernet controller: Intel Corporation 82579V Gigabit Network Connection (rev 04)

00:1a.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #2 (rev 04)

00:1b.0 Audio device: Intel Corporation 7 Series/C210 Series Chipset Family High Definition Audio Controller (rev 04)

00:1c.0 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 1 (rev c4)

00:1c.2 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 3 (rev c4)

00:1d.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #1 (rev 04)

00:1f.0 ISA bridge: Intel Corporation QS77 Express Chipset LPC Controller (rev 04)

00:1f.2 SATA controller: Intel Corporation 7 Series Chipset Family 6-port SATA Controller [AHCI mode] (rev 04)

00:1f.3 SMBus: Intel Corporation 7 Series/C210 Series Chipset Family SMBus Controller (rev 04)

02:00.0 Network controller: Intel Corporation Centrino Advanced-N 6235 (rev 24)

となっていた。
Gigabit Network は無線ではないだろうから、
Intel Corporation Centrino Advanced-N 6235
が無線LANボードらしい。認識しているので、どこからかドライバーをダウンロードしてカーネルに入れる必要はないようだ。
まず、デスクトップで作ったkeyファイルは削除。
ifcfg-wlan0は、

DEVICE=wlan0
BOOTPROTO=dhcp
ONBOOT=no
TYPE=Wireless

に変更。
※この時点でデスクトップは無用になった。
ONBOOT=no
なのに
BOOTPROTO=dhcp
って変だけど、削ると、最後の方で ifup wlan0 が空振りしてしまうので必須。
※BOOT時にシェルのドコかで使うコマンドなんだろうなぁ~
では、WPA2だけのために、無線LANで認証するためのサービス(WPA  wpa_supplicant) をインスト。

# yum -y install wpa_supplicant

/etc/sysconfig/wpa_supplicant が出来ていたので、
3行目を INTERFACES=”-iwaln0“ に 6行目を DRIVERS=”-Dwext” を変更。
次は設定ファイルの更新だ。

wpa_passphrase {SSID}  {パスワード}

network={
ssid=”{SSID}”
#psk=”{パスワード}”
psk={パスワードを暗号化した意味不明な長い文字列}
}

と、それっぽいテキストができるので、
#  wpa_passphrase {SSID}  {パスワード}  >> /etc/wpa_supplicant/wpa_supplicant.conf
で設定ファイルに追記し、wpa_supplicant.confを開き、
ssid=”{SSID}”の後に ココココを見ると、WPA2なら

proto=WPA2
key_mgmt=WPA-PSK
proto=WPA WPA2
pairwise=CCMP TKIP
group=CCMP TKIP WEP104 WEP40

を追記するといいらしい。
では繋いでみましょうか・・・

service wpa_supplicant start

wpa_supplicant の起動中: /etc/wpa_supplicant/wpa_supplicant[  OK  ]iwlan0、-Dwext

結果はどうなんだろう?

# ifconfig

wlan0 Link encap:Ethernet HWaddr **:**:**:**:**:**
inet6 addr: ****::****:****:****:****/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:28 errors:0 dropped:0 overruns:0 frame:0
TX packets:9 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:10157 (9.9 KiB) TX bytes:1011 (1011.0 b)

IPアドレスが取れていないので、
フム失敗のようだね。
色々設定を繰り返しいるうちにdmesgが

ADDRCONF(NETDEV_UP): wlan0: link is not ready
wlan0: authenticate with **:**:**:**:**:**
wlan0: send auth to **:**:**:**:**:** (try 1/3)
wlan0: send auth to **:**:**:**:**:** (try 2/3)
wlan0: authenticated
wlan0: associate with **:**:**:**:**:** (try 1/3)
wlan0: RX AssocResp from **:**:**:**:**:** (capab=0x*** status=* aid=*)
wlan0: associated
ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready

と良さげな内容になってきたが、
ルータの方を見ても、

MACアドレス リースIPアドレス ホスト名 通信方式 無線認証 802.11n
**:**:**:**:**:** 無線 認証済み 有効

なんでIPアドレスもらいにいかないのかな?

# dhclient

# ifconfig waln0

wlan0 Link encap:Ethernet HWaddr **:**:**:**:**:**
inet addr:**.**.**.** Bcast:**.**.**.** Mask:255.255.255.0
inet6 addr: ****::****:**:**:**/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:514 errors:0 dropped:0 overruns:0 frame:0
TX packets:136 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:156326 (152.6 KiB) TX bytes:19058 (18.6 KiB)

なんてこった。(笑

/etc/rc.d/rc.local の最後に

ifup wlan0

を追記し、起動時にIPアドレスを聞くように云っておく。
使用しているルータ( WHR-G301N )のDHCPには珍しいことに手動割当ができる。
ルータからNIC指定で同じIPアドレスを割り当てられるので、NUC側はDHCPのまま。
NUC側で固定にしたい場合は、
ifcfg-wlan0の
BOOTPROTO=dhcpを
BOOTPROTO=static IPADDR=192.168.***.*** とすればいいだろう。

※今は、こうなっている。
DEVICE=wlan0
BOOTPROTO=dhcp
ONBOOT=no
TYPE=Wireless

/etc/rc.d/init.d の下のchkconfig用設定ファイルの書いてある、起動順序を入れ替えれば /etc/rc.d/rc.local で ifup wlan0 しなくてもよいようだ。
# for  a     in   * ; grep chkconfig $a; done
・・・
# chkconfig: – 23 88
・・・
# chkconfig: 2345 10 90
っといっぱい出てきた。
左から2つ目の数字が起動順だ。
# grep chkconfig   wpa_supplicant
# chkconfig:23 88
# grep chkconfig   network
# chkconfig: 2345 10 90

なので、wpa_supplicantの方を9に変えてしまえばいいようだ。(超いい加減。
しかし、結果から云えば、ダメだった。ずーっと23番目。
※後でみてみたら20番にいたり・・・不安定

こうなったら

最終手段

/etc/rc.d/init.d/wpa_supplicant の

最後に
ifup wlan0
を入れた。

後悔するだろうなぁ~忘れた頃に・・・
ps 修正箇所を見つけるのに苦労したので、文面を一部訂正。(笑



新BLOG鯖の構築

構築手順はこんな感じになる。
参考: CentOSで自宅サーバー構築

  1. ネットワーク・インストーラの準備
    • syslinuxをダウンロード。
    • USBメモリにブートローダをインスト。
    • CentOS6.4のネットワークインストール.ISOをダウンロード。
    • ISOファイルを展開し、isolinuxフォルダの中身をUSBメモリにコピー。
    • isolinux.cfg を syslinux.cfg の名前でコピー。※おまじない
  2. CentOS6.4 最小限インストール
    • NUCの電源を入れ、すぐに{F2}を押して、UEFI(通称BIOS)を起動。
    • BOOTデバイスの一番上にUSBメモリを移動。
    • exit⇒保存を選択し、再起動。
      • Boot: の後に Linux {ENTER} と入力して起動。
    • 以下、ココの通りに進める。
      • 後で無線LANに切り替えるのでIPアドレスはそのまま。
  3. CentOS6初期設定
    • (2)一般ユーザの作成&削除
      • ※監視メール受信用アカウント
    • (5)パッケージ管理システム設定
    • (6)root宛メールを転送する
      • /etc/aliasesの変更。
        • rootを監視メール受信用アカウントに転送。
    • (7)SELinuxの無効化
    • (9)nkfコマンドインストール
    • reboot
  4. 無線LAN設定
  5. ファイル改竄検知システム導入(Tripwire)
    • tripwire-2.4.2.2-src.tar.bz2 を使った
  6.  RPMforgeリポジトリ導入(RPMforge) ← 2016年7月20日頃から使用不可
    • yum-prioritiesプラグイン導入
    • 最新のrpmforge-release-0.5.3-1.el6.rf.x86_64.rpm を使った方が良かった気がした
    • EPELも導入
  7. rootkit検知ツール導入(chkrootkit)
    • 全部。
  8. アンチウィルスソフト導入(Clam AntiVirus)
    • /etc/rc.d/init.d/clamd start の 前に freshclam
  9. NTPサーバー構築(ntpd)
    • 全部。
  10. Webサーバー構築(Apache)
    • パッケージだけインスト。
  11. ファイアウォール構築(iptables)
    • 全部
    • LANケーブルを外してreboot。
    • LAN=wlan0
  12. Webサーバー間通信内容暗号化(Apache+mod_SSL)
  13. メールサーバー構築(Postfix+Dovecot)
  14. データベースサーバー構築(MySQL)
    1. 一応入ったが・・・
  15. MySQLデータベース自動バックアップ運用(mysqlhotcopy)
  16. MySQL用GUI設定ツール導入(phpMyAdmin)
    • パスがphpmyadminに変わってた。IPアドレスも違うので設定を変更。
  17. データファイル移行
    • あまりの分量にCeleronのファンが初めて回った。
  18. データベース移行
    • 圧縮を指定して移行
  19. ルータ切替
    • 完了。

 
 
 



新Blog鯖構想

何気にCentOS6.4を入れては消しを繰り返しているうちに
何が気に入らないのか判ってきた。
用途としては、

  1. apacheでWordPressを動かす。
    1. mysqlが必要。
      1. phpmyadminでも、チェックできるようにしたい。
    2. phpが必要。
  2. 24時間動きっぱなしになるので、
    1. 夜間yumパッチ
    2. 改ざんチェック
      1. ファイル改竄検知システム導入(Tripwire)
      2. rootkit検知ツール導入(chkrootkit)
      3. アンチウィルスソフト導入(Clam AntiVirus)
      4. ファイアウォール構築(iptables)
  3. 報告にメールサーバも必要。
    1. Postfix
    2. Dovecot

なダケなのに、いろいろ設定が必要だ。
今回一番面倒だったのが上に記載すらない無線LANの接続だった。
これもバックアップを取ったので、最小限インストールでも大丈夫だろう。※無線LAN接続パッケージが必要な気もするが・・・
 



ぷっつんしたので買ってしまった

嫌なことがあったのでDCCP847DYE NUC(Celeron版)を買った。
ケースはダークグレイ。いかにも安い感じ。
安いのを選択した理由は

夏を越えられそうな気がしなかった

からだ。(笑
しかし、一日中空回り(リブート放置)させたが、ほんのり温かい程度なので、
店頭ではCore i3の方で低解像度でゲームのデモを展示していたからオンゲの放置露店はできるだろう。
予算があればCore i3の方がいいだろう。
箱のCM音はセンサーか照明の角度のせいか、鳴らなかったり、3度鳴ったり不安定です。
※2~3度聞いたら、もう嫌になっていた。
合計で、NUCセット(ACコード込)+無線LANボード+DDR3(SO-DIMM) 13000×1枚+SSD 60GB=3.1万円
※メモリを1枚でもちゃんと動きました。
※Linuxを16GBのUSBにでもインストすれば、SSDもいらず設定が面倒な無線LANも買わなければ悩まず、お安くできたハズ。
今回は、INTELのSSD(30GB)は無かったので、PLEXTORの60GBにしました。
無線LANは店側が組込んだ状態でないと電波法違反らしいので組み込み待ち時間は15分ほどでした。
でも、組込み作業は無料でした。
次は高性能タイプのNUCが出たら、また試してみましょうかね。
勿論、無線LANも一緒に!
レベルアップして、組込み時間も短縮しているかもしれませんね?

 



CentOS6.3

CentOS6.3に入れ替えました。
ザーット斜め読み的にインストし、
前のSSD(サムスン330 120GB)は、ボリューム名が被っていたので、
vgrename  (vgdisplayで見たUUID)  新しいVG名
で変更して
mount   /dev/新しいVG名/lv_root  /mnt
マウントして
apacheの設定、ファイル、DBをコピって終了。
umount  /mnt  しようと、したらロックされてたので再起動。
で完了。
 
 



VMPlayerのディスク圧縮が・・・

暫くVMディスクファイルの圧縮をサボっていた。
そろそろやっておかないと・・・

え!仮想マシンではshrinkできなくした訳?
困ったなぁ~
1/19の記事の時点ではできてたのに・・・
ext4未対応って情報もありますが・・・
仕方が無いので、
①手動で未使用領域をゼロで埋め、
# df

Filesystem 1K-ブロック  使用 使用可 使用% マウント位置
/dev/mapper/vg_ssiscirine-lv_root 20134384 6020096 13091520 32% /
tmpfs 255568 0 255568 0% /dev/shm
/dev/sda1 495844 110809 359435 24% /boot

ブロックサイズを4K(4096)にするなら、13091520/4=3272880だから
# dd if=/dev/zero of=/dummy bs=4096 count=3272880
3272880+0 records in
3272880+0 records out
13405716480 bytes (13 GB) copied, 143.134 s, 93.7 MB/s
# df

Filesystem 1K-ブロック  使用 使用可 使用% マウント位置
/dev/mapper/vg_ssiscirine-lv_root 20134384 19150240 0 100% /
tmpfs 255568 0 255568 0% /dev/shm
/dev/sda1 495844 110809 359435 24% /boo

# rm /dummy
rm: remove 通常ファイル `/dummy’? y
# poweroff
②VM-Workstationをインストしてあれば、
vmware-vdiskmanager.exe  -k   *.vmdk
とかすれば良いはずなんですが・・・
③VM Playerには入って無いのでVMPlayerの画面から圧縮機能を使うしかないかな。
1.5G減った。
まぁこんなものかもしれない。



鯖移行

AM4のパワータイムの状況。

さっぱり足りてないのでVMPlayerを諦め、
ATOM-PCを掘り起こしCentOS6.2をインスト中。
E-450は留守録画、放置露天用に。

No. 作業 内容 状況
1. CentOS6.2(32bit) インスト 完了
2. yum 全パッケージ更新 完了
3. yum-cron インスト 完了
4. rootkit検知ツール導入(chkrootkit) download.fedora.redhat.comが
Not found
中断
5.
6.
7.
8.
9.
10.
10.



top