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

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

●「/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 設定

下記のように設定ファイルを配置。

それぞれのファイル内容は▼

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

About 2011年08月

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

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

次のアーカイブは2011年09月です。

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

Powered by
Movable Type 3.34