VineLinux3.1(2.6)鯖管理用初心者向TIPS(Linux初心者以外は見ちゃダメ(´∀`))

※ 管理人用の覚え書きの為、不正確な内容もあるかもしれません。ここを参考にして何か問題が発生しても責任とれませんのでご了承下さい。m(_ _)m

[基本][Apache][BIND][Postfix][ssh][samba][telnet][inetd][MySQL][proftp][namazu][clientPC]

 基本(コマンドや運用管理)VineLinux2.6/3.1

  1. 鯖の時間を訂正する。(簡単便利なNTPサーバーを利用)
  2. コマンドがどこにあるか調べる(超初心者なもんで)
  3. ある日付時刻に、あるコマンドを実行する。(cron)
  4. システムを手軽にアップグレードする。(カーネル以外)
  5. ハードディスクの使用情報を調べるには?(容量確認)
  6. 鯖のウィルススキャンを実行するには。(ClamAV)
  7. NICに割り当てるIPアドレスを確認・変更するには
  8. LAN上のPCにIPアドレスではなくホスト名でアクセスするには
  9. Linux版Firefoxをインストールして使うには
  10. kernelをアップデートするには。
  11. サイト全体のアクセス解析を行うには。(Apacheのlogファイルを利用)
  12. ライブカメラのシステムを構築するには
  13. ディレクトリをWindowsライクに中のファイルも丸ごとお気軽に削除するには

 Apache1.3.x(VineLinux2.6/3.1)

設定ファイル:/etc/httpd/conf/httpd.conf

再起動:/etc/rc.d/init.d/httpd restart

  1. IPアドレスやドメイン名を使って、公開サイトへのアクセスを制限するには。(apache)←いわゆる荒らし対策(・∀・)
  2. Apacheを再起動するには。
  3. Apacheのバージョン情報を表示させないようにするには。(ハッカー攻撃対策)
  4. ディレクトリ毎のアクセス制限を設定するには(Apache)
  5. 好ましく無いリンク元からのアクセスを制限するには。(refererによる制限)

 BIND8.3.x(VineLinux2.6)

設定ファイル:/etc/named.conf

再起動:/etc/rc.d/init.d/named restart


named.confには各設定ファイルの場所が記述されている。
※ 全て/var/named/以下に@〜Dのファイルがある

@ named.ca … DNSルートサーバーの場所(IP)が設定されている。(アップデートの必要はあるが変更の必要は無い)

A localhost.zone … ローカルホスト正引ファイル

B named.local … ループバック逆引ファイル

C /var/named/[自鯖のホスト名※].hosts … 自鯖のローカルIPや自鯖DNSに接続するクライアントPCの設定などがある(正引
※ 例:paperstreet.iobb.net.hosts

D /var/named/192.168.0.rev … 自鯖のローカルIPや自鯖DNSに接続するクライアントPCの設定などがある(逆引

( ´∀`) < 正引きはホストからIPアドレスを調べること。逆引はその逆。

それ以外の設定ファイル

い. /etc/host.conf … hosts.conf/resolv.confの名前解決の優先順位を設定



order hosts,bind



ろ./etc/nsswitch.conf … 名前解決の優先順位を設定



hosts: files nisplus nis dns


files = hosts.conf
dns = resolv.conf


は. resolv.conf … DNSサーバーのIPアドレスを設定

説明がちょっと不安だが(´Д`;)、足りないファイルがあるのはDDNSを利用している為と思われる。

 

 Postfix1.1.x/2.0.x(VineLinux2.6/3.1)

設定ファイル1:/etc/postfix/main.cf

設定ファイル2:/etc/postfix/aliases

再起動:/etc/rc.d/init.d/postfix restart

  1. SPAMメール撃退(postfix)
  2. メール転送の設定をするには(エイリアス設定)

 ssh3.6x/3.9x(VineLinux2.6/3.1)

設定ファイル:/etc/ssh/sshd_config

再起動:/etc/rc.d/init.d/sshd restart 

  1. ちょっと不安なTelnetより安全なSSHを使うには

samba3.0.x(VineLinux3.1)※2.6系にも使える情報と思われ

設定ファイル:/etc/samba/smb.conf(samba3.x.x) | /etc/smb.conf(samba2.x.x)

再起動:/etc/rc.d/init.c/smb restart 

  1. samba鯖を立てる( ´∀` )

 ×telnet(VineLinux2.6/3.1※これは使わずにsshで接続します

  1. ちょっと不安なTelnetより安全なSSHを使うには

inetd(VineLinux2.6/3.1)

設定ファイル:/etc/inetd.conf

再起動:/etc/rc.d/init.d/inet restart 

  1. ちょっと不安なTelnetより安全なSSHを使うには

MySQL4.1.x(VineLinux3.1)

設定ファイル:Ver4.1.11-standardでは特に設定しなくてもよかった…
再起動:/etc/rc.d/init.d/mysql restart

  1. MySQL鯖を立てる( ´∀` )
  2. PerlからMySQLデータベースにアクセス出来るようにするには

proftpd1.2.x(VineLinux3.1)

設定ファイル:/etc/proftpd.conf
再起動:/etc/rc.d/init.d/proftpd restart

  1. IPアドレスを使って接続可能なマシンを制限をするには(セキュリティ向上)

namazu2.0.x/namazu-cgi2.0.x(VineLinux3.1)

設定ファイル:/home/httpd/cgi-bin/.namazurc(namazu-cgi用)

  1. 自鯖サイトにサイト内検索機能を追加する。

client機設定(Windows/Linux)

  1. クライアント機からTeraTermで鯖に接続した時の漢字表示の文字化けを直すには

  2. LAN上のPCにIPアドレスではなくホスト名でアクセスするには

  3. Linux版Firefoxをインストールして使うには

(・∀・) < 管理する上でどうしても必要になるであろう小技をそろえてみました。(主に自分用ですm(_ _)m)


解決策

1.apacheの設定ファイルを書き換えます。

/etc/httpd/conf/httpd.confファイルの赤字部分を変更する。

〜〜〜

<Directory /home/httpd/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 ExecCGI FollowSymLinks Includes Indexes MultiViews

#
# This controls which options the .htaccess files in directories can
# override. Can also be "All", or any combination of "Options", "FileInfo", 
# "AuthConfig", and "Limit"
#
AllowOverride None

#
# Controls who can get stuff from this server.
#
Order allow,deny
Allow from all

#IPアドレス

Deny from ***.***.***.***

# もしくは、

#ドメイン(プロバイダ指定でアク禁)

Deny from arashi.ne.jp

#スペースで区切って沢山のIPやドメインをこんな書き方してもOK!

Deny from ***.***.***.*** arashi.ne.jp ***.***.***. nurupo.co.jp

</Directory>

#
# UserDir: The name of the directory which is appended onto a user's home
# directory if a ~user request is received.
#
# The path to the end user account 'public_html' directory must be
# accessible to the webserver userid. This usually means that ~userid

〜〜〜

ファイル変更後にApacheの再起動を忘れずに(´∀`)


2.dateコマンドとntpdateコマンドを使用します。

まず、dateコマンドで大体の日付時刻を確認、設定し…

date↓

(現在設定されている日付と時刻が表示される)

date 09141234←左から2桁ずつ…月日時分

ntpdate tock.usno.navy.mil && date↓

これで完了!

※ ntpサーバーは上記以外にも沢山あります。googleにて”ntpサーバー”をキーワードに検索すれば簡単に見つかります。(探す!

ntpdateコマンドが使用できない場合は

apt-get update

apt-get install ntp

でインストールすると使用できる。


3./etc/postfix/main.cfファイルの内容を変えます。

※ SPAMメールが頻繁に届くようになり、以前はまめにプロバイダーに報告していたのですが、中国サーバーからも届くようになり対処が難しくなったので自鯖サイドで対策してみました。

/etc/postfix/main.cf設定ファイルの最後の行に

# The allow_percent_hack parameter controls the rewriting of the form

# "user%domain" to "user@domain". This is enabled by default.

#

allow_percent_hack = no

 

mydomain = paperstreet.iobb.net

mydestination = $myhostname,$mydomain

smtpd_client_restrictions = permit_mynetworks, reject_unknown_client, permit

smtpd_helo_restrictions = permit_mynetworks, reject_invalid_hostname, reject_unknown_client, permit

smtpd_recipient_restrictions = permit_mynetworks, reject_sender_login_mismatch, check_relay_domains

smtpd_sender_restrictions = reject_unknown_sender_domain, reject_sender_login_mismatch

赤字部分を追加します。(Postfixの再起動を忘れずに)

/etc/rc.d/init.d/postfix restart

情報元はこちらです。m(_ _)m


4.whereisコマンドを使います。

whereis sendmail←検索するコマンド名を入力

これだけです。


5.crobを使います。

crontab -e

で編集画面を表示させ

SHELL=/bin/bash ←環境設定

MAILTO=root ←処理が完了したときに結果をメールするユーザー名

5 15 * * * ntpdate tock.usno.navy.mil ←この場合毎日午後3時5分に時刻修正を行う。

などと編集する。(viエディタ上から行うことになる)

実行するコマンドに引数がある場合は通常のコマンドを打つ時と同じようにスペースを空けて記述すればよい。

左辺の*などの説明は右辺のコマンドを実行する

曜日

である。

*(アスタリスク)は何でもあり(全てにあてはまる)という意味。

尚、0,15,30,45 * * * * だと15分ごとに実行(*/15 * * * * でも同じ意味になる)


6.起動スクリプトを使います。

/etc/rc.d/init.d/httpd restart

でOK

他に赤字部分にstartやstopやstatusを入れて起動や停止や状態表示が可能

また、serviceコマンドを使うともっと簡単に出来る(telnet接続からは使用できない)

service httpd [start stop restart status]


7./etc/httpd/conf/httpd.confファイルの設定を変える。

@ServerSignature OnをServerSignature Offに書き換える

AServerTokens Prodを追加する

BApacheを再起動する(↑上(6)参照)

ちゃんと設定されているかここのWebSiteTestで確認(´ー`)
http://www.websitepulse.com/tools.php3


8.下記のコマンド(apt)を実行するだけ

@apt-get update
Aapt-get dist-upgrade

※ パッケージ毎のアップデートはapt-get upgrade [package name]で。例としてapt-get upgrade apt(インストールの場合は、upgradeをinstallに)

アップデートがうまくいかない場合、接続するftpサイトのリストを変更する(/etc/apt/sources.list)

※ 正式なパッケージ名が分からない場合は、apt-cache search [キーワード]で探せる。(例:apt-cache search ochusha)


9.dfコマンドを実行するだけ。

df -hでオプションを付けて実行すると単位がMB、GB単位になり見やすくなる


10.apacheの設定ファイルを書き換えます。

/etc/httpd/conf/httpd.confファイルのどこかに下記を追加します

<Directory "/home/httpd/html/webalizer/">

Order Deny,Allow
Deny from all

Allow from paperstreet.iobb.net←許可するホストやIPアドレスを記述

</Directory>

この例では/home/httpd/html/webalizerディレクトリが自分以外にアクセスできない状態に設定しています。


11.Webalizerを使用します。

信用できるどこかのVineLinux用ftpサイト(http://www.ring.gr.jp/pub/linux/Vine/のVinePlus等)からwebalizer-2.01.10-0vl1.i386.rpmをダウンロードする。

rpm -ivh webalizer-2.01.10-0vl1.i386.rpmを実行

もしくはもっと簡単に

apt-get update

apt-get install webalizer

で依存関係にあるファイルも簡単に入るからこっちの方がいいな( ´∀` )b

/etc/webalizer.confが自動的に作成される(あたりまえだが基本設定はVineLinux用になっているので変更する必要は無い)

/usr/bin/webalizerを実行して集計結果を更新した後、http://(自鯖のhost名)/webalizerからweb上で閲覧出来る。

集計結果をより要求するものに近づけるため/etc/webalizer.confファイルを少しいじる

ファイル内の

LogFile /var/log/httpd/access_log.1 → LogFile /var/log/httpd/access_log

#HideSite localhost

#を外して有効にして

HideSite localhost 

HideSite paperstreet.iobb.net

集計に含めたくないアドレスを同じ書式で追加する。

さらに

HideURL *.cgi

HideURL *.CGI

を追加して

HideReferrer paperstreet.iobb.net

も追加するとよい。

/home/httpd/html/webalizerフォルダに自分以外がアクセス出来ないようにアクセス制限する。

フォルダ毎のアクセス制限の仕方はここ

また、いちいち閲覧する前に/usr/bin/webalizerを実行するのはマンドクサいので、crondを使用して自動化する。

あと、/etc/logrotate.confファイル中の


# see "man logrotate" for details
# rotate log files weekly
dailyここをweeklyからdailyに変更

# keep 4 weeks worth of backlogs
rotate 4

# send errors to root
errors root

# create new (empty) log files after rotating old ones
create

# uncomment this if you want your log files compressed
#compress

これをやっとかないとログ自体が更新されないのでwebalizerの解析結果も更新されない。


12.無償のウイルススキャンソフトClam AntiVirus(ClamAV)を使用する。

http://www.clamav.net/…ここからソースをダウンロードさせて貰う。

http://clamav-jp.sourceforge.jp/…日本語解説サイトここにオプション設定など必要なことの大半はここにある。

落としたソースをおきまりの方法で解凍&インストール(´∀`)

tar xzvf clamav-0.84rc1.tar.gz

cd clamav-0.84rc1

/usr/sbin/useradd -d /dev/null -s /bin/bash clamav

↑ここちょっと注意。ログイン出来ないユーザー(clamav)を作成する。作らんと動作しないらしい。

./configure

※ configure後、make出来ない時は必要なパッケージ(zlib-devel等)がインストールされているかどうかを疑おう。

make

make install

インストールが終わったら/usr/local/etc/freshclam.confのファイル中の最初の方にある設定を変更する。

##
## Example config file for freshclam
## Please read the freshclam.conf(5) manual before editing this file.
## This file may be optionally merged with clamd.conf.
##


# Comment or remove the line below.
Example←ここを#でコメントアウトする( → #Example)

# Path to the database directory.

※コメントアウトされていないとエラーメッセージが出てfreshclamが実行出来ない。

これで

/usr/local/bin/freshclam

を実行するとウィルスデータベースが更新される

ここでSECURITY WARNING: NO SUPPORT FOR DIGITAL SIGNATURES

と表示されたらgmp-develパッケージが必要なので、インストールして

再度、./configure、make、make installを行おう

ここを参照のこと。

※ freshclam --quietでエラー時のみ結果メッセージが表示されるように設定可能

データベースを更新したら

clamscan(usr/local/bin/clamscan)コマンドでウイルススキャンを実行できる

clamscan --helpでヘルプ

clamscan -r [directory]でサブディレクトリも検索してくれる(recursive)

clamscan -i [directory]で感染(infected)したファイルのみを表示する

スキャンするディレクトリが複数ある場合は

clamscan -r -i /home /sbin

などとスペースを挿入して複数記述するとよい

例によって

cronでウィルスデータベース更新とスキャン作業を自動実行すると便利である

加えて、

/usr/local/bin/clamscan -i -r /home /sbin | mail -s virus_scan_result tyler

などとパイプでスキャン結果をメール送信してやるとカコイイ

※ mail -s [subject] [destination]


13.aptを使用します。

uname -r

で現在のkernelバージョンを確認

apt-get install kernel

バージョンを明示しろと怒られてkernel一覧が表示されるので最新のものを選び

apt-get install kernel#?.?.??-????.??

#を忘れず、?はバージョン名(例 2.4.22-0vl2.17)

/etc/lilo.confの設定を変更する

image=/boot/vmlinuz-?.?.??-????.??←2箇所ある設定の上段の方

?をダウンロードしたバージョンに書き換える

/sbin/lilo

で設定内容を更新

shutdown -r now

で鯖を再起動して

uname -r

でちゃんとアップデートされたか確認


14.ifconfigコマンドを使用して確認と一時的な変更が可能、設定ファイルを変更すれば次回起動時もOK

(σ´Д`)σ注意!(もっと楽にDNSアドレスも設定する場合はこっち

/sbin/ifconfig

で、現在のローカルIPアドレスやMACアドレスやゲートウェイなどが表示される。

/sbin/ifconfig eth0

で、eth0のNICのIPアドレスなどの情報を知ることができる。

ifconfig [eth*] [local_IP_address]

/sbin/ifconfig eth0 192.168.0.20(例)

で、一時的にIPアドレスを変更できる。(再起動すると×)

起動時にIPを設定(固定)するには

/etc/sysconfig/network-scripts/ifcfg-eth0ファイルの内容を変更する

設定例として

BROADCAST=192.168.0.255

NETMASK=255.255.255.0

DEVICE=eth0

NETWORK=192.168.0.0

IPADDR=192.168.0.30

BOOTPROTO=static←IPを固定する場合はここをstaticにする。dhcpならdhcpと記述する(その場合、IPADDRの設定があっても無効となる)

ONBOOT=yes

GATEWAY=192.168.0.1

設定後は再起動(停止と起動)が必要

/sbin/ifdown eth0

/sbin/ifup eth0

これで起動時もOK

☆こちらの方が楽で確実(*´Д`)y−~~~ウマー!

上記の方法ではDNSが設定できないせいかstaticでIP指定するとブラウザでサイトを閲覧できなくなった。(素人的適当考察)

netconfig

を実行

GUI画面が出るので


[   ]Use dynamic IP configuration (BOOTP/DHCP)
 ↑空欄

IP adress 192.168.0.12(設定したいIP)
Netmask 255.255.255.0(自動設定)
Default gateway (IP) 192.168.0.1(ルータ)
Primary nameserver 192.168.0.20(192.168.0.1)(自鯖PCのdns鯖かルーター)

などと設定する

その後設定を反映させる為、再起動

/etc/rc.d/init.d/network restart

ifconfig

ifconfig eth0

でちゃんと設定されたか確認


15.初心者らしくswatも使ってます( ´∀` )

この解決方法はVineLinux3.1上で行いました。(2.6系環境でもたいして変わらないと思われますが)

samba鯖のあるPCのIP固定の設定・変更などはこちらを参照のこと

samba(Ver3系)インストール

やはりaptを使用するのが楽

apt-get install samba

sambaの起動方法は

/etc/rc.d/init.d/smb start

次にsambaの設定を楽にするためにswatをインストールする
これもaptで楽に入る

apt-get install samba-swat

sambaを使用できるユーザーを作成するにはまずシステムユーザーの登録が必要になる。
システムユーザーを作成するには

useradd -p [password] [userID]

例:useradd -p 1a93t5 smbuser01

次にsambaに接続する際に使用するパスワード(システムとは別)を設定する

smbpasswd -a [system_userID]

例:smbpasswd -a smbuser01

sambaのパスワードを聞いてくるので入力(確認の為2回入力)

swatに接続するには

まず、localhost以外からも接続できるようにswatが稼働している鯖の/etc/hosts.allowファイルを変更します。

swat: localhost 127.0.0.1 192.168.0.*

こんな感じで。

次にクライアント機のブラウザから

http://[swatがインストールされているPCのIPアドレス]:901/
例:http://192.168.0.20:901/

初めてアクセスするときにid:rootとpass:任意を設定する。

当たり前だがaptでインストールしたのでvine向けの設定は既にほとんど済んでいるはずである。
localhost以外からswatに接続できない等の問題が発生した場合以下のファイル設定などを疑おう

い./etc/inetd.conf

※ 内容変更後、inetdの再起動が必要

/etc/rc.d/init.d/inet restart

ろ./etc/services
は./etc/hosts.allow

swat設定

@SHARESボタンをクリック



A右のボックスに共有名を入力し、ファイル共有の作成ボタンをクリック



B共有するディレクトリのPathなどの設定をして「変更を反映ボタン」を押す


尚、ここでの設定は/etc/samba/smb.conf※のファイルに反映される。

※ samba3系ではここにあった

ある程度設定してから、このファイルを直接書き換えてもよいかも知れない。

Cswatで設定変更後sambaサーバーの再起動も必要になる
/etc/rc.d/init.c/smb restart

注意!samba3.x.x系では使用言語の国際化や機能などかなりパワーアップしていて設定も楽なのだが、samba2.x.x系を使用する場合、これ以外にも日本語コードの設定(932)が必要になるかも知れない。( ´∀` )b

SWAT-GLOBALS-Advanced_View-client_code_page = 932(s-jis)

試しにVineLinux2.6でaptにてsamba2.x.xをインストールしてみたら最初から設定されてた。(あたりまえか)

最初のアクセス方法は
InternetExplorerのアドレスバーに
\\[samba鯖のIPアドレス]\[swatで作成した共有名※]\
※ ディレクトリ名では無い。

例:\\192.168.0.20\share\

と入力すると
IDとパスを聞いてくるので、sambaのユーザー名とパスを入力する
で、アクセスが可能となる

それ以外にもWindowsXPの場合、マイネットワークからアクセスできるようになっている(ハズです(;´Д`))

(σ´Д`)σ接続試験が終わったらsamba鯖が次回PC起動時に自動的に立ち上がるように設定しておこう。


16.TeraTermの設定で簡単に直りました。

最近までTeraTermって日本語に非対応なのかと思ってました。(/ω\)ハズカシーィ

@SetupのTerminalを選択し…

AKanji(receive/transmit)の設定を2つ共SJISからEUCに変更します。

それだけ…(´д`*) 

Bあと、このままでは次回起動時にセッティングが元に戻ってしまうので、メニューSetupのSave setup...を実行して設定ファイルを保存する。


17.各PC上のhostsファイルの設定を変更します。

各PCにIPアドレスとそのホスト名を設定する。

hostsファイルに下記を追加

[IP_Address]   [hostname]

例:192.168.0.20   samba.kerolin.server

※ くれぐれも実在しないホスト名にすること( ´∀` )

各OSでのhostsファイルの場所は…

OS 場所
Linux(vine2.6) /etc/hosts
WindowsXP C:\windows\system32\drivers\etc\hosts
Windows98/SE C:\windows\hosts.sam

※ 設定後、hosts.sam → hostsに名前変更しないとダメ

他のOSはわかりません┐(´∀`)┌


18.下記の手順で( ´∀` )b(VineLinux3.1上で実験/2.6環境でも同様と思われる)

下記などから最新版を入手

http://www.mozilla-japan.org/products/firefox/all.html

tar xzvf firefox-1.0.3.installer.tar.gz

cd firefox-installer

./firefox-installer

Windows版と同じようなGUI画面が出るので指示に従いインストール作業を進める。

alias firefox='[インストールした場所のpath]'

でTerminalから簡単に起動できるようにして終了


19.下記の手順で( ´∀`)(この記録はVineLinux2.6上で行いました/3.1環境でも同様)

鯖側の設定…

VineLinux2.6系ではsshは最初から走っているのでアップデート以外にインストール時の問題などはないのだが

/etc/ssh/sshd_configファイルの変更が必要。(コメントアウトがあれば外す)

PermitRootLogin no

PermitEmptyPasswords no

AllowUsers goodman←接続を許可するユーザー名(VineLinux2.6/3.1ではこの設定は最初からなかった。追加すること。)

※ 設定例:AllowUsers panda kirin usagi(複数の場合はスペースを挿入して列挙)

ファイル変更後、再起動をお忘れ無く

/etc/rc.d/init.d/sshd restart

windowsクライアント側の設定は…

下のリンクからTeraTerm用のAn SSH Extension to Teratermを落とさせて頂く

http://www.zip.com.au/~roca/ttssh.html

ファイルを解凍して出来たファイルのうち3つ(下図)をTeraTermの実行ファイルがあるフォルダにコピーする

以後はTeraTermではなく、ttssh.exeをクリックして立ち上げることになる。(ショートカットを作っておけば楽)

最初の環境設定時にのみ一回エラー表示が出るが、設定ファイルが存在しないことによるメッセージなので気にしなくてよい。

Login時はUse plain password to log in(下図)でとりあえずよし。(;´Д`) ホントは公開鍵の方がより安全性は高いけどマンドクサ

とりあえずはこの設定でも通信が暗号化されているようですし、telnetを使い続けるよりかはかなりましかと…。(´∀`)

接続するときtelnetかsshかその他の方法を選べるようになってるのでsshを選ぶのを忘れずに。

最後に自鯖のtelnetを使えないようにしましょう。(穴埋め…VineLinux3.1では最初からsshを使用する様な設定になっているようなのでこの作業は不要かも。)

telnet接続を行うときinetd経由で動作するので、ポートからアクセスがあってもinetdがtelnetに処理を渡さないようにします。

/etc/inetd.confファイル中の


# These are standard services.
#
#ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd -l -a
#ftp stream tcp nowait root /usr/sbin/tcpd in.proftpd
#telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd←ここを#でコメントアウト
#gopher stream tcp nowait root /usr/sbin/tcpd gn

# do not uncomment smtp unless you *really* know what you are doing.
# smtp is handled by the sendmail daemon now, not smtpd. It does NOT
# run from here, it is started at boot time from /etc/rc.d/rc#.d.

ファイル変更後、再起動( ´∀` )

/etc/rc.d/init.d/inet restart


20.下記の手順で( ´∀`)(VineLinux3.1上で実験)

http://dev.mysql.com/downloads/

からrpmパッケージをダウンロード

今回はVer4系のrpmをインストールした。

ダウンロードするのは次の3ファイル

@Server(MySQL-server)
AClient programs(MySQL-client)
BDynamic client libraries(MySQL-shared)

もしも上記のリンク先が切れていたら

http://www.mysql.com/

ここから探そう( ´∀` )b

いつもの如くインストール…

rpm -ivh [@.rpm] [A.rpm] [B.rpm]
※スペースで区切って列記

インストール後の作業は…

rootのパスワードを設定

最初rootのパスワードが無い状態(危険)なので

mysql -u root
set password for root@localhost=password('password');
flush privileges;
exit;

後、不要な匿名ユーザーを削除しておく

use mysql;←最初からあるユーザー管理用のデータベースを選択
delete from user where user='';

さらに本来なら/etc/my.cnfを作成

[mysqld]

default-character-set=ujis

とかの内容を書き込むようなのだが、このファイルを作りAccess2000からテーブルリンクを張るとうまくいかない。(文字化け)

このファイル無しだとデータはちゃんとEUC(ujis)でLinux上に保管されるし、うまくいくのだがなんでだろうか…。現在は原因不明

起動時の自動起動の設定が必要かと思ったが、自動的に起動される設定になっていた。(rpmインストール/VineLinux2.6/MySQL4.1.x)

MySQLの基本操作
@mysqlへの接続方法

mysql -u [ユーザー名] -p [データベース名]←省略可
Enter password:と表示されるので
パスワードを入力

A使用するデータベースの選択

use [データベース名];

例:use mysql;

B全テーブルの表示

show tables;

Cデータベースの作成

create database [データベース名];
例:create database dbtest;

Dユーザーの作成と権限設定

grant all on *.* to [ユーザー名] identified by '[ユーザーパスワード]';
例:grant all on *.* to dororo identified by 'password';

flush privileges;を忘れずに( ´∀` )b

Eテーブルの作成

create table [テーブル名](

フィールド名 型,
       フィールド名 型,
         |
       フィールド名 型,
);
※ 注意!Windowsクライアント機からaccessよりodbcドライバ経由で接続する場合、主キーフィールドが必ず必要

例:create table maintbl(name varchar(20) not null,age tinyint unsigned);
Fテーブルの構造を表示

show fields from [テーブル名]
例:show fields from maintbl;

Access2000からの接続してみる…

ソフトエージェンシーからODBCドライバ@とujis変換dllAをDL

http://www.softagency.co.jp/products/mysql/win_myodbc.html

( ´∀` ) < もしくはここから落とす。(上のリンクが切れた場合)

@MyODBC-3.51.06.exe…立ち上げると、普通にGUIで簡単にインストールできる。
Amyodbc-3.51.06-conv_ujis.zip…解凍後、myodbc3.dllのみc:\windows\system32に放り込む(winxpの場合)
@をインストールした後にできるDLLを上書きすることになるので、その確認があるかチェックすること

Winクライアント機のコントロールパネルの管理ツールのデータソース(ODBC)を開き、「システムdns」タブを選択してmysqlドライバを追加

上記の設定が済んだら[Options >>]ボタンを押して下のウィンドウ画面を表示して、

EUC変換するにチェックを入れます。

これでOK!

Access2000上のテーブルリンクからはs-jisで見え、linux側ではeuc(u-jis)で見えるようになりますv( ´∀` )v

その後…VineLinux2.6にもMySQLを入れようとしたのだが…

vine linux3.1+mysql4.1.11+access2000+odbc3.51.06+myodbc-3.51.06-conv_ujis

でのAccess2000からのODBCドライバ経由接続はすんなりOK

VineLinux2.6+mysql4.1.11+access2000+odbc3.51.06+myodbc-3.51.06-conv_ujis

だとMySQLはインストール&稼働OKであるがAccessからODBCドライバ経由で接続出来ない。

日本語変換dll(myodbc-3.51.06-conv_ujis)をかませないと接続OKなのだが…いろいろやったがもう∩(・∀・)∩オテアゲでした。

MySQLとapacheとPerlDBIとACCESS2000の連携でWEB上のDB公開実験は鯖をVineLinux3.1にUPしてからか…(´・ω・`)

その後、VineLinux2.6にMySQL-2.32.xのrpmやsrpmやaptインストールをしたが、まともに動かず…┐(´∀`)┌さっぱりわからん。


21.perlにDBIを追加します。(VineLinux3.1上で実験/2.6環境でも同様と思われる)

注意!DBIを使用するにはPerl(ver5.004以上)が必要。

この実験をしたときのVineLinux3.1上の各perlプログラムのバージョンは

でした。

VineLinux用ftpサイトから必要なファイルをダウンロードする。

たとえばこの辺から

http://www.ring.gr.jp/pub/linux/Vine/VinePlus/3.1/i386/RPMS.plus/

@perl-DBD-MySQL-[version].i386.rpm
Aperl-DBI-[version].i386.rpm
必要なのはこの2つ

インストールは
rpm -ivh perl-DBD-MySQL-[version].i386.rpm perl-DBI-[version].i386.rpm
もしくは-Uvh

で、OK

使い方は…こんな※感じ。(テストとしてcgi-binにでも放り込んでブラウザから開いてみましょう)
MySQL徹底攻略ガイド 参照


22./etc/proftpd.confの内容を設定します。VineLinux3.1上で実験)

ファイルの最後にでも下記を追加します。

<Limit LOGIN>

Order allow,deny

#アクセスを許可するマシンのIPアドレス

allow from 192.168.0.10/14 127.0.0.1/8

deny from all

</Limit>

設定後、proftpdの再起動を忘れずに

/etc/rc.d/init.d/proftpd restart


23.namazuとnamazu-cgiを使用して各種設定をします。(VineLinux3.1上で実験)

rpm -qa | grep namazu



namazu-cgiがインストールされていなければ

apt-get install namazu-cgi

でインストールしておく(namazuだけではサイト内検索機能を構築出来ない

cd /home/httpd/html

mkdir catfish

cd catfish

mknmz --exclude=/home/httpd/html/webalizer /home/httpd/html

でカレントディレクトリ(catfishディレクトリ内)にインデックスを作成

-O オプションを使用して、作成されたインデックスファイルを出力するディレクトリを指定することも出来る( ´∀` )b

動作テスト…

chmod 755 /home/httpd/cgi-bin/namazu.cgi

で属性を変更し、

namazu [検索キーワード] [インデックスファイルがあるディレクトリのパス]

例:namazu フォークリフト /home/httpd/html/catfishで

作成されたインデックスファイルとnamazuの動作テストをしてみる。

次に…

VineLinux3.1では

/home/httpd/cgi-bin/内に

既にnamazu.cgiがあるが、.namazurcファイルは無いので同じディレクトリ内に作成して(どっかにサンプルファイルがあるのかしらんけど)

自分で作成して

#インデックスファイルがある場所を指定
Index /home/httpd/html/catfish

#検索結果のURL置き換え指定(これをやらないと検索結果から目的のページへ飛べない)

Replace /home/httpd/html http://paperstreet.iobb.net

#インデックスファイルのある場所を指定しておくといいらしい(;´Д`) 

Template /home/httpd/html/catfish

#言語設定(日本語)

Lang ja

など設定をする

インデックスの自動作成…

インデックスは定期的に更新しないとダメなので例によってcronに登録して自動実行されるようにしておくとよい。

mknmz -O /home/httpd/html/catfish --exclude=/home/httpd/html/webalizer /home/httpd/html

mknmzのオプションについてはmknmz --helpを打ち込んで参照

namazu-cgiを使用してWEB上からキーワードを入力して検索できるシステムを作るには

ここのページソースをブラウザで表示してみれば分かる。

設定はhttp://www.namazu.org/等を参考にされたし


24.下記の手順で行います( ´∀` )b

/etc/postfix/aliasesファイル内に赤字部分を追加

# Person who should get root's mail

#root: marc

root: tyler

#The Other Aliases

melmaga: tyler

設定はファイル内のどこに書いてもいいんだけど、書式は

kotirakara:       kotti

上の例ではrootに来たメールをtylerに転送、melmagaに来たメールをtylerに転送します。

実際に存在しないアカウントも設定可能。(上の例のmelmagaなど)

その後、

newaliasesコマンドを実行してからpostfixを再起動

/etc/rc.d/init.d/postfix restart


25.xawtvを使用します。

xawtvの公式サイトはこちら

実際に動いているライブカメラ画像はこちら

ソースからコンパイルしてもいいけどマンドクサなので、またもapt…┐(´∀`)┌ 初心者なら簡単に越したことないね

/etc/apt/sources.listをチェックして、jaistへの参照を有効にする。

その後、apt-get update

apt-get install xawtv

で、すんなり入る(他の依存ファイルもいろいろゴテゴテ入る)

カメラの設定は…

USBカメラを鯖本体に接続するとドライバが勝手にインストールされるハズw

(OSがそのカメラに搭載されているチップのドライバを持っていれば)

※ すでに生産中止…(;´Д`) 

ドライバがインストールされたか確認するにはlsmodコマンドを使用する。

 

後は、一定時間毎にキャプチャ画像を作成するように設定…

/home/httpd/html/あたりにディレクトリ(sabacam等)を作成(権限等に注意

どこでもよいが、/etc/webcamrcにでも設定ファイルを作成

ファイルの内容は…

[ftp]

#画像ファイルを置くディレクトリのパス

dir = /home/httpd/html/sabacam

#画像ファイル名

file = sabacam.jpeg

#一時ファイル名(何でもいい)

tmp= uploading.jpeg

auto = 0

local = 1

ssh = 0

[grab]

device = /dev/video0

text = "%Y-%m-%d %H:%M:%S"

#キャプチャ画像のサイズ(幅と高さ)

width = 640

height = 480

#キャプチャ間隔(秒)の設定(once = 1にした場合無効)

delay = 300

rotate = 0

top = 0

left = 0

bottom = -1

right = -1

#jpeg画質

quality = 100

trigger = 0

#キャプチャを一度だけ行って終了するなら”1”

once = 1



※ once = 0にして常時起動してdelay間隔毎に出来るが、今回はcronを使って定期的に実行するようにした。

/usr/bin/webcam /etc/webcamrcでとりあえずキャプチャのテスト(webcam [設定ファイルのパス])

例によって例のごとくいちいち手動実行してらんないのでcrontabに下記を追加してやる

*/5 * * * * /usr/bin/webcam /etc/webcamrc > /dev/null 2>&1

加えて、画像を加工するには…(キャプチャした画像を縮小して表示したい場合も多いでしょう)

画像の加工にはImageMagickを使用します( ´∀` )

apt-get update

apt-get install ImageMagick

で最低限のものは入るらしい。(*´Д`)y−~~~

使い方は…

convert --helpでヘルプを見る(オイ

convert -resize 160x120 input.jpeg output.jpeg

って感じで使う。

この場合input.jpegを160x120にリサイズしてoutput.jpegというファイル名で出力する

例:
/usr/bin/convert -resize 160x120 /home/httpd/html/sabacam/sabacam.jp
eg /home/httpd/html/sabacam/sabacam160.jpeg

例によってcronで自動化してやるとよい(こればっかし)


26.rmコマンドを使います。

rm -rf [PATH]

ってな感じで入力して実行。-rは再帰的にディレクトリ内を削除。-fは警告を無視して処理を継続。


27.れいのごとくapacheの設定をいじります。

/etc/httpd/conf/httpd.confファイルの赤字の部分を変更する。

〜〜〜

<Directory /home/httpd/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 ExecCGI FollowSymLinks Includes Indexes MultiViews

#
# This controls which options the .htaccess files in directories can
# override. Can also be "All", or any combination of "Options", "FileInfo", 
# "AuthConfig", and "Limit"
#
AllowOverride None

#
# Controls who can get stuff from this server.
#

SetEnvIf Referer "http://www.ahoahosite.com" hajiku

SetEnvIf Referer "ime.st" hajiku

Order allow,deny

Allow from all

Deny from 15.111.205.11

Deny from env=hajiku

</Directory>

#
# UserDir: The name of the directory which is appended onto a user's home
# directory if a ~user request is received.
#
# The path to the end user account 'public_html' directory must be
# accessible to the webserver userid. This usually means that ~userid

〜〜〜

複数のサイトを設定する場合は上記のように書けばよいみたいです。

これまたれいのごとくapacheの再起動を忘れずに(*´Д`)y−~~~


ここここ等のすばらしいサイトを参考にすることが多いです。(テストは自宅サーバーで実際に行っているので許してねm(_ _)m主に自分用のページだし…)

そして、これ があれば初心者でも鯖を立てられますよ( ´∀` ) < お薦め書

戻る