玄箱のVine化

玄箱にHTTPサーバー&関連各種ソフトのインストール

基本はapt-getで出来るものはapt-getを使ってインストール

そのほかはソースを入手してmake install
 
apt-getを使うために、まず /etc/apt/sources.list を修正する。

vi /etc/apt/sources.list ←編集できる状態にする

Vine Linux 2.6 FTPのring mirrorを有効にした
VilePlusの頭のコメント#を取り除いて保存
 

実施メニュー◇◇HTTPサーバ イーンストール順(順番は大切です)

ファイルを送り込むのにFTPをインストールしても良いのですがsmbaで共有させてWindowsのパソコンから送り込む事にします。
 
以下を順にインストール

  1. ソースからsambaをまずインストール
  2. OpenSSL
  3. IMAP
  4. rpmでMySQL、MySQL-client、MySQL-devel、MySQL-shared、MySQL-Max
  5. rpm でapache、apache-devel(これは最新バージョンがほしい場合はソースから)
  6. 他、apache等で必要なrpmをゲット
  7. PHPをインストール

以下手順

 

玄箱にツールソフトのインストール

 

Webmin

apt-getで取得
ブラウザから玄箱の各種設定に使います。

apt-get update
apt-get install webmin
apt-get clean

設定ファイル: /etc/webmin/miniserv.conf中の

allow=127.0.0.1

をアクセスするパソコンのIPアドレスをスペースで区切り追加する

allow=127.0.0.1 192.168.1.110 192.168.1.111
ssl=0 ←とりあえず今は・・

再起動!!

/etc/init.d/webmin restart

webminへのアクセスは http://server:10000 もしくは http://玄箱のIPアドレス:10000
ログイン画面:rootとパスワードでログイン
 

ntp

apt-getで入手
時間を合わせて正確に!!
 

apt-get update
apt-get install ntp

でインストール完了。
 
基準ntpサーバー設定ファイル: /etc/ntp.confを開いてサーバーアドレスを追加(使えるNTPサーバーを調べておこう)
以下は参考までに

server 133.100.9.2
server 130.87.32.71
server 133.31.180.6

などを追加

起動

/etc/rc.d/init.d/ntpd start

自動起動設定

chkconfig ntpd on

自動起動設定確認

chkconfig --list ntpd
nptd 0:off 1:off 2:0ff 3:on 4:on 5:on 6:off

動作確認はしばらくしてから

ntpq -p

で行頭に* や + が付いていたらOK
 

ダイナミックDNS(DDNS)の自動更新

ダイナミックDNS(DDNS)を使用しているのでIPアドレスの変更時はサーバへ通知する必要があります。
そこでDDNSサーバの負担を減らすためにIPアドレスの変更時のみ登録するようにperlスクリプトを作成します。登録にはwgetを使います。

wgetのインストール

apt-getで入手

apt-get update
apt-get install wget

でインストール完了。

次にディレクトリを作成

cd /usr
mkdir -p ddns

 
ここにipchk.plを作成します。
このスクリプトはホームページ240ネット http://240net.ddo.jp/にあるものです。
詳しくはそちらを見てください。
 
DDNSチェックファイル:/usr/ddns/ipchk.pl

 vi /usr/ddns/ipchk.pl  このipchk.plに以下の記述を書き込みます。
---------------------------ここから----------------------------------
!/usr/bin/perl

$CRT_IPF = '/usr/ddns/CRT_IP.dat';
$NEW_IPF = '/usr/ddns/NEW_IP.dat';
$LOG = '/var/log/ddns.log';

open INPUT,"$CRT_IPF";
$CRT_IP=<INPUT>;
close INPUT;

system("wget -q -O $NEW_IPF 'http://info.ddo.jp/remote_addr.php'");
open(INPUT,$NEW_IPF);
$c = <INPUT>;
$stp = index($c,"REMOTE_ADDR:")+12;
$edp = length($c);
$NEW_IP = substr($c,$stp,($edp-$stp));
close(INPUT);

