バージョンアップをしよう 

そろそろ皆さん、だいぶ勉強されてきてかなりLinuxのスキルが上がってきた頃だと思います。やはり、標準のままでは詰まりません!最新のソフトをダウンロードし、最新のバージョンでサーバーを運用したいものです。これからレッスンするソフトウェアーのバージョンアップの方法ですが、取りあえず簡単に出来るApacheをサンプルに一通り説明したいと思います。他のソフトウェアーも大体似たよな方法を用いますので時間の許す限りできる物から行いたいと思います。それでは、心の準備をしてください、何が起きても責任は負いませんので悪しからず!!
 Apacheを最新バージョンにする方法 
Lesson2で説明したように、TurboLinux8には標準でバージョン1.3.23が入っています。2003年7月24日現在のバージョンは、Apache 1.3.28 がリリースされています。 (2003/07/19) http://www.apache.jp/で確認してください。それでは、レッスンを開始いたします。

 最新ファイルのダウンロード

 最新ファイルを、http://www.apache.jp からダウンロードします。ミラーサイトからダウンロード もしくはダウンロードをクリックしてください。自分の好きなサイトへ入ってください。Index of /dist/httpd の見出しが出たと思います。

 apache_1.3.28.tar.gz 18-Jul-2003 05:41 2.3M Current Release 1.3.28 とあるファイルをダウンロードします。

 ファイルを選択し、ディスクトップへ保存してください。(保存する場所はどこでも良いです)。

これでダウンロード完了です。

注:ここまでは、Windows(pc1)で作業を行ったと思います。直接SV1で行った方はそのままpc1に移って作業をお願いします。今後の説明は、リモート操作での作業説明を行います。リモート操作が出来れば、直接サーバーからでも作業が行えるようになります。

ファイルのアップロード

今取得したファイル、apache_1.3.28.tar.gz をサーバーsv1にアップロードします。手順は、Lesson3で行ったFTPを利用します。当然この時点では、FTPサーバーは立ち上がっていると思います。FFFTPを使ってapache_1.3.28.tar.gzをアップロードしてください。この時注意したいのが、サーバーへアクセスする時のログイン名ですが、現状のスキルでは、rootアカウントでサーバーにログインすることが出来ないハズです。ですから新たにhttpdと言うアカウントを作り、httpdでログインしてファイルをアップロードしてください。アップロードする先は、/home/httpd/に入れてください。

ファイルの展開

ここからが本番です。先ほどと同様にLesson3で行ったsshを使って作業を進めます。

Tera Termを使って、sshにて接続してください。この時のログイン名は、先ほど作ったhttpdでログインしてください。

ls コマンドを使って先ほどアップロードしたファイルがあることを確認してください。

tar xvf apache_1.3.28.tar.gz と入力し実行してください。カーソルが戻ったらlsコマンドでファイルを表示してください。
新たに、apache_1.3.28/ というディレクトリーが確認できたと思います。

cd apache_1.3.28/ と入力しカレントディレクトリを変更してください。lsコマンドでファイルを表示して見てください。ファイルが展開されていれば終了です。

コンパイル

今展開したファイルの中に、configureというスクリプトファイルがある筈です。このファイルは、様々なシステムを自動的に判断し、コンパイルに必要な変数を自動的に設定し、ユーザーの必要に応じて好みのコンパイル時オプションにより、コンパイルされた実行ファイルの動作を設定することが出来ます。オプションの変更方法は、別途技術書等参考にしてください。今回は、デフォルトの設定で行います。

./configure と入力し実行してください。

カーソルが戻ったら make と入力し実行してください。(コンパイル開始)

カーソルが戻ったら終了です。

インストール

インストールは、下記のように入力して実行してください。非常に簡単です。が、インストールにはroot権限が必要です。まずsuコマンドでroot権限を取得してから作業をはじめます。

su を入力し実行してください。

Password: の入力を求められますので、rootアカウント時のパスワードを入力してください。すると、rootのカーソルに変更されます。

make install と入力し実行してください。

+--------------------------------------------------------+
| You now have successfully built and installed the
| Apache 1.3 HTTP server. To verify that Apache actually
| works correctly you now should first check the
| (initially created or preserved) configuration files
|
| /usr/local/apache/conf/httpd.conf
|
| and then you should be able to immediately fire up
| Apache the first time by running:
|
| /usr/local/apache/bin/apachectl start
|
| Thanks for using Apache. The Apache Group
| http://www.apache.org/
+--------------------------------------------------------+
上記メッセージが出れば完成です。

注意

旧バージョンが起動している場合は、Kメニューからデーモン設定ツールを選択し起動してください。起動サービス設定で、httpdを見てください。Runningなっている場合は、それをクリックしてstopにしてください。

完全に旧バージョンを削除したい場合は、パッケージ管理ツールから、メンテナンスを選択し、System Environment/Daemons から apache を選択しokで進み継続を押してください。自動的に削除されます。

 Apacheの起動

このapacheはデフォルトで、/usr/local/apache/にインストールされます。設定ファイルは、/usr/local/apache/confにhttpd.confのファイル名で配置されています。このファイルを編集することによって設定変更します。旧バージョンとは、インストール先が変っていますので注意してください。

起動方法は、/usr/local/apache/bin/apachectl start と入力してください。あとは、ブラウザで192.168.0.100と入力し上手く表示できれば完成です。もし起動しない場合があったら、コンフィグファイルを見てください。port番号やServerNameが適切に設定されていないと起動しない場合があります、よく見てください。

以上でApacheのバージョンアップ方法を終了いたします。また、apacheには、バージョン2.0があります。これも同様にしてインストールすることが可能です、一度チャレンジしてみてください。次回は、proftpdのバージョンアップに挑戦です。

 Proftpdを最新バージョンにする方法 
Lesson3で簡単に触れましたが、TurboLinux8には標準でバージョン1.2.4-3が入っています。2003年7月28日現在のバージョンは、ProFTPD1.2.9rc1 がリリースされています。 (16/May/2003) http://proftpd.linux.co.uk/ で確認してください。それでは、レッスンを開始いたします。

 最新ファイルのダウンロード

 最新ファイルを、http://proftpd.linux.co.uk/ からダウンロードします。
  Current Versions にあるCandidate: 1.2.9rc1の[gz]をクリックし、ディスクトップへ保存してください。(保存する場所はどこでも良いです)。

これでダウンロード完了です。

注:ここまでは、Windows(pc1)で作業を行ったと思います。直接SV1で行った方はそのままpc1に移って作業をお願いします。今後の説明は、リモート操作での作業説明を行います。リモート操作が出来れば、直接サーバーからでも作業が行えるようになります。

ファイルのアップロード

今取得したファイル、proftpd-1.2.9rc1.tar.gz をサーバーsv1にアップロードします。手順は、Lesson3で行ったFTPを利用します。当然この時点では、FTPサーバーは立ち上がっていると思います。FFFTPを使ってproftpd-1.2.9rc1.tar.gzをアップロードしてください。この時注意したいのが、サーバーへアクセスする時のログイン名ですが、現状のスキルでは、rootアカウントでサーバーにログインすることが出来ないハズです。

FTPサーバーにroot権限でloginする方法

セキュリティの観点からお勧めできませんが、自己責任において行ってください!

proftpd.confをエディターで開いてください。(以下ファイルの中)

proftpd.conf
# This is a basic ProFTPD configuration file (rename it to
# 'proftpd.conf' for actual use. 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 Default Installation"
ServerType inetd
DefaultServer on
RootLogin off

# Port 21 is the standard FTP port.
Port 21

上記設定ファイルの、RoorLogin off を on に書き変えて、proftpdデーモンをrestartさせてください。

/etc/ftpusersをエディターで開いてください。(以下ファイルの中)

