File last modified 2004/04/04 15:21
※インストールメモはこちらに移行しました
目次
・jelvis 漢字対応elvis
以下のサイトなどよりelvis本体と日本語化パッチを入手、同じディレクトリに保存します。
ftp.win.ne.jp/pub/word/elvis/elvis-2.1_4.tar.gz
ftp.win.ne.jp/pub/word/elvis/jelvis2-0.44.tar.gz
% tar -xvzf elvis-2.1_4.tar.gz
% cd elvis-2.1_4
% tar -xvzf ../jelvis2-0.44.tar.gz
% patch -p1 <./jelvis2-0.44.diff
%./configure --enable-kanji
%make
%su
#make install
/usr/local/bin/jelvis2が漢字対応elvis本体ですが、viとしてリンクを張ってしまいます。
# ln -s /usr/local/bin/jelvis2 /usr/local/bin/vi
デフォルトのviは/usr/bin/viですので、使え分けます。(ほとんど使いませんが)
このelvisとても高機能らしいのですが、とても使い切れません。
とりあえず、ホームディレクトリに.exrcファイルを作りました。
.exrc
set showmode
set ruler
set showmatch
set autoindent
set ic
・tcp_wrappers_7.6
以下のサイトよりソースを入手
ftp.porcupine.org/pub/security/index.html
TCP Wrapper (tcp_wrappers_7.6.tar.gz)
$ tar -xvzf tcp_wrappers_7.6
$ cd tcp_wrappers_7.6
$ CC=gcc REAL_DAEMON_DIR=/usr/sbin STYLE=-DPROCESS_OPTIONS make sunos5
$ su
# cp safe_finger tcpd tcpdchk tcpdmatch try-from
/usr/local/sbin
# cp hosts_access.3 /usr/local/man/man3
# cp hosts_access.5 hosts_options.5 /usr/local/man/man5
# cp tcpd.8 tcpdchk.8 tcpdmatch.8 /usr/local/man/man8
# cp tcpd.h /usr/local/include
# cp libwrap.a /usr/local/lib
# touch /etc/hosts.allow
# touch /etc/hosts.deny
/etc/hosts.allowと/etc/hosts.denyの編集。
hosts.denyですべてを拒否し、hosts.allowで必要なものを許可します。
/etc/hosts.deny
すべて拒否する
/etc/hosts.allow
in.ftpd: ALL ←1
in.telnetd: .hoge.com ←2
ALL: 192.168.0.0/255.255.255.0 ←3
ALL: localhost ←4
1.ftpをすべて許可
2.telnetをhoge.comドメインからのみ許可
3.ローカルネットワークはすべて許可
4.自分はすべて許可
/etc/inetd.confの設定
ftp stream tcp nowait root /usr/local/sbin/tcpd in.ftpd
telnet stream tcp nowait root /usr/local/sbin/tcpd in.telnetd
inetdの再起動
# ps -ef |grep inet
root 170 1 0 Nov 23 ? 0:00 /usr/sbin/inetd
-s -t
# kill -HUP 170
・npc-0.83
ここのサイトで使っている、動くアクセスカウンターです。
ソースの入手先と詳しいマニュアル
http://www2.biglobe.ne.jp/%7Enir/soft/
$ tar -xvzf npc-0.83.tar.gz
$ cd npc-0.83
Makefileを編集(抜粋)。INDEX_DIRでインデックスファイルの置き場所を自分の環境に合わせます。
CC = gcc
CFLAGS = -O2 ←変更
MAKEFILE = Makefile
INDEX_DIR = /usr/local/apache/htdocs ←変更
INDEX_FILE = npc.idx
$ make
出来上がったnpc.cgiをCGIが実行できる場所にコピーし、アクセス権を755に設定
confディレクトリにあるsample2.idxを参考にして、そのまま名前をnpc.idxに変えてコピーし、
アクセス権を666に設定します。
npc.idxの例
#!npc.cgi --
=WIDTH
6
=PROGRESS
OFF
=INCREMENT
1
=BROWSER
^Mozilla/[1-9]
=PROGRESS
ON
=DELAY
1000,50
=BROWSER
^
=ADDR
127.0.0.1
192.168.0.2
=INCREMENT
0
=HOST
^sol\.b-dash\.net$
=INCREMENT
0
=COUNTER
$ su ←自分所有のディレクトリにインストールする場合は特にrootになる必要なし
# cp npc.cgi /usr/local/apache/cgi-bin
# chmod 755 /usr/local/apache/cgi-bin/npc.cgi
# cp conf/sample2.idx /usr/local/apache/htdocs/npc.idx
# chmod 666 /usr/local/apache/htdocs/npc.idx
あとは、HTMLソースにnpc.cgiを画像として埋めこみます。
<IMG SRC="/cgi-bin/npc.cgi?L=Location&I=Index">
背景とか数字タイプとかいろいろオプションで設定できますが、当サイトの画像サンプルです。
もっと詳しくはnpc.cgiのオンラインマニュアルを参照してください。
<IMG src="../cgi-bin/npc/npc.cgi?C=FFFFFF,666699&L=http://www.b-dash.net/index.php&P=ON&A=G&DI=2&D=1000,100">
・freetype-2.1.0
入手先
http://freetype.sourceforge.net/download.html
% make setup
% make
% su
# make install
・gd-1.8.4
入手先
http://www.boutell.com/gd/
必要なもの
freetype-2.1.0 http://freetype.sourceforge.net/download.html
Sunfreeware.comより
xpm SMCxpm
zlib SMCzlib
libpng SMClibpng
Makefileの変更したところ
CFLAGS=-O -DHAVE_LIBXPM -DHAVE_LIBPNG -DHAVE_LIBJPEG \
-DHAVE_LIBFREETYPE
LIBS=-lgd -lpng -lz -ljpeg -lfreetype -lm
INCLUDEDIRS=-I. -I/usr/local/include/freetype2/freetype \
-I/usr/local/include/freetype2 -I/usr/local/include \
-I/usr/local/include/X11 -I/usr/openwin/include/X11
LIBDIRS=-R/usr/local/lib -R/usr/openwin/lib \
-L. -L/usr/local/lib -L/usr/openwin/lib
% make
% su
# make install
・libtool-1.4
入手先
http://www.gnu.org/software/libtool/libtool.html
% CFLAGS=-O2 ./configure
% make
% su
# make install
・samba-2.0.10-ja-1.1
samba日本語版の入手先日本sambaユーザー会
$ tar xvzf samba-2.0.10-ja-1.1.tar.zg
$ cd samba-2.0.10-ja-1.1/source
$ ./configure --with-i18n-swat
$ make
$ su
# make install
# mkdir /usr/local/samba/var/locks
# chmod 755 /usr/local/samba/var/locks
# touch /usr/local/samba/var/locks/STATUS..LCK
/etc/services の編集。以下の行を追加
netbios-ns 137/udp
netbios-ssn 139/tcp
swat 901/tcp
/etc/inet/inetd.conf の編集。以下の行を追加
netbios-ssn stream tcp nowait root /usr/local/samba/bin/smbd smbd
netbios-ns dgram udp wait root /usr/local/samba/bin/nmbd nmbd
swat stream tcp nowait.400 root /usr/local/samba/bin/swat swat
inetd再起動
# ps -ef |grep inet
root 226 1 0 Sep 08 ? 0:01 /usr/sbin/inetd -s -t この例では226がinetdのプロセス番号
# kill -HUP 226
smb.conf作成
swatで設定するか
(クライアントマシンのブラウザよりhtt://<サーバーのIPアドレス>:901/に、
ユーザー名:root、パスワード:rootのパスワードにて接続。)
/usr/local/samba/lib/smb.confを直接作成します。
とりあえず設定するところ。
[global]
coding system = euc
client code page = 932
workgroup = B-DASH.NET ←windowsのワークグループ
server string = Samba Server
encrypt passwords = Yes
log file = /usr/local/samba/var/log.%m
max log size = 50
os level = 65
domain master = Yes
dns proxy = No
hosts allow = 192.168.0. 127.
printer = lp
[homes]
comment = Home Directories
writeable = Yes
create mask = 0775
directory mask = 0775
guest ok = Yes
browseable = No
available = No
samba用パスワードファイル作成
samba の source/script ディレクトリにある mksmbpasswd.shを使い、
samba用のパスワードファイルを作成します。
# cd source/script
# mkdir /usr/local/samba/private
# cat /etc/passwd | sh ./mksmbpasswd.sh > /usr/local/samba/private/smbpasswd
# chown -R root /usr/local/samba/private
# chmod 500 /usr/local/samba/private
# chmod 600 /usr/local/samba/private/smbpasswd
samba用各ユーザのパスワードを設定
# /usr/local/samba/bin/smbpasswd -e ユーザ名
New SMB Password: <パスワードの入力>
Repeat New SMB Password: <パスワードの再入力>
・squid-2.4.STABLE2
本家
http://www.squid-cache.org/
ミラーサイトなどより、ファイルをゲット
squid-2.4.STABLE2-src.tar.gz
$ tar xvzf squid-2.4.STABLE2-src.tar.gz
$ cd squid-2.4.STABLE2
$ ./configure
$ make
$ su
# make install
/usr/local/squid/etc/squid.conf作成
ほとんどデフォルトだが、アクセス制御のとこだけ編集。
# cd /usr/local/squid/etc
# grep -v "^#" squid.conf.default > squid.conf
# vi squid.conf
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl b-dash src 192.168.0.0/255.255.255.0 ←ローカルネットワークを定義
acl SSL_ports port 443 563
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 563 # https, snews
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT
http_access allow manager localhost
http_access allow b-dash ←ローカルネットワークからの接続許可
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access deny all
icp_access deny all ←icpは使わないので禁止
# icp_access allow all
キャッシュの初期化
# mkdir /usr/local/squid/cache
# chown nobody:nogroup /usr/local/squid/cache /usr/local/squid/logs
# /usr/local/squid/bin/squid -z
デフォルトでは/usr/local/squid/bin/squid/cacheに100Mの領域が作られる。
squid起動
起動時にDNS問い合わせを省略するには-Dをつける。
# /usr/local/squid/bin/squid -D &
無事起動したか、/usr/local/squid/logs/cache.logにて確認
クライアント設定
squidが起動したら、クライアントのブラウザの設定でサーバーのタイプHTTPにサーバーのIPアドレスとポート番号に3128を指定する。
Netscape Communicator 4.7xの場合
「編集」−「設定」−「詳細」−「プロシキ」−「手動でプロシキを設定する」にチェックを入れ「表示」にて設定
Internet Explorer 5.xの場合
「ツール」−「インタネットオプション」−「接続」−「LANの設定」−「プロキシサーバーを利用」にチェックを入れ「詳細」にて設定
起動スクリプト
/etc/init.d/squid
#!/bin/sh
SQUID_HOME=/usr/local/squid
case "$1" in
start)
if [ -f $SQUID_HOME/bin/squid -a -f $SQUID_HOME/etc/squid.conf ]; then
$SQUID_HOME/bin/squid -D
fi
;;
restart)
if [ -f $SQUID_HOME/bin/squid -a -f $SQUID_HOME/logs/squid.pid ]; then
$SQUID_HOME/bin/squid -k reconfigure
fi
;;
stop)
if [ -f $SQUID_HOME/bin/squid -a -f $SQUID_HOME/logs/squid.pid ]; then
$SQUID_HOME/bin/squid -k shutdown
/bin/rm -f
fi
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
;;
esac
exit 0
ハードリンク作成
# chmod 744 /etc/init.d/squid
# ln /etc/init.d/squid /etc/rcS.d/K10squid
# ln /etc/init.d/squid /etc/rc2.d/S99squid
ログのロテート
crontabにて、毎日5時にログのロテートの設定をします。
# crontab -e
0 5 * * * /bin/kill -USR1 `/bin/cat /usr/local/squid/logs/squid.pid`
ログの解析
インストール時のsrcディレクトリにあるcachemgr.cgiをapacheのCGIディレクトリにコピーすれば、
ブラウザから確認できます。
・mysql-3.23.53
mysqlのインストール
本家
http://www.mysql.com/
日本のミラーサイト
http://www.softagency.co.jp/MySQL/
日本MySQLユーザー会
http://www.mysql.gr.jp/
ミラーサイト等よりsourceをget
http://www.softagency.co.jp/MySQL/Downloads/MySQL-3.23/mysql-3.23.53.tar.gz
$ tar xvzf mysql-3.23.53.tar.gz
$ cd mysql-3.23.53
$ LDFLAGS="-R/usr/local/lib -L/usr/local/lib" \
> CPPFLAGS="-R/usr/local/lib -L/usr/local/lib" \
> CC=/usr/local/bin/gcc \
> CFLAGS=-O3 \
> CXX=/usr/local/bin/c++ \
> CXXFLAGS=-O3 \
> CPP=/usr/local/bin/cpp \
> ./configure --prefix=/usr/local/mysql \
> --with-charset=ujis --with-client-ldflags=-R/usr/local/lib \
> --with-mysqld-ldflags=-R/usr/local/lib \
> --with-lib-ccflags=-R/usr/local/lib
--with-client-ldflagsはncursesのインストール先を指定。
ncursesはncurses-5.2-sol8-intel-local.gzをインストール
makeの前にconfig.h編集
/* Define as the base type of the last arg to accept */
#define SOCKET_SIZE_TYPE int
これを以下に修正
/* Define as the base type of the last arg to accept */
#define SOCKET_SIZE_TYPE size_t
$ make
$ su
# make install
# cd /usr/local/mysql
# groupadd mysql
# useradd -g mysql mysql
# bin/mysql_install_db
# chown -R root /usr/local/mysql
# chown -R mysql /usr/local/mysql/var
# chgrp -R mysql /usr/local/mysql
# bin/safe_mysqld --user=mysql &
・nkf-1.9.2
文字コードの変換ツールです。
以下の場所よりnkf192.sharを入手
ftp://ftp.ie.u-ryukyu.ac.jp/pub/software/kono/
% mkdir nkf-1.9.2 % mkdir
nkf-1.9.2/NKF % cd nkf-1.9.2 % /bin/sh ../nkf192.shar
Makefileの編集 PERL = perl5'の行を'PERL = perl'に
% make CC=gcc % make test % su # cp -p nkf
/usr/local/bin # cp -p nkf.1 /usr/local/man/man1/
perl対応のNKFモジュール作成
% cd NKF % perl Makefile.PL % make % make
test % su # make install
・patch-2.5.4
GNUのpatchです。solaris標準のpatchはあまり使いません。
以下の場所などよりpatch-2.5.4.tar.gzを入手
ftp://ftp.ring.gr.jp/pub/GNU/patch/
$ tar xvzf patch-2.5.4.tar.gz $ cd patch-2.5.4 $ ./configure $
make $ su # make install
・ucd-snmp-4.2.2
入手先
http://net-snmp.sourceforge.net/
$ tar xvzf ucd-snmp-4.2.2.tar.gz
$ cd ucd-snmp-4.2.2
$ ./configure --enable-shared
$ make
$ su
# make install
# cp EXAMPLE.conf /usr/local/share/snmp/snmpd.conf
communityの名前の部分をデフォルトから編集(任意の名前をつける)
# vi /usr/local/share/snmp/snmpd.conf
変更前
com2sec local localhost COMMUNITY
com2sec mynetwork NETWORK/24 COMMUNITY
変更後
com2sec local localhost hogehoge
com2sec mynetwork 192.168.0.0/24 hogehoge
solaris付属のsnmpを止め、ucd-snmpを使う
# /etc/rc3.d/S76snmpdx stop
次回起動しないようにリネーム
# mv /etc/rc3.d/S76snmpdx /etc/rc3.d/_S76snmpdx
起動スクリプト作成
# vi /etc/rc2.d/S90snmp
#!/bin/sh
ConfigFile=/usr/local/share/snmp/snmpd.conf
[ -f $ConfigFile ] || exit 0
RunningPids=`/usr/bin/ps -e | /usr/bin/awk '$4~/^snmpd/ {print $1}'`
case "$1" in
'start')
if [ -n "$RunningPids" ]; then
echo "snmpd daemon already running."
exit 0
fi
if [ -f /usr/local/sbin/snmpd ]; then
echo "Starting the snmpd daemon."
/usr/local/sbin/snmpd
fi
;;
'stop')
if [ -n "$RunningPids" ]; then
echo "Stopping snmpd daemon."
kill $RunningPids
fi
;;
'restart')
if [ -n "$RunningPids" ]; then
echo "Reconfiguring snmpd daemon."
kill -HUP $RunningPids
fi
;;
*)
echo "Usage: sh $0 { start | stop | restart }"
;;
esac
exit 0
# chmod 744 /etc/rc2.d/S90snmp
・mrtg-2.9.17
mrtg入手先
http://people.ee.ethz.ch/~oetiker/webtools/mrtg/
$ tar xvzf mrtg-2.9.17.tar.gz
$ cd mrtg-2.9.17
$ ./configure --with-gd-lib=/usr/local/lib --with-gd-inc=/usr/local/include
\
> --with-png-inc=/usr/local/include --with-png-lib=/usr/local/lib
*)pngインストール先が/optの場合は適宜変更する
mrtgデータの保存先はwebより参照できる場所にします。
(ここの例では/usr/local/apache/htdocs/mrtg)
mrtgはユーザー権限で実行しますので、データ保存先の所有者もuserに変更します。
$ make
$ su
# mkdir /usr/local/mrtg
# mkdir /usr/local/apache/htdocs/mrtg
# chown -R user /usr/local/mrtg /usr/local/apache/htdocs/mrtg
# cp -r bin lib /usr/local/mrtg
# cp images/*.* /usr/local/apache/htdocs/mrtg
# cd translate
# ./mergelocale.pl skeleton.pm0 eucjp.pmd
# cp locales_mrtg.pm /usr/local/mrtg/lib/mrtg2
# cd /usr/local/mrtg
# bin/cfgmaker hogehoge@localhost >>traffic.cfg
*)hogehogeはucd-snmpのcommunity名
traffic.cfg編集
# vi traffic.cfg
以下の行をTargetの上の行に追加
WorkDir:/usr/local/apache/htdocs/mrtg
WriteExpires: Yes
RunAsDaemon: No
Interval: 5
Refresh: 300
Language: euc-jp
ユーザーに戻り、mrtgを実行
$ /usr/local/mrtg/bin/mrtg /usr/local/mrtg/traffic.cfg
最初はキャッシュがないのでエラーが出るので3回実行する。
ブラウザより、http://<yuresaite>/mrtg/traffic.htmlで参照できれば成功。
mrtgを5分毎に実行するようにcrontabに追加
$ crontab -e
0,5,10,15,20,25,30,35,40,45,50,55 * * * * /usr/local/mrtg/bin/mrtg /usr/local/mrtg/traffic.cfg
インデックスページ作成はindexmakerにて作成
$ cd /usr/local/mrtg/bin
$ ./indexmaker --columns=1 --output /usr/local/apache/htdocs/mrtg/index.html
traffic.cfg traffic2.cfg traffic3.cfg
うちの状況はこんな感じ
メモリ使用率やCPU使用率のグラフ化は
ケーブルTVによるSolaris7(X86)サーバ構築記を参考にさせていただきました。(ありがとうございます)
openssl-0.9.6b
opensslの入手先
本家 http://www.openssl.org/
openssl-0.9.6b.tar.gz
$ tar xvzf openssl-0.9.6b.tar.gz
$ cd openssl-0.9.6b
$ ./Configure solaris-x86-gcc -DPIC -fPIC no-asm
$ make
$ su
# make install
Solaris /dev/random
solarisには/dev/randomがはいってないので、インストール
/dev/randomの入手先
http://www.cosy.sbg.ac.at/~andi/ よりバイナリパッケージを入手
ANDIrand-0.7-5.8-x86-1.pkg
$ su
# pkgadd -d ANDIrand-0.7-5.8-x86-1.pkg
そのまま起動するには
# /etc/rc2.d/S60random start
次回起動時には起動スクリプトにて実行される
--------------------------------------------
※追加情報
sun純正の/dev/randomがpatchとして提供されました。
x86用
112439-01
SPARC用は
112438-01
ダウンロード先
http://jp.sunsolve.sun.com/pub-cgi/show.pl?target=patches/patch-access
ここで検索窓から
112439
で検索。
適当なところで
$ unzip 112439-01.zip
$ su
# patchadd ./112439-01
IP Filter
ipfilterインストール
入手先
http://coombs.anu.edu.au/ipfilter/
2002年3月17日時点の最新バージョン
ftp://coombs.anu.edu.au/pub/net/ip-filter/ip-fil3.4.25.tar.gz
$ tar xvzf ip-fil3.4.25.tar.gz
$ cd ip-fil3.4.25
このままmakeするとipfstatでエラーになったのでMakefileを編集した。
# Uncomment the next 3 lines if you want to view the state table a la top(1)
# (requires that you have installed ncurses).
STATETOP_CFLAGS=-DSTATETOP
#
# Where to find the ncurses include files (if not in default path),
#
#STATETOP_INC=
STATETOP_INC=-I/usr/local/include
#
# How to link the ncurses library
#
#STATETOP_LIB=-lcurses
STATETOP_LIB=-R/usr/local/lib -L/usr/local/lib -lncurses
必ずsunのmakeを使う
$ /usr/ccs/bin/make solaris
$ cd SunOS5
$ su
# /usr/ccs/bin/make package
pkgファイルが作られ、自動でパッケージインストールになる。
ログを吐くようにsyslog.confに追加
local0.info /var/log/ipf.log
# ↑ここは空白でなくタブ
ログファイルを作っておく
# touch /var/log/ipf.log
ルールファイルを作成。
IP Filterの設定ファイルは/etc/opt/ipf/ipf.confを編集する
NATを使用したルーターとしての設定は/etc/opt/ipf/ipnat.confを作成する。
ルールのサンプルは
http://www.obfuscation.org/ipf/ipf-howto.html に、いろいろ例があるので参考にする。
FreeBSD 日本語マニュアルにもipfについての解説がありました。
設定ファイルを作ったら起動してみる
# /etc/init.d/ipfboot start
ステータス表示
# /sbin/ipfstat
ipfstat -tでtop風リアルタイム表示
・apacheのメモ
apache+mod_ssl+phpのインストールメモ
2002/07/28 更新
apache_1.3.26
mod_ssl-2.8.10-1.3.26
openssl-0.9.6d
php-4.2.2
でのインストールメモです。インストール後の設定については触れていません。
各ライブラリ関係のインストール先は環境により違いますので適宜読み替えて下さい。
$ tar xvzf openssl-0.9.6d.tar.gz
$ cd openssl-0.9.6b
$ ./Configure solaris-x86-gcc -DPIC -fPIC no-asm
$
make
$ cd ..
$ tar xvzf apache_1.3.26.tar.gz
$ tar xvzf mod_ssl-2.8.10-1.3.26.tar.gz
$ cd ../mod_ssl-2.8.6-1.3.26
$ ./configure --with-apache=../apache_1.3.26 \
> --with-ssl=/usr/local/ssl --prefix=/usr/local/apache \
> --enable-shared=ssl --enable-module=so \
> --enable-rule=SHARED_CORE --enable-module=rewrite --enable-shared=rewrite
$ cd ../apache_1.3.26
$ make
$ make certificate TYPE=custom
$ su
# make install
# exit
$ cd ../
$ tar xvzf php-4.2.2.tar.gz
$ cd php-4.2.2
$ CC=/usr/local/bin/gcc ./configure --enable-mbstring --enable-mbstr-enc-trans
\
> --with-apxs=/usr/local/apache/bin/apxs --enable-trans-sid \
> --with-imap --with-gd --with-perl --with-zlib-dir=/usr/local/lib \
> --with-png-dir=/usr/local/lib --with-jpeg-dir=/usr/local/lib \
> --with-freetype-dir=/usr/local/include/freetype2/freetype \
> --with-mysql=/usr/local/mysql --with-xpm-dir=/usr/local/lib --with-pgsql=/usr/local/pgsql
$ make
$ su
# make install
|