概要

LinuxのKVMをベースとした仮想化サービス。2週間の試用期間あり。試したところ自宅の物理サーバよりはるかに快適だったので、仮想環境であることのデメリットは感じなかった。CORE-MINIが夜重かったのもあって乗り換え決定!

要塞化

  1. SSHのポートを変える。rootログインの禁止。パスワード認証の禁止
  2. TCPWRAPPERでログイン可能IPの限定
  3. iptablesにて不要ポート通信を制限

centOS7バージョンだとポート変えるとダメだった。以下の手順を再度確認してみる。

http://qiita.com/dansuke@github/items/4cb01478d135b706c8fd

CentOS7 firewall

# firewall-cmd --add-port=40022/tcp
# firewall-cmd --list-ports
40022/tcp

SSLでNamedVirtualHost

https://blog.apar.jp/linux/378/

yum履歴

yum install httpd php-pdo php-pgsql php-mysql
yum install
yum install postgresql-server
yum install subversion
yum install mysql-server.x86_64
yum install php.x86_64
yum install vsftpd
yum install php-mbstring.x86_64
yum install mod_dav_svn.x86_64
yum install mod_ssl.x86_64

不要サービスの停止

chkconfig acpid off
chkconfig auditd off
chkconfig autofs off
chkconfig avahi-daemon off
chkconfig bluetooth off
chkconfig cups off
chkconfig firstboot off
chkconfig gpm off
chkconfig haldaemon off
chkconfig hidd off
chkconfig kudzu off
chkconfig lvm2-monitor off
chkconfig mcstrans off
chkconfig mdmonitor off
chkconfig messagebus off
chkconfig netfs off
chkconfig nfslock off
chkconfig pcscd off
chkconfig portmap off
chkconfig rawdevices off
chkconfig restorecond off
chkconfig rpcgssd off
chkconfig rpcidmapd off
chkconfig smartd off
chkconfig xfs off
chkconfig yum-updatesd off

それぞれの停止理由

サービス名備考初期状態の起動有無
acpidACPI機能による電力管理。サーバは常時起動なので不要あり
auditd監査ログ。個人のサーバーなら不要だろうなし
autofsオートマウント。サーバなので必要なしなし
avahi-daemonネットワーク情報を収集するデーモン。なし
avahi-dnsconfdネットワーク情報を収集するデーモン。なし
bluetoothサーバにはbluetooth機器つながないでしょうなし
cups印刷関連デーモン。データセンターのサーバーでは不要だろうなし
firstbootインストール直後のセットアップを動かすためのデーモンなし
gpmコンソールでコピー&ペーストを可能にするサービス。SSH接続なら関係なしなし
haldaemonハードウェア情報収集サービス。KVMなら関係なしなし
hiddBluetooth HID(Human Interface Device)デーモンなし
kudzuシステム起動時にハードウェア変更をチェックする。なし
lvm2-monitorLVMを使ってないなら不要なし
mcstransSELinux停止しているなら止めてよいなし
mdmonitorRAIDモニターなし
messagebusD-BUS通信をするなら必要。dhcpdが使っているらしいけど、初期状態では不要なし
netfsNFS関連のサービスなし
nfslockNFS関連のサービスなし
pcscdPCスマートカードサービスなし
portmapNFS関連で使うサービスじゃなかった?なし
rawdevicesローデバイスを扱うサービスなし
restorecondSELinux停止なら不要なし

CentOS7移行

メモリ1GではTomcatがつらいのと不正侵入を許したマシンを継続利用するのはリスキー。 さらにCentOS7はかなり変更があるのでなれる意味でやってみた。

変更点

  1. Apacheのconfを2.4に合わせて変更
  2. pukiwikiがエラーで動かない!hex2binが二重定義されているとのこと。めんどくさいのでdata2utf8.phpを旧環境で動かして、新UTF-8環境へフォルダを移行する方向で。設定が大分違うのでWikiLinkやリンクの階層表記、編集権限必要などの変更点を明記しておくこと。

http://esf.hateblo.jp/entry/2013/06/21/173407

トラブル

UTF-8にしたらページ名に日本語使っているところが不正なページになってしまった。

性能劣化問題。時折90秒ほど詰まる。以下のCSSを読んでいるところが連続していてprintのところは印刷用なのでpukisiki.skin.phpを変更してコメントアウト!

/skin/pukiwiki.css.php?charset=Shift_JIS
/skin/pukiwiki.css.php?charset=Shift_JIS&media=print

Postgres

起動スクリプトでDB作成してくれなくなったのでpostgresユーザーで以下のコマンドを実施した。

initdb --encoding=UTF-8

rootに戻って

systemctl start  postgresql.service

MySQL

CentOS7にて、mariadbになったので注意。

DB単位で移行

mysqldump -q データベース名 -pパスワード > バックアップファイル名
mysqldump -u root cakephp -p > /var/tmp/cakephp.sql 
CREATE DATABASE データベース名 DEFAULT CHARACTER SET utf8;
create user 'accessuser'@'localhost' identified by 'hogehoe'
grant All on データベース名.* to 'accessuser'@'localhost'
SET PASSWORD FOR ユーザ名@"ホスト名"=password('hogehoge');

svn

svnadmin dump /home/svn/repos | gzip > /var/tmp/myrepos.tar.gz

Virtual HostでSSL

https://blog.apar.jp/linux/378/

移行タイムスケジュール

平行稼働で二台あると楽だ。

  1. 04/02 新環境作成。インストールだけでほぼ終了。
  2. 04/07 wikiの移行トラブル発覚
  3. 04/08 旧環境でwikiのutf-8テスト(しかし日本語ページ名の検索順位は失う)
  4. 04/09 一気にwiki移行完了。postgresも移行。cakeは2.6にバージョンアップ。WebツールはDBを旧環境に向けて稼働確認
  5. 04/10 バッチを稼働確認とれたのでcronも移した。
  6. 04/11 cakephp用のDBだけ移した。pukiwiki性能劣化が顕著なので原因を探る
  7. 04/14 バックアップ取得先を新サーバーに
  8. 04/15 svn移行
  9. 04/16-19 特に作業せずだが、phpが詰まる問題が随所で見られるようになってきた

以下が原因かも? session.gc_probability = 1

CentOS6回帰計画

  1. 05/12 wikiの移行
  2. 05/15 tools/blogの移行
  3. 05/16 tools/postgresの移行(postgresのユーザー移行でエラー。phpPgAdminで必要なので手順化する)

新CentOS

Subversionは1.8.9の新バージョンを入れる。

  1. 05/21 夜にwiki入れ替え
  2. 05/22 朝の通勤途中にtoolsを丸ごとコピーしてtools2でpostgresツールのみ移植だが失敗。原因はhttpd.confのservernameに.がなくドメイン名が不正であった。夜にblog移植。こちらは順調!

トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS