yuu_nkjm blog
2011-07-06(Wed) 編集
[サーバまとめ][Linux][openSUSE][update-alternatives] サーバ環境の移行と再構築
インストール
移行先にOSをインストールする.詳細はopenSUSE11.4(64bit)のインストール - yuu_nkjm blog(2011-07-18)に書いてある.
ポイント
- ブートローダはMBRではなくブートセクタ(PBR?)に入れた方がよいかな.
- デスクトップマネージャとして,xfceを入れる.
- sshサーバは起動時に起動するようにはなっていない.初回はコンソールからsshサーバを立ち上げる必要がある.
- LVMにする.整合性の取れたバックアップがとりたいので,LVMのスナップショット機能を利用し,スナップショットに対してpdumpfsでもする予定.
移行元からのデータのコピー
全体
- 移行元の環境があれば,そこからデータをコピーする.移行元のHDDは,/prevあたりにマウントしておくと便利.
データのコピー
- 主要なデータが保存されている/home,/srvをcp -aでコピーする./rootも持っていって良いかも.
- Tomcatのデータが/usr/local/share/tomcat以下,MySQLのデータが/var/lib/mysqlにあるので,その辺りも持っていく.
システムの設定のコピー
- ユーザ情報,グループ情報も持って来ちゃって良いかな.いつか不整合を起こしそうだな.
cp -a /prev/etc/passwd /prev/etc/shadow /prev/etc/group /etc
/etc/sysconfigのコピー
- /etc/sysconfig以下の情報を複製しないと,sysconfigエディターで設定ファイルを生成するときに,コピーしてきた設定を壊してしまうことが起こりそう.しかし,単なるコピーはしたくないので,手作業でsysconfigエディターを使って編集することにする.
システムの設定
全体
- サーバ管理のポリシーとしては,パッケージのインストールやアプリケーションの設定は,出来るだけyastを使う.また,移行元の環境があるときは,上書きコピーをせず,手動マージするのを基本とする.
- ユーザのホームディレクトリ以下の自動生成フォルダの名前を英語から日本語にする - yuu_nkjm blog(2011-11-05)
ネットワークの設定
- yastで設定する.
- yastのネームサーバの設定が効かないことがあった.その時は,/etc/resolv.confで指定する.
ソフトウェアレポジトリの登録
jenkins http://pkg.jenkins-ci.org/opensuse/ network factory http://download.opensuse.org/repositories/network/openSUSE_Factory/ php extensions http://download.opensuse.org/repositories/server:/php/openSUSE_12.1/
ユーティリティ
- findutils-locate, emacs
サービス
- SQLite3
- ntp: chkconfigでonする.プロキシ環境下だと外部のntpサーバにアクセス出来ない可能性があるので,その場合は自分でNTPサーバを指定する.
Webシステム関連
apache
MySQL
- yastでmysql-community-serverを入れる.
- 移行元から/var/lib/mysql,/etc/my.cnfを持ってくる.
Tomcat
DNS(BIND)
HTPP Proxy(squid)
メール
postfix
データ共有
samba
svn (subversion)
- コミット後の処理にrubyを使っているので,rubyも入れておく.
バックアップ
LVM
pdumpfs
セキュリティ
全体
- ルータでパケットのフィルタリングをするので,Firewallはオフにする.AppArmorは挙動がよく分からんから,外しちゃっても良いかも.
fail2ban
-
chkconfig fail2ban on cp -a /prev/etc/fail2ban/jail.conf /etc/fail2ban
ssh
システム管理
cron
データのコピー
- cronのタスクの内容をコピー
cp -a /prev/var/spool/cron/tabs /var/spool/cron
rsyslog
ログローテーション
監視
プログラム実行環境
Python
- 文字コードの指定をしたファイルを移動する.[Python] UnicodeEncodeErrorが発生した場合は、sitecustomize.pyでデフォルトのエンコーディングを指定する。 - SumiTomohikoの日記
cp -a /mnt/colinux/usr/lib/python2.6/sitecustomize.py /usr/lib/python2.7/site-packages/
他
- ruby,Java, Perl
- update-alternatives --config javaあたり.
There are 2 choices for the alternative java (providing /usr/bin/java). Selection Path Priority Status ------------------------------------------------------------ * 0 /usr/lib64/jvm/jre-1.7.0-openjdk/bin/java 17147 auto mode 1 /usr/lib64/jvm/jre-1.7.0-openjdk/bin/java 17147 manual mode 2 /usr/lib64/jvm/jre-1.8.0-openjdk/bin/java 1805 manual mode Press enter to keep the current choice[*], or type selection number: 2 update-alternatives: using /usr/lib64/jvm/jre-1.8.0-openjdk/bin/java to provide /usr/bin/java (java) in manual mode
- Dropbox openSUSE(12.1)上でCUIのみでDropboxを使う&プロキシ越え - yuu_nkjm blog(2012-07-02) http://yuu.nkjm.info/diary/20120702.html
仮想環境
KVM
- KVM, QEMU, libvirtを入れる.