/etc/ftpusers
# list of users that are _not_ allowed to login via ftp
# no need to list root here; root ftp login is denied anyway
root
bin
daemon
adm
lp
sync
halt
mail
news
uucp
operator
games
gopher
gdm
nobody

上記設定ファイルの、root を #root とコメントアウトするもしくは削除してください。

これでrootアカウントでftpサーバーにログインできる筈です。

ファイルの展開

root権限でログインしてファイルをアップロードしてください。アップロードする先は、/root/に入れてください。

ここからが本番です。先ほどと同様にLesson3で行ったsshを使って作業を進めます。

Tera Termを使って、sshにて接続してください。この時のログイン名は、rootでログインしてください。多分先ほどと同様に現在のスキルでは、rootでのログインは出来ないと思います。

sshdサーバーにroot権限でloginする方法

セキュリティの観点からお勧めできませんが、自己責任において行ってください!

/etc/ssh/sshd_configをエディターで開いてください。(以下ファイルの中)

sshd_config
# Authentication:

LoginGraceTime 600
PermitRootLogin no
StrictModes yes

上記設定ファイルの、PermitRootLogin noyes に書き換えてsshdデーモンをrestartさせてください。

それでは、改めて、Tera Termを使って、sshにてroot権限でログインしてください。

ls コマンドを使って先ほどアップロードしたファイルがあることを確認してください。

tar zxvf proftpd-1.2.9rc1.tar.gz と入力し実行してください。カーソルが戻ったらlsコマンドでファイルを表示してください。
新たに、proftpd-1.2.9rc1 というディレクトリーが確認できたと思います。

cd proftpd-1.2.9rc1/ と入力しカレントディレクトリを変更してください。lsコマンドでファイルを表示して見てください。ファイルが展開されていれば終了です。

コンパイル

今展開したファイルの中に、configureというスクリプトファイルがある筈です。このファイルは、様々なシステムを自動的に判断し、コンパイルに必要な変数を自動的に設定し、ユーザーの必要に応じて好みのコンパイル時オプションにより、コンパイルされた実行ファイルの動作を設定することが出来ます。オプションの変更方法は、別途技術書等参考にしてください。今回は、デフォルトの設定で行います。

./configure と入力し実行してください。

カーソルが戻ったら make と入力し実行してください。(コンパイル開始)

カーソルが戻ったら終了です。

インストール

make install と入力し実行してください。

注意

旧バージョンが起動している場合は、Kメニューからデーモン設定ツールを選択し起動してください。起動サービス設定で、proftpdを見てください。Runningなっている場合は、それをクリックしてstopにしてください。

完全に旧バージョンを削除したい場合は、パッケージ管理ツールから、メンテナンスを選択し、System Environment/Daemons から proftpd を選択しokで進み継続を押してください。自動的に削除されます。

 Proftpdの起動

このproftpdはデフォルトで、/usr/local/sbin/にインストールされます。設定ファイルは、/usr/local/etc/proftpd.confのファイル名で配置されています。このファイルを編集することによって設定変更します。旧バージョンとは、インストール先が変っていますので注意してください。

起動方法は、/usr/local/sbin/proftpd -c /usr/local/etc/proftpd.conf と入力してください。そうしたらffftp等のソフトを利用しアクセスしてみてください。もし起動しない場合があったら、コンフィグファイルを見てください。デフォルトの設定で起動する筈ですが、Groupディレクティブがnogroupになっていたら、nobodyに変更してください。

OS起動時にサービスを開始するには、起動スクリプトを作成します。が、解凍したファイルの中に /proftpd-1.2.8/contlib/dist/rpm/proftpd.init.dがあります。そのファイルをproftpdにリネイムして、/etc/rc.d/init.d/にコピーし、パーミッションを755に変更します。下記コマンドを実行すると、rc0.dからrc6.dに起動スクリプト、停止スクリプトが作られます。

cd /etc/rc.d/init.d
/sbin/chkconfig --add proftpd