if ($NEW_IP ne "" and $CRT_IP ne $NEW_IP) {
open (OUTPUT ,">$CRT_IPF");
print OUTPUT $NEW_IP;
close OUTPUT;

print "IP Address update: $CRT_IP to $NEW_IP\n";
system("wget -q -O - 'http://ddo.jp/dnsupdate.php?dn=ドメイン&pw=パスワード'");

$now_string = localtime;
open (OUTPUT ,">>$LOG");
print OUTPUT "$now_string DDNS IP Address Updated. $CRT_IP to $NEW_IP\n";
close OUTPUT;
}
#-----------------------------ここまで--------------------------------

※「ドメイン」と「パスワード」のところは自分のサーバー用に変更し保存。
 
crontabを編集して定期的にipchk.plを起動するように設定します。

vi /etc/crontab
--以下開いたファイルの追加部分--
# DDNS
*/30 * * * * root perl /usr/ddns/ipchk.pl [#w0b25158]
00 5 * * 0 root rm -f /usr/ddns/CRT_IP.dat
00 5 * * 3 root rm -f /usr/ddns/CRT_IP.dat
--以上開いたファイルの追加部分--

この設定は、30分毎にIPアドレスの変更をチェック。
変更があった場合にDDNSサーバに対しIPアドレスの更新を行います。
また、日曜日と水曜日の午前5時にCRT_IP.datを強制削除することにより、
次のチェックタイミングで自動更新を行います。
これで週2回は必ず更新。
 

ProFtpのインストール

apt-getでインストール
FTPサーバーです

apt-get install proftpd 

/etc/inetd.confの以下の行をコメントアウト。

ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd -l -a

追加

ftp stream tcp nowait root /usr/sbin/tcpd in.proftpd

 
/etc/proftpd.confの以下の行をOKか確認

ServerType inetd 

 
proftpdの有効化と確認

chkconfig proftpd on
chkconfig --list proftpd 

 
再起動せずに有効化

killall -HUP inetd

 
ProFTPの設定ファイル: /etc/proftpd.conf
 
★まずはゲストアカウントの準備
 
 ※anonymous ftp用のパブリックアカウント
パスワード入力が不要で。
所定のディレクトリのみにアクセスすることができるアカウント。
慣例に従って、ftpと言うユーザー名で作成。
(FPTでは)anonymousという別名でログインすることが可能とする。
 
 ※特定のディレクトリだけを書き換えることができるゲストアカウント
ユーザー固有のパスワードを入力することが必要。
所定のディレクトリ(ホームディレクトリ)のみにアクセスすることができる。
今回はユーザー:ftpuser、所属グループ:ftpgrpを作成
 
 1.ホームディレクトリ (anonymous ftpサービスとして公開)を指定する。
anonymous ftpに公開するディレクトリに対するアクセス制御は、
後でProFTPの設定ファイルで細かく指定する。
 
ファイルが一覧と読み出しができるパブリックサービス用のディレクトリとして
/mnt/ftp/pub
ファイル一覧は見れないが読み出しができる特定グループ配布用のディレクトリ
/mnt//ftp/outgoing
ファイルの書き込みのみができる受信用のディレクトリとして
/mnt/ftp/incoming
とする。
 
以下作業
  # groupadd ftp
  # mkdir /mnt/ftp
  # mkdir /mnt/ftp/pub /mnt/ftp/incoming /mnt/ftp/outgoing
  # useradd -c 'anonymous ftp user' -m -d /mnt/ftp -g nobody ftp
  # chown -R ftp:nobody /mnt/ftp
 
 2.ゲストアカウント'ftpuser'を作成する。ユーザーグループはftpgrpとする
このユーザーに使わせたいディレクトリをホームディレクトリとして作成登録し
アカウント作成後には、パスワードを設定しておく。
ディレクトリは
 /mnt/ftp/ftpuser
 
  # mkdir /mnt/ftp /mnt/ftp/ftpuser
  # groupadd ftpgrp
  # useradd -c 'ftp guest user' -m -d /mnt/ftp/ftpuser -G ftpgrp ftpuser
  # passwd ftpuser
  新しいパスワード:
  新しいパスワードの再入力:
  # chown -R ftpuser:ftpgrp /mnt/ftp/ftpuser
 
★proftpd.confファイルの設定
 
anonymousサービスと、ゲストアカウントftpuserを定義する例を示す。
あくまで参考にして置いて色々変えてね!!
 
ProFTPの設定ファイル: /etc/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           "FTP Serve"

# inetd経由で起動するか、STANDALONEで起動するか
ServerType           inetd  # inetd or standalone
 
DefaultServer          on
ServerIdent on "FTP server ready."
UseReverseDNS off
IdentLookups off
TimesGMT FALSE
 

#接続時にルート以外のフォルダも見ることが出来るユーザーを ~! の後につける

#複数人は,で区切るが[SPACE]を使い[TAB]は使わない。
Defaulet Root ~!shoji, ~!pico
 

# 標準のFTPポート21を使用
Port              21

# デフォールトのumaskとして022を使用し、新しく作られたファイルやディレクトリ

# の安全性を高める
Umask              022
 

# DoS攻撃を避けるために、子プロセスの数を30に制限する

# この項目はSTANDALONEモードのみで有効で、INETDを使用する場合にはその機能

# を使用する(xinetdなど)
MaxInstances          30
 
 
 

# ユーザーが認証されていないときに、ftpデーモンを実行するユーザーとグループ
User              nobody
Group              nobody
 

# 通常のアカウントでログインしたときのために、ディレクトリツリー全体への書

# き込みを許可しておく

Directory /*>
 AllowOverwrite        on

/Directory>
 
 

# Anonymous FTPに関する設定 (ftpのホームディレクトリへのアクセス制限)

Anonymous ~ftp>
 # サーバーが稼働するユーザーIDとグループID
 User             ftp
 Group             ftp
 # ログイン名としてanonymousを定義する
 UserAlias           anonymous ftp
 
 # Anonymousログインの同時接続数を制限
 MaxClients          10
 
 RequireValidShell no
 
 # ログインしたときに表示されるファイルの名前
 DisplayLogin         welcome.msg
 # ディレクトリを変更したときに表示されるファイルの名前
 DisplayFirstChdir       .message
 
 # chrootした後のファイルシステム全体を書き込み禁止とする
 <Limit WRITE>
  DenyAll
 </Limit>
 
 
 # 読み書きOKディレクトリ pubの設定
 <Directory pub/*>
  AllowOverwrite   on   # 上書きを許可
  <Limit READ WRITE DIRS>  # ファイルの読出、書き込みと、ディレクトリの一覧を
   AllowAll         # どこからでも許可する
  </Limit>
 </Directory>
 
 # 書き込み専用ディレクトリ incomingの設定
 <Directory incoming/*>
  AllowOverwrite   on   # 上書きを許可
  <Limit READ DIRS>     # ファイルの読出と、ディレクトリの一覧を
   DenyAll         # どこからでも禁止する
  </Limit>
  <Limit WRITE>       # 書き込みを
   AllowAll         # どこからでも許可する
  </Limit>
 </Directory>

# ファイル一覧ができない読み出し専用ディレクトリ outgoingの設定
<Directory outgoing/*>
  <Limit READ>        # 読み出しを
    AllowAll         # どこからでも許可する
   </Limit>
   <Limit WRITE DIRS>     # ファイルの書込と、ディレクトリの一覧を
   DenyAll         # どこからでも禁止する
  </Limit>
 </Directory>
</Anonymous>

# ゲストユーザー ftpuserのための設定
# ホームディレクトリにchrootされるため、他のディレクトリにはアクセスできない
<Anonymous ~ftpuser>
 User ftpuser

 Group ftpgrp
 AnonRequirePassword on # パスワード認証が必要である
 AllowOverwrite on # デフォールトでは上書き禁止なので許可しておく
 <Limit READ WRITE DIRS>
  AllowAll

 </Limit>
</Anonymous>

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2011-03-23 (水) 20:20:00