|
無事インストールに成功すれば、次はいよいよシステムの設定です。VineLinuxには「Webmin」というブラウザを使った設定ツールが付いていますが、ここでは Linuxの学習も兼ねて、全部手動で進める事にします。ネットワークの確認は LANで繋がった Windowsマシンからも行いますので、Windowsマシン及びLinuxサーバ共、ルータからLANケーブルを繋いでパソコンを起動してください。(Linuxは「root」でログインして下さい)
1.ネットワークの動作確認
2.Apacheの動作確認
3.tcpwrapperでアクセス制限
4.不要なサービスの停止
5.Apacheの細かな設定
6.FTPサーバ(ProFTPD)の設定
7.Windows機からSSHでリモートアクセス
1.ネットワークの動作確認
■LANカード(ネットワークインターフェイス)が認識されているか
Linuxサーバにrootでログインし、次のコマンドを入力してください。
白字はプロンプト(元々表示されている文字)で、緑字が入力するコマンドです。コマンド入力後「Enter」キーを押して下さい。
「eth0」及び「lo」についての情報が次のような感じで表示されていればOKです。
# ifconfig
eth0 Link encap:Ethernet HWaddr 00:03:FF:00:00:00
inet addr:192.168.100.30 Bcast:192.168.100.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:336 errors:0 dropped:0 overruns:0 frame:0
TX packets:186 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:60736 (59.3 Kb) TX bytes:100549 (98.1 Kb)
Interrupt:11 Base address:0xec00
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:6 errors:0 dropped:0 overruns:0 frame:0
TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:420 (420.0 b) TX bytes:420 (420.0 b)
|
2.Apacheの動作確認
■ Apacheが起動しているか
Vine Linuxでは、Apacheは元々自動起動するようになっています。次のコマンドで確認して下さい。
この「ps -ax」コマンドは、現在起動しているプロセス(プログラム)の一覧を表示するコマンドで、次のような感じで現在動いているプロセスがずらずら〜っと表示されます。
この中に「/usr/sbin/httpd -DHAVE_PROXY -DHAVE_ACCESS -DHAVE_AC」という行があればApacheは無事起動しています。また、この行は複数表示されますが、こういう仕様ですので問題はありません。
# ps -ax
722 ? S 0:00 qmgr -l -t fifo -u
726 ? S 0:00 gpm -t ps/2
754 ? S 0:00 crond
781 ? S 0:03 /usr/sbin/cannaserver -inet
805 ? S 0:00 /usr/sbin/atd
827 ? S 0:00 /usr/bin/perl /usr/libexec/webmin/miniserv.pl /etc/w
831 tty1 S 0:00 login -- root
832 tty2 S 0:00 /sbin/mingetty tty2
835 tty3 S 0:00 /sbin/mingetty tty3
836 tty4 S 0:00 /sbin/mingetty tty4
837 tty5 S 0:00 /sbin/mingetty tty5
838 tty6 S 0:00 /sbin/mingetty tty6
839 tty1 S 0:00 -bash
926 ? S 0:00 /usr/sbin/httpd -DHAVE_PROXY -DHAVE_ACCESS -DHAVE_AC
929 ? S 0:00 /usr/sbin/httpd -DHAVE_PROXY -DHAVE_ACCESS -DHAVE_AC
930 ? S 0:00 /usr/sbin/httpd -DHAVE_PROXY -DHAVE_ACCESS -DHAVE_AC
931 ? S 0:00 /usr/sbin/httpd -DHAVE_PROXY -DHAVE_ACCESS -DHAVE_AC
932 ? S 0:00 /usr/sbin/httpd -DHAVE_PROXY -DHAVE_ACCESS -DHAVE_AC
933 ? S 0:00 /usr/sbin/httpd -DHAVE_PROXY -DHAVE_ACCESS -DHAVE_AC
934 ? S 0:00 /usr/sbin/httpd -DHAVE_PROXY -DHAVE_ACCESS -DHAVE_AC
935 ? S 0:00 /usr/sbin/httpd -DHAVE_PROXY -DHAVE_ACCESS -DHAVE_AC
|
もし、Apacheが起動していない場合は次のコマンドで手動で起動してから、再度「ps -ax」でプロセスを確認して下さい。
■ Windowsマシンからウェブアクセス
Apacheの起動が確認出来れば、LAN上のWindowsマシンからLinuxサーバにアクセスしてみます。IE(インターネットエクスプローラー)を起動し、アドレス欄に LinuxサーバのIPアドレスを入力して下さい。
例: http://192.168.100.30/
次の画面が表示されれば成功です。ここまで来れば、ウェブサーバ構築第一段階終了です。
3.tcpwrapperでアクセス制限
ウェブサーバとしての基本的な部分はできましたが、この状態ではまだまだ外部には公開できません。外部に公開する以上、最低限のセキュリティー確保は絶対に必要です。VineLinuxでは、標準で「tcpwrapper」という仕組みが使えるので、これを利用してアクセス制限を行います。
「tcpwrapper」では「/etc/hosts.deny」と「/etc/hosts.allow」という2つの設定ファイルを使ってアクセス制限を行います。
「/etc/hosts.deny」にはアクセスを禁止するサービス/ホストを、「/etc/hosts.allow」にはアクセスを許可するサービス/ホストを記述します。基本的には「/etc/hosts.deny」で、全てのアクセスを禁止し、特定のホストだけ「/etc/hosts.allow」で許可するという形です。
この作業は、VineLinuxに標準でインストールされているテキストエディタ「vi」を使って、設定ファイルを直接書き換えます。作業は十分な注意を払って行ってください。
viの基本的な使い方は viの基本的な使い方 を参考にして下さい。
■ 「/etc/hosts.deny」の編集
/etc/hosts.denyファイルで、全てのサービスに対してのアクセスを禁止します。
次のコマンドは、テキストエディタ「vi」で「/etc/hosts.deny」ファイルを開くコマンドです。
次のように表示されます。
「vi」はWindowsのメモ帳などとは異なり、かなり扱いに癖があるので慣れるまではちょっと大変ですが、じっくりと操作を覚えてください。
「vi」は「コマンドモード」と「入力モード」に分かれており、最初の状態では「コマンドモード」になっているのでそのままでは文字の入力が出来ません。まずはカーソルキー(矢印キー)を操作し、一番最後の行にカーソルを合わせてください。その状態で「o」キーを押して下さい。カーソルが1段下がり、「入力モード」となり、画面下に「-- INSERT --」と表示されます。
その状態で、「ALL:ALL」と入力してください。
入力が出来れば、「ESC」キーを押して、一旦「コマンドモード」に戻ります。画面下の「-- INSERT --」表示が消えるのを確認して下さい。
次に「Z」キーを2回押して下さい。 これで、ファイルが更新され、エディタが終了します。
※vi のコマンドは大文字小文字を区別します。 例えば保存して終了する場合、CapsLockがoffの場合は
「Shift」+「zz」となります。
# vi /etc/hosts.deny
#
# hosts.deny This file describes the names of the hosts which are
# *not* allowed to use the local INET services, as decided
# by the '/usr/sbin/tcpd' server.
#
# The portmap line is redundant, but it is left to remind you that
# the new secure portmap uses hosts.deny and hosts.allow. In particular
# you should know that NFS uses portmap!
ALL:ALL
|
■ 「/etc/hosts.allow」の編集
次に/etc/hosts.allowファイルで、許可するサービス/ホストを指定します。
/etc/hosts.deny同様に次のコマンドを入力してください。
アクセスを許可するホストは、自分自身である「localhost」と、ローカルネットワークアドレス「192.168.100.x」とします。
ローカルネットワークアドレスの「192.168.100.」の赤字の部分は自分のネットワークアドレスに読み替えてください。
カーソルキーで一番最後の行にカーソルを合わせ、「o」キーを押して入力モードに移行します。まず、「ALL:localhost」と入力し、「Enter」キーで改行します。次の行に「192.168.100.」と入力し、「ESC」、「Z」2回で、保存、終了して下さい。
# vi /etc/hosts.deny #
# hosts.allow This file describes the names of the hosts which are
# allowed to use the local INET services, as decided
# by the '/usr/sbin/tcpd' server.
ALL:localhost
ALL:192.168.100.
|
■ inetd の再起動
設定ファイル編集終了後、次のコマンドで「inetdサービス」の再起動を行います。
4.不要なサービスの停止
VineLinuxに限らず、最近のOSでは起動直後に様々なサービス(プログラム)が動いているのが普通です。余計なサービスが動いていると、それだけマシンにも負荷が掛かり、またセキュリティーの面でも良くありません。
ここでは、不必要と思われるサービスは全て停止し、次回起動時にそのサービスが自動で立ち上がらないよう設定します。
次のコマンドをどんどん打ち込んでいってください。全部打ち込めば完了です。
# service portmap stop
・
・
# service autofs stop
・
・
# service atd stop
・
・
# service nfslock stop
・
・
# service postfix stop
・
・
# service lpd stop
・
・
# service canna stop
・
・
# service webmin stop
・
・
# chkconfig portmap off
・
・
# chkconfig autofs off
・
・
# chkconfig atd off
・
・
# chkconfig nfslock off
・
・
# chkconfig postfix off
・
・
# chkconfig lpd off
・
・
# chkconfig canna off
・
・
# chkconfig webmin off
・
・
|
5.Apacheの細かな設定
Apacheのデフォルト設定ではホスト名や管理者メールアドレスの設定がされていません。また、CGIも使えない等、いろいろ不便な点が多くあります。ここでは、それらApacheの初期設定を含めた細かな設定を行います。
■ htmlデータ用ユーザー「www-user」の作成
VineLinuxのApacheは、ドキュメントルート(ウェブ公開トップディレクトリ)が「/home/httpd/html」となっています。
ところがこのディレクトリの所有者は「root」で、このままではLAN内の他のパソコンからFTP等を使ってのファイル更新などがとても不便です。そこで、htmlデータ専用のユーザー「www-user」を新たに作成し、そのユーザーディレクトリにドキュメントルートを変更します。
※ ユーザー名「www-user」は任意の名前で構いません。
次のコマンドで新たにユーザーを作成します。
作成したユーザーのパスワードを設定します。「New password:」の後にパスワードを入力し、「Enter」キーを押して下さい。
# passwd www-user
Changing password for user www-user
New password:
|
確認のため「Retype New password:」の後に再度同じパスワードを入力し、「Enter」キーを押して下さい。
これで、パスワードの設定は完了です。
# passwd www-user
Changing password for user www-user
New password:
Retype New password:
|
作成したユーザーのパスワードを設定します。「New password:」の後にパスワードを入力し、「Enter」キーを押して下さい。
# passwd www-user
Changing password for user www-user
New password:
|
ディレクトリの作成とパーミッションを変更します。次のコマンドを順に打ち込んで下さい。
# chmod 711 /home/www-user
# mkdir /home/www-user/html
# chown www-user.www-user /home/www-user/html
# chmod 711 /home/www-user/html
|
■ Apache設定ファイル「httpd.conf」の変更
続いて、Apacheの設定ファイルである「httpd.conf」に変更を加えます。このファイルは非常に長大なファイルなので
書き換えるのはかなり大変ですが、以下の手順でしっかりと行ってください。
なお、VineLinuxでは、設定ファイルの場所は「/etc/httpd/conf/httpd.conf」です。
Apacheは起動時に設定ファイルをチェックし、設定ファイルに誤りがあるとエラーで起動しません。万一に備えて
設定ファイルのコピーをとっておきます。
|
# cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.org
|
次に、テキストエディタで設定ファイルを開きます。
|
# vi /etc/httpd/conf/httpd.conf
|
こんな感じで表示されます。多くの行が「#」で始まっていますが、これらの行は全て「コメント」で実際に設定を行っているのは、行頭に「#」のない行です。
##
## httpd.conf -- Apache HTTP server configuration file
##
#
# Based upon the NCSA server configuration files originally by Rob McCool.
#
# This is the main Apache server configuration file. It contains the
# configuration directives that give the server its instructions.
# See for detailed information about
# the directives.
#
# Do NOT simply read the instructions in here without understanding
# what they do. They're here only as hints or reminders. If you are unsure
# consult the online docs. You have been warned.
#
# After this file is processed, the server will look for and process
# /usr/conf/srm.conf and then /usr/conf/access.conf
# unless you have overridden these with ResourceConfig and/or
# AccessConfig directives here.
#
# The configuration directives are grouped into three basic sections:
# 1. Directives that control the operation of the Apache server process as a
# whole (the 'global environment').
|
これをずらずらとスクロールしながら編集しててはかなり大変なので、文字検索機能を用いて目的の行へ移動します。
まず、「コマンドモード」の状態で「/ServerAdmin root@localhost」と入力し、「Enter」キーを押します。
テキストエディタ「vi」では、コマンドモードで、「/」スラッシュの後に文字を入力して「Enter」を押すと、その文字を検索することができます。
#
# ServerAdmin: Your address, where problems with the server should be
# e-mailed. This address appears on some server-generated pages, such
# as error documents.
#
ServerAdmin root@localhost
|
該当する行にカーソルが移動します。この行では、サーバー管理者のメールアドレスを指定しています。管理者(あなた)のメールアドレスに書き換えてください。
なお、設定を変更する場合、その行を直接書き換えるのではなく、行頭に「#」を付けてコメントアウトした上、新しい行を追加するという手法をとります。こうしておけば、万一間違った設定をした場合でも すぐにデフォルトの設定に戻せます。
#
# ServerAdmin: Your address, where problems with the server should be
# e-mailed. This address appears on some server-generated pages, such
# as error documents.
#
#ServerAdmin root@localhost
ServerAdmin your@mail.addr
|
入力した後は、「ESC」キーを押してコマンドモードに戻り、次の変更箇所に移動します。
このような感じで、変更を加えていってください。
■ドキュメントルートの変更
# DocumentRoot: The directory out of which you will serve your
# documents. By default, all requests are taken from this directory, but
# symbolic links and aliases may be used to point to other locations.
#
#DocumentRoot /home/httpd/html
DocumentRoot /home/www-user/html
|
■ディレクトリオプションの変更
#
# This should be changed to whatever you set DocumentRoot to.
#
#<Directory /home/httpd/html>
<Directory /home/www-user/html>
#
# This may also be "None", "All", or any combination of "Indexes",
# "Includes", "FollowSymLinks", "ExecCGI", or "MultiViews".
#
# Note that "MultiViews" must be named *explicitly* --- "Options All"
# doesn't give it to you.
#
#Options Indexes Includes FollowSymLinks MultiViews
Options ExecCGI Includes FollowSymLinks MultiViews
#
|
■CGIの有効可
#AddHandler行の行頭「#」を削除します。文字を削除する場合、コマンドモードの状態で削除したい
文字の上にカーソルを移動し、「x」キーを押します。
# To use CGI scripts:
#
#AddHandler cgi-script .cgi
|
↓
# To use CGI scripts:
#
AddHandler cgi-script .cgi
|
以上の変更が終われば、「ESC」キーを押してコマンドモードに戻り、「z」2回で、ファイルを保存し、テキストエディタを終了してください。
■Apache再起動
次のコマンドを打ち込んでApacheを再起動し、設定を反映させます。
※設定ファイルにミスがあると、エラーメッセージを表示してApacheが起動しません。その場合は、再度設定ファイルを見直して下さい。
6.FTPサーバ(ProFTPD)の設定
次にFTPサーバの設定を行います。 FTPサーバを動かしておけば、ホームページの作成は手慣れたWindowsマシンで行い、FTPクライアントでサーバー上のファイルを更新ということが簡単に出来ます。VineLinuxには標準で「ProFTPD」というサーバーソフトウェアが入っていますが、インストール直後の設定では起動しないようになっていますので、設定の変更を行います。
ProFTPの設定ファイルは「/etc/proftpd.conf」ですので、Apacheの時と同様、まずはコピーをとっておきます。
# cp /etc/proftpd.conf /etc/proftpd.conf.org
|
次にテキストエディタで設定ファイルを開きます。
ProFTPDの設定ファイルは、Apacheの設定ファイルとほぼ同様の形式となっており、「#」で始まる行は全てコメントです。
# vi /etc/proftpd.conf
# This is a basic ProFTPD configuration file
#
# It establishes a single server and a single anonymous login.
# It assumes that you have a user/group "nobody" and "ftp"
# for normal operation and anon.
ServerName "ProFTPD Basic Configuration"
ServerType standalone
DefaultServer on
# Port 21 is the standard FTP port.
Port 21
# Umask 022 is a good standard umask to prevent new dirs and files
# from being group and world writable.
Umask 022
# Use localtime
TimesGMT FALSE
|
変更・追加する箇所は次の通りです。 Apacheの時と同様に変更を加えてください。
# This is a basic ProFTPD configuration file
#
# It establishes a single server and a single anonymous login.
# It assumes that you have a user/group "nobody" and "ftp"
# for normal operation and anon.
#ServerName "ProFTPD Basic Configuration"
ServerName "My FTP Server"
#ServerType standalone
ServerType inetd
DefaultServer on
DefaultRoot ~
# Port 21 is the standard FTP port.
Port 21
# Umask 022 is a good standard umask to prevent new dirs and files
# from being group and world writable.
Umask 022
# Use localtime
TimesGMT FALSE
|
ServerName (変更)
FTPサーバーの名称です。この項目は特に変更しなくても構いません。 変更する場合は、自由に好きな名前を付けてください。
ServerType (変更)
FTPサーバーを単独で起動するのか(standalone)スーパーサーバー経由で起動するのか(inetd)を指定します。
標準では単独で起動するようになっていますが、スーパーサーバー経由で起動するように変更します。
DefaultRoot (追加)
FTPサーバーにログインした際のルートディレクトリを指定します。「~」を指定することで、そのユーザーのホームディレクトリがルートディレクトリとなり、それ以上の階層にはアクセス出来なくなります。
※この項目は標準ではありませんので、新規に追加して下さい。
変更終了後「ESC」キーを押してコマンドモードに戻ってから「Z」2回を押して変更を保存してテキストエディタを終了します。
■スーパーサーバー(inetd)の設定と再起動
ProFTPDをスーパーサーバー(inetd)経由で起動するようにしたため、inetd側の設定を変更します。
inetdの設定ファイルは、「/etc/inetd.conf」ですので、テキストエディタで設定ファイルを開きます。
コマンドモードで「/in.proftpd」と入力し、「Enter」キーを押します。カーソルが次の行に移動します。
|
#ftp stream tcp nowait root /usr/sbin/tcpd in.proftpd
|
この行は先頭に「#」が付いてコメントとなっています。 この「#」を外して(削除)して、この行を有効化します。
カーソルを「#」の上に移動し、「x」キーを押し、「#」を削除してください。
|
ftp stream tcp nowait root /usr/sbin/tcpd in.proftpd
|
ついでといってはなんですが、現在編集した次の行に「telnet」に関しての項目があり、この項目は標準で有効となっています。
「telnet」とは、ネットワーク上の他のマシンからホストマシンにログインし、リモートから操作を行えるサービス(プログラム)ですが、VineLinuxには「sshd」というより安全なサービスが標準で入っています。そのため、telnetを使う必要はないので、行とに「#」を付けてコメント化し、サービスを無効にして下さい。
ftp stream tcp nowait root /usr/sbin/tcpd in.proftpd
#telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd
|
変更終了後「ESC」キーを押してコマンドモードに戻ってから「Z」2回を押して変更を保存してテキストエディタを終了します。
変更を反映するために inetd を再起動します。
■LAN上の他のパソコンからFTPログイン
FTPサーバーがちゃんと機能しているかどうか、LAN上の他のパソコンから接続します。
使い慣れたFTPクライアントソフトがあれば、新たにアカウントを設定して接続してみて下さい。
※ ホスト名は、実際にサーバーマシンに設定したIPアドレスに読み替えてください。
ホスト名 : 192.168.x.x
ユーザー名: www-user
パスワード: 設定したパスワード
特にFTPクライアントソフトを持っていない場合は、コマンドプロンプト(DOS窓)を開き、FTPコマンドを使ってください。
C:\Documents and Settings\HOGEHOGE>ftp 192.168.100.30
Connected to 192.168.100.30.
220 ProFTPD 1.2.6 Server (ProFTPD Basic Configuration) [www]
User (192.168.100.30:(none)):
|
上記の画面が表示されればFTPサーバーへの接続は出来ています。先に作成した「www-user」のアカウントを使ってログインして下さい。
C:\Documents and Settings\HOGEHOGE>ftp 192.168.1.30
Connected to 192.168.1.30.
220 ProFTPD 1.2.6 Server (ProFTPD Basic Configuration) [www]
User (192.168.1.30:(none)): www-user
331 Password required for www-user.
Password:
230 User www-user logged in.
ftp>quit
|
ログインが確認出来れば、「quit」コマンドで接続を切ります。
7.Windows機からSSHでリモートアクセス
ここまでは、Linuxサーバーマシンに直接ログインして操作を行いました。しかし、いちいちサーバ機の前まで行って操作するのも面倒なので、通常利用している Windowsマシンから sshを用いてログイン出来るようにします。
■必要ソフトのダウンロード
必要なソフトは「Teraterm Pro」及び「ttssh」です 各ソフトの配布元からダウンロードして下さい。
Teraterm Pro
http://hp.vector.co.jp/authors/VA002416/
ttssh
http://www.zip.com.au/~roca/ttssh.html
■インストール
まず「Teraterm Pro」をインストールします。適当なフォルダに書庫ファイルを展開後「setup.ext」をダブルクリックします。
標準では C:\Program files\Ttermpro にインストールされます。
次に「ttssh」を解凍し、中身を C:\Program files\Ttermpro にコピーします。
■ttssh.exeの起動
ttssh.exeアイコンをダブルクリックし起動します。ショートカットを作って、デスクトップ上に置いておけば便利です。
接続ダイアログに次のように入力します。
初回接続時には次のダイアログが出るので、チェックボックスにチェックを入れ「Continue」をクリックします。
ユーザー名/パスワードを入力し、ログインします。VineLinuxのsshでは「root」でのログインは禁止されています。
そのため、rootでの作業が必要な場合は 一般ユーザーでログインした後 「su -」コマンドで rootになります。
お疲れさまでした! ここまでの作業で、「外に公開するウェブサーバ」としての基本的な設定はほぼ完了です。
| ページ先頭に戻る |
|