-2010年末から利用中。お名前.com移行により2015/04/03に2Gに移ったのかな?2018/04/30をもって卒業!
-2010年末から利用中。お名前.com移行により2015/04/03に2Gに移ったのかな?2018/04/30をもって卒業!SSLのみ利用中。

*概要 [#kf62bc2e]

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

*WAF [#x8b573fe]

site-guard liteが利用可能だが、MySQL Adminとは相性が悪い。デフォルトではポート9443で起動している。

+admin/adminでログイン
+web検査を有効化
+シグニチャ更新を有効にする
+WAF-TEST-SIGNITUREにアクセスして403を確認 or /index.html?path=../../../../

**相性が悪い [#b0b7dc75]

+Wordpressのログインリダイレクト(直指定で回避可能)


*要塞化 [#cffdc03f]

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

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

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

**CentOS7 firewall [#n3694823]

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

**SSLでNamedVirtualHost [#z92ed5a8]

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



**yum履歴 [#u79bcd0a]

 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


**不要サービスの停止 [#sf7c8bb1]

 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

**それぞれの停止理由 [#z3f809bb]

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

*2015 CentOS7移行 [#ud651cc5]

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

**変更点 [#h3e1161f]

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

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

-読み込み、編集権限を必須に
-パスワード変更
-nowikilink=1に
-ページ名下のTopicpathを有効にする。おそらくpukiwiki.skin.php

***トラブル [#h349a959]

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 [#ue1cca69]

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

 initdb --encoding=UTF-8

rootに戻って

 systemctl start  postgresql.service

**MySQL [#g1715972]

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

***DB単位で移行 [#t99c0b5d]

-エクスポート

 mysqldump -q データベース名 -pパスワード > バックアップファイル名
 mysqldump -u root cakephp -p > /var/tmp/cakephp.sql 

-移行先のDB作成とユーザー作成

 CREATE DATABASE データベース名 DEFAULT CHARACTER SET utf8;
 create user 'accessuser'@'localhost' identified by 'hogehoe'
 grant All on データベース名.* to 'accessuser'@'localhost'
 SET PASSWORD FOR ユーザ名@"ホスト名"=password('hogehoge');


-インポート
 mysql -u root -p データベース名 < ダンプファイル

*svn [#zb0fbb05]

-移行元

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

-移行先



*Virtual HostでSSL [#j79a57aa]

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


*移行タイムスケジュール [#c7e885cb]

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

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

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


*CentOS6回帰計画 [#d9d90f5a]

-PHPが詰まるのでCentOS6で比較してみる。

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

*新CentOS [#me381338]

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

+05/21 夜にwiki入れ替え
+05/22 朝の通勤途中にtoolsを丸ごとコピーしてtools2でpostgresツールのみ移植だが失敗。原因はhttpd.confのservernameに.がなくドメイン名が不正であった。夜にblog移植。こちらは順調!
+05/23 バッチ移行。バックアップスクリプト修正。NASからのバックアップは秘密鍵認証でこけており4/14からすべて失敗していたはず。というわけでこちらの見地は今後の課題。
+05/25 SVN更新時にエラー発覚。パーミッション付与ミス


*SSL導入検討 [#ze5d3f7d]

http://nullpopopo.blogcube.info/2015/08/sakurassl-rapidssl.html

**申請前の手順 [#j411ff2a]

自己証明書作成時と特に変わるところはなし。linux上で実施。

+keyの作成
+csrの作成

**申請後の手順 [#vc06bdf3]

+ファイル名も内容もそのままで、HTMLファイルを配置する。クローラーのUAはGTJavaClientで最初は1分間隔で、取れないと手加減するようだ。
+証明書発行完了メールがくるので待つ。

**証明書到着後の手順 [#v830b3f7]

+中間証明書のインストールが必須。IE,Firefoxだと中間証明書がなくてもエラーにならないので気が付きにくい。中間証明書を一枚にまとめる場合は、証明のパスが下の者から列挙して行く。具体的には自分の証明書→中間証明書の順。nginxだとつなげて大丈夫だが、Apacheでは別のファイルにして設定する必要があある。


*メールサーバーの構築 [#z56ea53d]

postfixで作成する。

**受信サーバー [#q0fb35d8]

http://www.sakura-vps.net/dovecot-settings-for-sakura-vps/

* 201604 CentOS7 完全移行 [#deec1a06]

上記に記載されている内容は全てAnsible化したので解決済みである。ただし移行手順が自動化されていない部分でミスが相次いでいるのでなんとかしたい。

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS