VineLinux3.1(2.6)鯖管理用初心者向TIPS(Linux初心者以外は見ちゃダメ(´∀`))※
※ 管理人用の覚え書きの為、不正確な内容もあるかもしれません。ここを参考にして何か問題が発生しても責任とれませんのでご了承下さい。m(_ _)m
[基本][Apache][BIND][Postfix][ssh][samba][telnet][inetd][MySQL][proftp][namazu][clientPC]
|
基本(コマンドや運用管理)VineLinux2.6/3.1 |
設定ファイル:/etc/httpd/conf/httpd.conf
再起動:/etc/rc.d/init.d/httpd restart
設定ファイル:/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を利用している為と思われる。
設定ファイル1:/etc/postfix/main.cf
設定ファイル2:/etc/postfix/aliases
再起動:/etc/rc.d/init.d/postfix restart
設定ファイル:/etc/ssh/sshd_config
再起動:/etc/rc.d/init.d/sshd restart
|
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
|
×telnet(VineLinux2.6/3.1※これは使わずにsshで接続します) |
|
inetd(VineLinux2.6/3.1) |
設定ファイル:/etc/inetd.conf
再起動:/etc/rc.d/init.d/inet restart
設定ファイル:Ver4.1.11-standardでは特に設定しなくてもよかった…
再起動:/etc/rc.d/init.d/mysql restart
設定ファイル:/etc/proftpd.conf
再起動:/etc/rc.d/init.d/proftpd restart
設定ファイル:/home/httpd/cgi-bin/.namazurc(namazu-cgi用)
(・∀・) < 管理する上でどうしても必要になるであろう小技をそろえてみました。(主に自分用ですm(_ _)m)
解決策
/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の再起動を忘れずに(´∀`)
まず、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
whereis sendmail←検索するコマンド名を入力
これだけです。
crontab -e
で編集画面を表示させ
SHELL=/bin/bash ←環境設定
MAILTO=root ←処理が完了したときに結果をメールするユーザー名
5 15 * * * ntpdate tock.usno.navy.mil ←この場合毎日午後3時5分に時刻修正を行う。
などと編集する。(viエディタ上から行うことになる)
実行するコマンドに引数がある場合は通常のコマンドを打つ時と同じようにスペースを空けて記述すればよい。
左辺の*などの説明は右辺のコマンドを実行する
| 分 | 時 | 日 | 月 | 曜日 |
である。
*(アスタリスク)は何でもあり(全てにあてはまる)という意味。
尚、0,15,30,45 * * * * だと15分ごとに実行(*/15 * * * * でも同じ意味になる)
/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
@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)
df -hでオプションを付けて実行すると単位がMB、GB単位になり見やすくなる
/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ディレクトリが自分以外にアクセスできない状態に設定しています。
信用できるどこかの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]
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
上記の方法では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
でちゃんと設定されたか確認
この解決方法は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起動時に自動的に立ち上がるように設定しておこう。
最近までTeraTermって日本語に非対応なのかと思ってました。(/ω\)ハズカシーィ
@SetupのTerminalを選択し…
AKanji(receive/transmit)の設定を2つ共SJISからEUCに変更します。
それだけ…(´д`*)
Bあと、このままでは次回起動時にセッティングが元に戻ってしまうので、メニューSetupのSave setup...を実行して設定ファイルを保存する。
各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)
もしも上記のリンク先が切れていたら
ここから探そう( ´∀` )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/等を参考にされたし
/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
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で自動化してやるとよい(こればっかし)
rm -rf [PATH]
ってな感じで入力して実行。-rは再帰的にディレクトリ内を削除。-fは警告を無視して処理を継続。
/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主に自分用のページだし…)
そして、これ
があれば初心者でも鯖を立てられますよ( ´∀` )
< お薦め書