以上でproftpdのバージョンアップ方法を終了いたします。また、起動方法は、デフォルトのスタンドアロンで起動する方法とスーパーデーモンから起動する方法があります。

proftpd サーバに ftp 接続を行ったところ、以下のようなエラーが表示されログインで きない場合があります。
"500 FTP server shut down (Maintanance in progress) -- please try again later."


対処方法
rm -f /etc/shutmsg を実行する、または起動スクリプトで、 /etc/rc.d/init.d/proftpd resume を実行することにより解決できると思います。(TurboLinuxサイトのナレッジデータベース より)

 スーパーデーモンからの起動

proftpd.confをエディターで開いてください。ServerType standalone を inetd に変更する。

proftpdのxinetd用ファイルを編集する。以下設定内容

/etc/xinetd.d/proftpd 説明
service ftp
{
disable = no
socket_type = stream
protocol = tcp
wait = no
user = root
server = /usr/local/sbin/proftpd
}
サービス名

onで起動
ソケットタイプ
プロトコル
複数の同時接続をしない
サービス起動ユーザー
サーバープログラムの絶対パス

パーミッションは、644です。サーバープログラムの絶対パスは、旧バージョンの絶対パスと、バージョンアップした時は違いますので気をつけてください。

起動方法は、/etc/rc.d/init.d/xinetd restart

スーパーデーモンの場合、上記のようにxinetd用のファイルに、desable=noとなっていればos起動時に自動的に起動します。(Lesson5を参考)


注:スーパーデーモンによる起動は、TCPwrappersの影響を受けますので、もし起動しなければ確認してみてください。
分からなければ、/etc/hosts.allow に、proftpd : ALL と追加してみてください。(10/13追記)

 デフォルトのバージョンとの違い

デフォルトのバージョンを削除すると、ftpusersも削除されてしまいます。もし利用したければ、再設定すれば利用可能になります。

 ユーザーごとのchrootの設定

ログインしたユーザーが、ホームディレクトリーより上位ディレクトリーへアクセス制御をかける場合、DefaultRootディレクティブを使い設定する。

turboユーザーが自分のホームディレクトリーより上位にアクセスで出来ないようにするには、
DefaultRoot ~ とすればよい。また、システム管理者は、上位ディレクトリーまでアクセスできるようにするには、システム管理者用にグループをつけ、(今回は、sysopとする)以下のようにする。
DefaultRoot ~ !sysop

 anonymousFTPを利用する場合

anonymousFTPを使ってログインさせる場所は、デフォルトで、/var/ftp です。ログインさせる場所がないとアクセスできません。当然です!

他の場所に変更するには、<Anonymous ~ftp>を<Anonymous /home/ftp>に変えると/home/ftpがログインする場所になります。
ftpのユーザー名とグループ名でディレクトリーを作成してください。

パーミッションを設定します。豆知識を参照ください。書き込みされたくない場合は、555にしてください。

proftpd.confを編集します。

proftpd.conf コメント
RequireValidShell   off

<Anonymous /home/ftp>
User ftp
Group ftp

UserAlias anonymous ftp

MaxClients 10

<Limit WRITE>
DenyAll
</Limit>
</Anonymous>
RequireValidShell   offは重要です。

ログイン場所を/home/ftpにする場合







<Limit WRITE>
DenyAll
</Limit>
で、書き込み禁止になります。

anonymousFTPを利用しない場合

上記設定を全てコメントアウトするか、削除する。

以上でproftpdのバージョンアップ方法を終了いたします。

 sendmailをバージョンアップしよう 

このレッスンは、Lesson12で行います。

Lesson12へGo

本サイト利用者数は名です。本日は名、 昨日は名の受講ありがとうございます.
TOPページへ  Lesson7 ウェブサーバーを応用しよう  Lesson9 サーバーを外部公開しよう
Since 2003/2/8  Copyright(C) 2003 Parterre.homelinux.net All Rights Reserved.