トップ » サーバ情報 » CMSの使えるサーバWWWサーバの条件
Google


インターネット上を検索 PCトータルサポートの丸山システムサイト内を検索
※なお、google検索は検索結果に多少遅れがあるので、更新ページはhitしないことがあります。

CPIのVP01/02でのDNSサーバ、Mailサーバ構築

サーバ管理ツール編1 概要、networkコマンドlog取得ツール

サーバ管理ツール編2 Webサーバアクセス解析webalizer

サーバ管理ツール編3 サーバモニター,SNMP,MRTG

サーバ管理ツール編4 サーバモニター異常警報Nagios,
 サーバモニターMunin(メモリが少ないためかInstallできず中断

サーバ管理ツール編5 サーバモニターGanglia


CPIのVPSの下位二つのサービスVP01toVPo2は上位のVP03と違い、Parells PowerPanelしかなくサーバの起動、停止、再起動やバックアップ等VPSサーバの基本的な管理しかできません。

他社の貸しサーバのVPSサービスのように、Control Panelがあれば、ドメイン管理、メールアカウント管理が簡単にできますが、 Control Panelがないので、DNSサーバとメールサーバを構築する必要があります。参考にしてください。

ここでの手法はVPSの特殊設定を除き、専用サーバでも参考になります。

なおControl Panelでドメイン管理、メールアカウント管理ができるVPS貸しサーバについては、すでにドメンネーム設定とメールアカウント管理がControl Panelでされているため、既存の設定との整合性をとる必要があります。凝った設定をするのではない限り、素直にControl Panelで設定することをお奨めします。


基本ツールの整備

ssh,ftp用client

Windows

ssh用client

PuTTY 使い勝手上は、TeraTerm Proに劣るのでTeraTerm Proを推奨します。ただしサーバによっては、TeraTerm Proでは接続できなくてもPuTTYで接続できることがあります。TeraTerm Proで接続できない場合はPuTTYを使用してみてください。右クリックでpasteできます。

★TeraTerm Pro コピペ等がLinuxのように中クリックでできます。

Poderosa タブでWindowを切り替えるので場所をとりません。copyはalt+v,pasteはalt+vでちょっとショートカットが特殊です。

ftp用client 

FFFTP

テキストエディタ TeraPadまたは秀丸エディタ

Mac OS X

ssh用client

TerminalまたはiTerm(viに日本語をcopyしても字化けなし)

ftp用client Cyverduck

テキストエディタ cotEdor、mi 

なお文字修飾情報のないプレーンなテキストの取り扱いには、LightWayText(シェアウェア),TextWrangler,テキストエディットをプレインモードで使用しますが、bold(太字)はなぜかペーストされてしまいます。どのソフトも完全ではなく、場合によって文字修飾情報もペースとしてしまいますので、文字修飾情報もペーストしてしまう場合は他のソフトを使用してみてください。LightWayTextがわりとよいようです。

Linux LocalのLinux上で(RemoteのサーバのLinuxでないことに注意)

GNOME上では

GNOME terminal

Gftp

テキストエディタ

GNOME Edit(開く、保存ダイアログボックスで漢字コードの追加、削除ができます)

Console、サーバでの操作での操作

ターミナルエミュレータ

sshコマンドでアクセスして、bash等のshell

ftp,wgetコマンド(一括ダウンロード)

テキストエディタ

vi、emacs(コンソール上で複数のWindowsが開けますが覚えることがたくさんありemacsに慣れていない人にはお奨めしません。)

sshで接続が切れないための設定方法

RouterやNAT越えでsshを使うと、使用しないでいるとすぐssh接続が切れてしまいます。下記は接続が切れない方法です。

Javaの稼働するOS共通(JavaアプリなのでJREかJDKが必要)

mindterm 登録すれば無料を、使用する

Windows

PuTTY、TeraTermPro、FFFTP,WinSCP設定して使用する

PuTTY
connectionの一番上にある設定で可能

Poderosa
Poderosaでは「ツール」「オプション」「ターミナル」でKeepAlive送信を分で指定する事が出来る。以前あったVaraTermはPoderosaになったようです。

TeratermPro
設定メニューのSSHのハートビート(KeepAlive)で設定

WinSCP
詳細設定の接続のnull Packetを送信で60secくらいにする

Mac OSX等UNUX系の場合(Linux,Mac OS X OKであることを確認しました)

/etc/host_configや/etc/ssh//host_configに追記、または~/.ssh/host_configを作成し、下記を追記または記載する。

Host *
ServerAliveInterval 60

sshでのアクセス方法

ssh user名@サーバのIPアドレス

su -でrootの環境でrootになる

開いているportの確認方法

nmap

yum等でnmapをInstallしてください
いわゆるport Scanソフトなので、自分の管理するサーバ以外には使用しないでください。攻撃とになされます。
nmap -sT -sU サーバのIPアドレス

remote(サーバ上で) netstat -tul

viとlessの使用法

全般 clientでのremoteへのアクセス時は半角英数モードになっていることを確認してください。

vi

どの環境でも使用できます。今となっては非常に特殊なインターフェースですが、VPS以上のサーバでは使用は必須です。Text Editorや他のTerminalとのコピーペーストで編集すると若干ラクです。

escによる入力モードとコマンドモードの切り替え

共通 矢印キーによる移動

コマンドモード

x 1文字消去

dd 1行消去

入力モード

コマンドモードがら入力モードにしたときカーソルがの位置が一文字移動するので注意

a 後ろに入力 行末移入力する場合は必須

i カーソルの位置に入力

移動

1G 先頭に移動

G 最後に移動

検索

/の入力後検索文字を入力しreturn
検索続ける場合はnか/,前に移動はNか?で次の場所に移動

終了

コマンドモードで:を入力(exモードに入る)

wq 書き込んで終了

q! 書き込まずに(編集を無効にして)終了。まず設定ファイルを編集する場合はバックアップを取ってから行ってください。
それでもやり直したいときはこのコマンドが便利です。

行頭に行番号表示

exモードでset:numberで行数表示

less

n/p 移動,returnで1ページずつ、上下矢印キーでscroll

/ 検索 n/N (後ろ、前)に移動

g で 先頭に移動 G 最後に移動

less -N ファイル名 行頭に行番号を表示

q 終了


VPS特有の問題

ifconfigすると通常とは違った結果が表示されます。ここでsubnetマスクに注意

実行例(以下実際のサーバ情報を伏せるため、IPアドレスは999.998.997.996、サーバ名はwww.example.com(vps01xxx)、ドメイン名はexample.comにしてあります)

[root@vps01xxx named]# ifconfig
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:8862 errors:0 dropped:0 overruns:0 frame:0
TX packets:8862 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1016459 (992.6 KiB) TX bytes:1016459 (992.6 KiB)

venet0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:127.0.0.1 P-t-P:127.0.0.1 Bcast:0.0.0.0 Mask:255.255.255.255
UP BROADCAST POINTOPOINT RUNNING NOARP MTU:1500 Metric:1
RX packets:949942 errors:0 dropped:0 overruns:0 frame:0
TX packets:1081675 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:106447993 (101.5 MiB) TX bytes:397804668 (379.3 MiB)

venet0:0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:999.998.997.996 P-t-P:999.999.999.999 Bcast:115.146.23.183 Mask:255.255.255.255
UP BROADCAST POINTOPOINT RUNNING NOARP MTU:1500 Metric:1

venet0:1 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:999.998.997.996 P-t-P:999.999.999.999 Bcast:999.999.999.999 Mask:255.255.255.255
UP BROADCAST POINTOPOINT RUNNING NOARP MTU:1500 Metric:1

[root@vps01xxx named]#

uname -aでホスト名を表示すると公開されたホスト名でないホスト名が表示されます。

実行例

[root@vps01xxx etc]# hostname
vps01xxx

hostnameコマンドで表示してもでも同様。ホスト名はVPSの管理に使用しているので変更しないこと。確認。引数は指定しないこと。指定するとhostnameを変更してしまう

実行例

[root@vps01xxx etc]# hostname
vps01xxx

/etc/hosts これは消さないこと、追記すること

内容

# Auto-generated hostname. Please do not remove this comment.
999.998.997.996 vps01xxx

/etc/sysconfig/networkscript いじらないこと。

lsーlの実行例

-rw-r--r-- 1 root root 254 Jul 4 2009 ifcfg-lo
-rw-r--r-- 1 root root 101 May 19 05:03 ifcfg-venet0
-rw-r--r-- 1 root root 73 May 19 05:03 ifcfg-venet0:0
-rw-r--r-- 1 root root 73 May 19 05:03 ifcfg-venet0:1

ls -lの結果のifcfg-lo,ifcfg-venet*の部分

/etc/sysconfig/network いじらないこと。これはuname -a,hostnameと同じ理由です。

内容

NETWORKING="yes"
GATEWAY="191.255.255.1"
HOSTNAME="vps01xxx"

この他/bootの内容(中身なし),ドライバー関係 /lib/modulesの内容(中身なし),etc/modprove.d等の内容,lsmodの実行結果等も真のOSとは結果が異なります。


rpmとyumの使い分け

rpmの互換性

世の中にはrpm系といわれるLinux Distributionがたくさんありますが、rpm系といっても異なるDistributionや同じDistributionでもバージョンが違えば互換性があるわけではありません。

Installしても問題がないのは同じDistributionの同じメジャーバージョンのものだけです。その他は、Distributionとバージョンによらないとうったっているもの(これもrpmコマンドでinstallのテストをしてから、問題なければInstallします。

CentOS5の場合、CentOS 5.Xの互換性のあるRedHat Enterpreise Linux 5.Xのrpmだけです。

その他のバージョンのものはsrpmからrpmをrebuildしてrpmを作ってInstallしますが、ライブラリーやKernelのバージョンが違うため場合によってコンパイルエラーがでてInstallができません。

そのような場合は自分で/.configureを書き換えて試行錯誤してInstallしなければなりません。また実際のシステムでは、問題が出ないように、テストPC上でchrootで実験Directryで実験すべきです。(実際の作業の詳細については らぶらぶLinux 3 パケージ管理&構築入門 ソシムを参照)

apt,aptitude,synaptic,dpkg等によるrpm PackageのInstallについて

aptは本来DebianやUbunts系で使用されてきたdevというPackage管理システム用のPacake管理コマンドです。

dpkgとdevが基本になっていますが、dpkgでは依存性の解決はできません。自分で解決する必要があります。rpm系おけるrpmに相当します。

apt,aptitude,synapticはdpkgのフロントエンドで依存性の解決もしようとします。さらにその上にDebianやUbuntsのpackage管理GUIツールがあります。(X-WindowsやDesktop環境等をInstallした標準Installなどの場合場合)

rpm系のDstributionでもaptをメインのパッケージ管理に使用しているDistributionや、Fedora系でもaptを使ってPackage管理をすることもできますが、rpm,yumによる管理とapt系のPackage管理との混用は避けるべきです。Pacage管理の整合性がなくなるためです。

Fedora系ではaptによるPackage管理は一般的ではないので、rpm,yumによる管理をお奨めします。

Debianでもaptとaptitudeの混用は避けるべき、でつい最近までDebianでも混用すると問題があったようです。最近はaptitudeの使用が推奨されています。

UbuntsではSynapticを使用しているようですが、Synapticとaptの混用については問題が出るかどうかははっきりした公式見解が出ていないようです。

rpmとyumの使い分け

rpmとyumは混用しても問題ありません。但し、後述の頻繁に更新されるリポジトリは通常はdisableで無効にしておき、必要なときだけ、インターネット上の成功例や、rpmのinstallテストで問題がないことを確認した上で、installすることをお奨めします。

これを怠ると、いろいろなところで問題のあるpackageまでInstallされてしまい、システムが使い物にならなくなる危険性があります。

このようなPackageは開発者が問題を承知で、開発用に使用するのが本来の使い方だからです。そのように問題が出ても対処できるスキルと、自分だけの開発システムように使用するならよいですが、サーバでは安定稼働が一番重要ですので、枯れた、十分実績のあるPackageを使用するべきです。これはHardwareでもpackageでも同じことがいえます。

yumは依存関係するPackageを含め、packageを自動でinstall したり、システム全体のInstallされたPaccageを一斉にupdateしたり、関連するgroupのInstallができて便利ですが、yumはきめ細かいPackageのInstallや削除,Packageの中身等を見ることができず、そのrepositoryにrpmがない場合はInstallできません。

またFedoraやrpmfusuion,epel,dag weerなどの頻発に更新され問題のあるPackageもInstallされてしまう場合もあるので、私は次のような基準でrpmコマンドとyumコマンドを使い分けています。

最近ではyumでInstallしようとしてもできないでInstallが終了してしまう場合もあるようです。

rpmコマンドを使用する場合

簡単で依存性の少ないpackageや、逆にinstallされるファイル等の詳細を知りたい場合はrpmコマンド、CentOSにPackageが なくFedoraやrpmfusuion,epel,dag weerのsrpm等でCentOSようにrpmをrebuildしたり、tar(tgz)(slackware系),dev(debian,Ubunts)からPackageをrpmに変換したり(異なるPackage管理システムのpackageの相互変換のためにはallienというtoolがあるようです),コンパイルtar+./configureでInstallするような場合(この場合も後のことを考えてUninstallしやすいようにrpm化しておくことが望ましい)は、rpmコマンドを使用します。

yumコマンドを使用する場合

その反対に依存性が大きいPackageやシステム全体のInstallされたPaccageを一斉にupdateしたり、関連するgroupのInstallの場合はyumを用います。

Fedoraやrpmfusuion,epel,dag weerなどの頻発に更新され問題のあるPackagがもInstallされてしまう危険性があるものは、repositoryの設定ファイルをdisableにしておき、実績のある(Install成功報告と問題報告のないPackageはyum Installのオプションで一時的にそのrepositryをenableにしてinstallします。

使用例はサーバ情報のSecurity設定や、管理ツールのインストール例を見てください。

また、書籍での解説や、internet上でのInstall報告をあらかじめGoogle等で検索して調べ予備知識を得ておくことが大切です。

rpmコマンドの詳細

http://it.kndb.jp/entry/show/id/662

http://www.obenri.com/_command/rpm01.html

http://kisa.homeip.net/wiki/?rpm%A5%B3%A5%DE%A5%F3%A5%C9

rpmのrebuild方法

http://www.atmarkit.co.jp/flinux/rensai/linuxtips/413 rebuilderr.html

http://www.geocities.co.jp/SiliconValley-Oakland/2399/rebuild.html

実際には下記で作業する

yum install rpm-build gcc makeとしてInstallすると

/usr/src/redhat

ができる。ここで作業する。

念のためrpm作成前、作成後にrpmの作成時の誤動作を避けるため、前回作成したとき作成されたりコピーした各種ファイルが、/usr/src/redhat以下のDirectryに以前のファイルが残ってないか確認し、残っていたら別のdirectryに移動しておくこと。

pakage名やrpmのdownload

ftp://ftp.riken.jp/Linux/centos/5.5/os/i386/CentOS/

等を使用しています。
CentOSはどこでもよいと思いますが、マイナーなDistribution等ではmirrorより、充実度が違うようです。

rpmのinstall上の注意

rpmは最初のInstallでもUpgradeが安全。InstallでもUvhでInstallしても問題はない

rpm -Uvh Packagename

rpmコマンドはフルpackage名が必要な場合と、Package名(バージョン以降は不要)だけの場合があるので注意


常には使用しないRepositryやupdateが激しいreposityでは


/etc/yum.repos.d/epel.repo

等のrepositoryの設定ファイルの各項目を、

enabled=0

としておき、yumのOptionで

--enablerepo=[repo] 一つかそれ以上のレポジトリを有効化(ワイルドカードを許可)

して使用するべきです。

いずれにしろできるだけ実績のあるrpm、srpmを使用した方が良い。.configureでコンパイルすることはできるだけ避ける。
なければ実績のあるsrpmからrpmをrebuildしrpmをInstallした方が良い。

http://tmcosmos.org/linux/fedora/8/settings02.html

enabled=0

# yum install yum-fastestmirror

http://it.kndb.jp/entry/show/id/2505

--enablerepo=[repo] 一つかそれ以上のレポジトリを有効化(ワイルドカードを許可)
--disablerepo=[repo] 一つかそれ以上のレポジトリを無効化(ワイルドカードを許可)


Install過程で依存のあるpackageはまた、調べて先にInstallする。
実際の作業はこれから報告するシステム管理Toolを参照してください

一般にCentOSのPackageにないものは下記よりrpmをダウンロードしてrpm -UvhでInstallするか、リポジトリを一時的に有効にしてyumでinstallする。場合によってsrpmよりrpmをrebuildする

dag.wieers.com 

http://dag.wieers.com/rpm/packages/

epel 

http://download.fedora.redhat.com/pub/epel/5/i386/repoview/letter_p.group.html

rpmforge

http://packages.sw.be/

などにある。

http://wiki.centos.org/AdditionalResources/Repositories/RPMForge

さらにそれでもない場合は、Fedoraのrepositoryからsrpmをdownload Installしてrpmをrebuildするとよい。

ちょっと古いですが、各package管理システムについては下記が良いです。

らぶらぶLinux 3 パケージ管理&構築入門 ソシム

なおrpmのバージョンは主要なもので3つのバージョンがあり互換性がないので、バージョンが非常に異なるPackageのsrpmやrpmを使用する場合は注意する必要があります。


DNSサーバ構築


メールサーバ構築