« 2011年05月 | メイン | 2012年05月 »

2011年08月 アーカイブ

2011年08月21日

vps 環境確認

 制約の多いレンタルサーバーから移行するため、vpsサービスを契約
 現状より安価にルート権限を取得。自宅より耐障害、ネットワーク帯域で有利。ドメインはお名前.com管理。

 WEBサービスメインの為、少なくとも セキュアシェルssh と エディタvi を入れて server としてインストール。
CentOS 5.8 i386 インストール直後。
●OSの情報
[root@localhost ~]# cat /etc/redhat-release
CentOS release 5.8 (Final)
[root@localhost ~]# uname -a
Linux h121-83-238-146.vps.ablenet.jp 2.6.18-308.el5 #1 SMP Tue Feb 21 20:05:41 EST 2012 i686 athlon i386 GNU/Linux
[root@hXX-XX-XX-XX ~]# cat /proc/version
 :
●CPU情報
[root@localhost ~]# cat /proc/cpuinfo
 :
●メモリ情報
[root@localhost ~]# cat /proc/meminfo
 :
●パーティション情報
[root@localhost ~]# fdisk -l
 :
[root@localhost ~]# cat /etc/fstab
 :
●ディスク容量
[root@localhost ~]# df -h
 :
●ネットワーク回り
[root@localhost ~]# cat /etc/resolv.conf
 :
[root@localhost ~]# cat /etc/sysconfig/network
 :
[root@localhost ~]# netstat -nr
 :
[root@localhost ~]# ifconfig -a
 :
●サービス
[root@localhost ~]# chkconfig --list
 :
●導入済グループ
[root@localhost ~]# cat /etc/group
 :

2011年08月22日

vps の最低限の設定でセキュリティ確保

●メイングループapacheとして自分のアカウントを用意
[root@localhost ~]# useradd -g apache taro
[root@localhost ~]# passwd taro
Changing password for user taro.
New UNIX password: 
Retype new UNIX password: 
passwd: all authentication tokens updated successfully.
●ルート権限になれるユーザとする
[root@localhost ~]# usermod -G wheel taro
[root@localhost ~]# id taro
uid=500(toshi) gid=48(apache) 所属グループ=48(apache),10(wheel) context=user_u:system_r:unconfined_t
●root になれるユーザを wheel グループのみに制限
[root@localhost ~]# mv /etc/pam.d/su /etc/pam.d/su.org
[root@localhost ~]# cp /etc/pam.d/su.org /etc/pam.d/su
[root@localhost ~]# vi /etc/pam.d/su
[root@localhost ~]# diff /etc/pam.d/su.org /etc/pam.d/su
6c6
< #auth         required        pam_wheel.so use_uid
---
> auth          required        pam_wheel.so use_uid
●リモートから root ログイン無効。SSH接続ポートをデフォルトのままにしておくと四六時中狙われるので変更
[root@localhost ~]# cp /etc/ssh/sshd_config /etc/ssh/sshd_config.org
[root@localhost ~]# diff /etc/ssh/sshd_config.org /etc/ssh/sshd_config
13a14
> Port 12345
39a41
> PermitRootLogin no
●設定の適用
[root@localhost ~]# /etc/rc.d/init.d/sshd reload
●あるいは再起動
[root@localhost ~]# /etc/rc.d/init.d/sshd restart
DMZのサーバはここまですぐに実施(iptables か、業者が提供していればファイアーウォールを設定できれば理想)。 ●root宛てメール変更
[root@localhost ~]# mv /etc/aliases /etc/aliases.org
[root@localhost ~]# cp /etc/aliases.org /etc/aliases
[root@localhost ~]# vi /etc/aliases
[root@localhost ~]# diff /etc/aliases.org /etc/aliases
96c96
< #root:                marc
---
> root:                 taro
[root@localhost ~]# newaliases
次回、外部へのメール送信環境ができたら taro を 手元の端末で受信する MyMail@outside.domain などに変更可能。

2011年08月23日

vpsでのドメイン設定・メール送受信

■前提・方針 ●1. お名前.comで独自ドメインを使用。 ●2. 独自ドメインでのメールの受信は、googleApp に任せて、ディスク容量、スパム対策などもろもろの心配事を丸投げ。 ●3. 独自ドメインでのメールの送信は、vpsサーバーからのみ送信。sendmail 8.13.8 使用。 vpsサーバーはOP25B(Outbound Port 25 Blocking)制限されない。 後述の、本サーバーのログやWEBからメールを送信できれば十分。  ↓

続きを読む "vpsでのドメイン設定・メール送受信" »

2011年08月24日

vps で webサーバ導入

●インストール済の apache を確認
[root@www ~]# yum list installed | grep "apache\|http"
httpd.x86_64                              2.2.3-63.el5.centos.1        installed
●なければ apache をインストール
[root@www ~]# yum info httpd
[root@www ~]# yum -y install httpd
●起動
[root@www ~]# service httpd start
httpd を起動中:                                            [  OK  ]
●デフォルト設定のまま、手元のブラウザで apache のテストページを確認。
http://localhost/
http://IPアドレス/
http://www.mydomain/

●自動起動の確認
[root@www ~]# chkconfig --list | grep httpd
httpd           0:off   1:off   2:off   3:off   4:off   5:off   6:off
●自動起動になっていなければ自動起動に変更
[root@www ~]# chkconfig httpd on
カスタマイズ設定へ続く

2011年08月25日

vps でデータベース mysql 導入

実践ハイパフォーマンスMySQL ●mysql-server がインストールされているか確認
[root@www ~]# yum list installed | grep mysql-server
mysql-server.x86_64                       5.0.95-1.el5_7.1             installed
●なければ mysql をインストール
[root@www ~]# yum info mysql-server
[root@www ~]# yum -y install mysql-server
●mysql-server を起動
[root@www ~]# service mysqld start
●root のパスワード設定
[root@www ~]# mysqladmin --user=root password ********
●mysql-server へログオン確認
[root@www ~]# mysql --show-warnings -u root -p
●デフォルトのデータベース確認
mysql> show databases;
mysql> quit;
●自動起動の確認
[root@www ~]# chkconfig --list | grep mysql
mysqld          0:off   1:off   2:on    3:on    4:on    5:on    6:off
●自動起動になっていなければ自動起動に変更
[root@www ~]# chkconfig mysqld on
日本語(UTF8)を使用する場合...↓

続きを読む "vps でデータベース mysql 導入" »

2011年08月26日

vps で php 導入

実践ハイパフォーマンスMySQL●php がインストールされているか確認
[root@www ~]# yum list installed | grep php
●なければ php をインストール
[root@www ~]# yum info php
[root@www ~]# yum -y install php
●php でマルチバイトストリング(日本語)を使えるか確認
[root@www ~]# yum list installed | grep php-mbstring
[root@www ~]# yum info php-mbstring
●なければ php-mbstring をインストール
[root@www ~]# yum -y install php-mbstring
●php から mysql を使用できるか確認
[root@www ~]# yum list installed | grep php-mysql
[root@www ~]# yum info php-mysql
●なければ php-mysql をインストール
[root@www ~]# yum -y install php-mysql

続きを読む "vps で php 導入" »

2011年08月27日

vps でフレームワーク ethna 導入

●pear がインストールされているか確認
[root@www ~]# yum list installed | grep php-pear
●なければ pear をインストール
[root@www ~]# yum info php-pear
[root@www ~]# yum -y install php-pear
●pear バージョン確認
[toshi@www ~]$ pear version
PEAR Version: 1.4.9
PHP Version: 5.1.6
Zend Engine Version: 2.1.0
Running on: Linux www.remix.asia 2.6.18-308.4.1.el5 #1 SMP Tue Apr 17 17:08:00 EDT 2012 x86_64
[root@www ~]# pear list
Installed packages, channel pear.php.net:
=========================================
Package          Version State
Archive_Tar      1.3.1   stable
Console_Getopt   1.2     stable
DB               1.7.14  stable
PEAR             1.4.9   stable
Structures_Graph 1.0.4   stable
XML_RPC          1.5.0   stable
XML_Util         1.2.1   stable
●pear バージョンが低ければアップグレード
[root@www ~]# pear list-upgrades
[root@www ~]# pear upgrade-all
[root@www ~]# pear upgrade --force Archive_Tar
[root@www ~]# pear upgrade --force Console_Getopt
[root@www ~]# pear upgrade --force PEAR
●ethna インストール設定
[root@www ~]# pear channel-discover pear.ethna.jp
Adding Channel "pear.ethna.jp" succeeded
Discovery of channel "pear.ethna.jp" succeeded
●ethna インストール
[root@www ~]# pear install -a ethna/ethna
WARNING: "pear/DB" is deprecated in favor of "pear/MDB2"
downloading Ethna-2.5.0.tgz ...
Starting to download Ethna-2.5.0.tgz (241,455 bytes)
..................................................done: 241,455 bytes
downloading DB-1.7.14.tgz ...
Starting to download DB-1.7.14.tgz (133,103 bytes)
...done: 133,103 bytes
downloading Smarty-2.6.26.tgz ...
Starting to download Smarty-2.6.26.tgz (67,946 bytes)
...done: 67,946 bytes
downloading simpletest-1.1.0.tgz ...
Starting to download simpletest-1.1.0.tgz (289,405 bytes)
...done: 289,405 bytes
install ok: channel://pear.ethna.jp/Ethna-2.5.0
install ok: channel://pear.php.net/DB-1.7.14
install ok: channel://pear.ethna.jp/Smarty-2.6.26
install ok: channel://pear.ethna.jp/simpletest-1.1.0

続きを読む "vps でフレームワーク ethna 導入" »

2011年08月28日

vps でログの監視とローテート

●logwatch がインストールされているか確認
[root@www ~]# yum list installed | grep logwatch
logwatch.noarch                           7.3-9.el5_6                  installed
[root@www ~]# which logwatch
/usr/sbin/logwatch
[root@www ~]# logwatch -v
Logwatch 7.3 (released 03/24/06)
●なければ logwatch をインストール
[root@www ~]# yum info logwatch
[root@www ~]# yum -y install logwatch
●logwatch の設定
デフォルトで root へ通知される。ここでは外部へのメールアドレスへ通知する。
/etc/logwatch/conf/logwatch.conf へ直接
MailTo = MyMail@outside.domain を追加するか
root宛の全通知を外部へのメールアドレスへ転送するように変更する。
[root@www ~]# diff /etc/aliases.org /etc/aliases
96c96
< #root:                marc
---
> root:       MyMail@outside.domain
●試験
[root@www ~]# logwatch --print
●logrotate がインストールされているか確認
[root@www ~]# yum list installed | grep logrotate
logrotate.i386                          3.7.4-12                       installed
●なければ logrotate をインストール
[root@www ~]# yum info logrotate
[root@www ~]# yum -y install logrotate
通常デフォルトで1週間毎に4世代の設定で導入済み。カスタマイズは次回。

2011年08月29日

webサーバ設定のカスタマイズ

 後々のことを考慮し最初から仮想サーバとして運用(/home/taro/public_html にコンテンツを配置する http://www.mydomain/~taro/ とはしない)。
 アクセスログ・エラーログは仮想サーバ毎に出力。
/home
/home/taro
/home/taro/web
/home/taro/web/domain1
/home/taro/web/domain1/appli ← CGI等
/home/taro/web/domain1/document ← ドキュメントルート
/home/taro/web/domain1/logs ← ログ
 仮想サーバを追加する場合
/home/taro/web/domain2
/home/taro/web/domain2/appli
/home/taro/web/domain2/document
/home/taro/web/domain2/logs
 あるいは
/home/jiro/web/domain3
/home/jiro/web/domain3/appli
/home/jiro/web/domain3/document
/home/jiro/web/domain3/logs
という具合。手順は ▼

続きを読む "webサーバ設定のカスタマイズ" »

2011年08月30日

仮想サーバのログローテート

前回の仮想サーバ構成を前提としたログローテート設定の修正。
logrotate 3.7.4
[root@www ~]# cp /etc/logrotate.d/httpd etc_logrotate.d_httpd
[root@www ~]# vi /etc/logrotate.d/httpd
[root@www ~]# cat /etc/logrotate.d/httpd
/var/log/httpd/*log /home/*/web/*/logs/*log {
        daily
        rotate 99
        create 0660 apache apache
        missingok
        notifempty
        compress
        delaycompress
        sharedscripts
        postrotate
                /sbin/service httpd reload > /dev/null 2>/dev/null || true
        endscript
}
●「/home/*/web/*/logs/*log」の * (ワイルドカード)指定の規則にマッチする深さのパス毎に串刺しにローテート。
●「daily」日毎にローテート。
●「rotate 99」99世代まで保持。
●「create 0660 apache apache」権限指定。
●「missingok」ログ不在エラーでも続行。
●「notifempty」ログが空ならスキップ。
●「compress」ログを圧縮する。
●「delaycompress」2世代目(*log.2)のログを圧縮する。→1世代目(*log.1)をログ解析する為。
●「sharedscripts」ログ対象が複数の場合、指定スクリプトは1回。
●「postrotate」ローテート後にスクリプト実行。→全仮想サーバのローテート後1度 apache を再起動。
●-d文法チェック -v 詳細表示 -f 強制実行
[root@www ~]# logrotate -vd /etc/logrotate.d/httpd

2011年08月31日

仮想サーバ用の logwatch 設定

下記のように設定ファイルを配置。
/etc
└─logwatch
  ├─conf
  │ │ ignore.conf
  │ │ logwatch.conf
  │ │ override.conf
  │ ├─services
★ │ │   domain1.conf
  │ │   domain2.conf
  │ │    :
  │ └─logfiles
★★│     domain1.conf
  │     domain2.conf
  │      :
  └─scripts
    ├─shared
    ├─services
★★★ │   domain1 -> /usr/share/logwatch/scripts/services/http
    │   domain2 -> /usr/share/logwatch/scripts/services/http
    │    :
    └─logfiles
それぞれのファイル内容は▼

続きを読む "仮想サーバ用の logwatch 設定" »

About 2011年08月

2011年08月にブログ「Remix.asia」に投稿されたすべてのエントリーです。過去のものから新しいものへ順番に並んでいます。

前のアーカイブは2011年05月です。

次のアーカイブは2012年05月です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。