2004年3月アーカイブ

qmailanalog-0.70
http://cr.yp.to/qmailanalog.html

参考:ツールを使った効率的なログ分析術
http://www.atmarkit.co.jp/flinux/rensai/qmail10/qmail10a.html

qmailanalogはqmailのログから統計情報を取得するツールです。

conf-ccとconf-ldのccをgccに変更
$ make
# su
# make setup check
multilogを利用した一日前の集計をメールにて通知するqmailanalogスクリプト

daemontoolsqlogtoolsが必要です。

currentから先日分のログのみ抽出し、yyyy-mm-dd.log形式で保存し
先日分の集計をqmailanalogにて処理し、メールにて通知します。

solarisのdateコマンドで一日前の日付を取得するには
TZ=JST+15 date '+%Y-%m-%d'
としています

日が変わった0:00以降に動くようにcrontabに登録する。
#!/bin/sh
MAILTO=[メールの送信先]
MAILFROM=[メール送信元]
PATH=/usr/local/qmailanalog/bin:/var/qmail/bin:/usr/local/bin:/usr/bin:$PATH
tmpdir=/tmp/qmail-cron.$$.$RANDOM
mkdir $tmpdir

DAYAGO=`env TZ=JST+15 date '+%Y-%m-%d'`

LOGDIR=/var/log/qmail

cat /var/log/qmail/current | tai64nlocal \
 | grep $DAYAGO > /var/log/qmail/$DAYAGO.log
  
cat /var/log/qmail/$DAYAGO.log | tai64n | awk '{$2="";$3="";print}' | tai64n2tai \
 | /usr/local/qmailanalog/bin/matchup >logfile 5>/dev/null


for ana in zoverall zddist zdeferrals zfailures zrhosts zsuids zrxdelay \
zsenders zrecipients zsuccesses; do
  echo "" >>result
  echo "-----------Result of $ana------------" >>result
  $ana 2>/dev/null >result
done
rm -f logfile

(echo "To: $MAILTO"
echo "From: $MAILFROM"
echo "Subject: mailstats for $DAYAGO"
echo ""
cat result )| qmail-inject -f $MAILFROM
rm -f result
rm -rf $tmpdir
qlogtools-3.1
http://untroubled.org/qlogtools/

solarisでmakeする情報
http://www.sa16.com/install_log/index.html

svcfns.cとteepipe.cにincludeされているfork.hをはずし、
instcheck.cのsys_errlist[errno]);をstrerror(errno));に変更

svcfns.c
// #include "fork.h"
teepipe.c
// #include "fork.h"
instcheck.c
static void diesys(const char* msg)
{
  fprintf(stderr, "installer error: %s:\n  %s\n", msg,
    strerror(errno));
  exit(1);
}

static void diefsys(const char* msg, const char* filename)
{
  fprintf(stderr, "installer error: %s '%s':\n  %s\n", msg, filename,
    strerror(errno));
  exit(1);
}
$ make
$ su
# ./installer
# ./instcheck
# ./instshow

IP Filterのストリームモジュールを調べていたら、FireWallを自作してしまうというページを見つけた。

Solaris でファイアーウォールを作ろう(FireWall)
http://www.whiteboard.ne.jp/~admin2/firewall1.html

う?む。すごすぎる

このサイトはたにきんの個人的なページです。

自分の備忘録ですので、ここに記されていることは一切保証がありません。

solaris x86でのインストールメモや、日記みたいなものを気が向いたときに更新します。

過去のページ

email
たにきん(谷本 浩)

最新はqmail-scanner-1.21ですね
http://qmail-scanner.sourceforge.net/

solarisでqmail-scanner使うのにsuidperlの導入でまずはまりますが
configure時に
SUIDPERL=/usr/local/bin/perl ./configure
とかするとsuidperlの代わりにperlで導入可能です。

意味があるか不明ですがどうしてもsuidperlを使いたい場合はsolarisにsuidperl導入成功の事例がありますのでご覧ください。

vpopmailでSpamAssassin

maildropからspamdを呼び出してます。

/etc/mailfilter作成
if ( $SIZE < 262144 )
{
        exception {
                xfilter "/usr/local/bin/spamc -f -u $EXT@$HOST"
        }
}

to "./Maildir/"
所有者をvpopmailに、パーミッションは600に
# chown vpopmail:vchkpw /etc/mailfilter
# chmod 600 /etc/mailfilter
バーチャルドメインユーザの.qmail
| /var/qmail/bin/preline /usr/local/bin/maildrop /etc/mailfilter
spamdの起動、solarisでspamdを使う場合--syslog-socket=inetが必要
spamd -d -a -v -u vpopmail --syslog-socket=inet
courier-imap-3.0.2
http://www.inter7.com/courierimap.html

認証はvpopmailのみ使用
$ CC=/usr/local/bin/gcc \
CPP=/usr/local/bin/cpp \
CFLAGS="-O3 -mcpu=i686" \
CPPFLAGS="-I/usr/local/include -I/usr/local/ssl/include \
-I/export/home/vpopmail/include" \
LDFLAGS="-R/usr/local/lib -R/usr/local/ssl/lib -L/usr/local/lib \
-L/usr/local/ssl/lib -R/usr/local/mysql/lib/mysql -L/usr/local/mysql/lib/mysql \
-R/export/home/vpopmail/lib -L/export/home/vpopmail/lib" \
./configure --without-authdaemon --without-authldap --without-authcram \
--with-authvchkpw --prefix=/usr/local/imapd \
--enable-unicode=iso-8859-1,utf-8,iso-8859-10 \
--without-authpam \
--without-authpgsql \
--without-authpwd \
--without-authuserdb

$ make
$ su
# make install
# make install-configure

起動スクリプトのコピー
# cp /usr/local/imapd/libexec/imapd.rc /etc/init.d/imapd.rc
# ln -s /etc/init.d/imapd.rc /etc/rc2.d/S99imapd
# ln -s /etc/init.d/imapd.rc /etc/rc2.d/K41imapd
vpopmailユーザにて起動するように/etc/init.d/imapd.rc編集
57行目付近のcouriertcpdのオプションに-user=vpopmail -group=vchkpwを追加
                /usr/local/imapd/libexec/couriertcpd -address=$ADDRESS \
                       -user=vpopmail -group=vchkpw \
                        -stderrlogger=${exec_prefix}/sbin/courierlogger \
                        -stderrloggername=imapd \
vpopmail-5.4.3

本家では5.4系の5.4.0が「vpopmail 5.4.0 is availble」となってます。
http://www.inter7.com/vpopmail.html

vpopmail日本語FAQ
http://qmail.visionmakers.net/vpopmail/faq.html

バーチャルドメインにおけるqmailの運用
http://www.atmarkit.co.jp/flinux/rensai/qmail06/qmail06c.html

vpopmail+MySQLによるバーチャルドメイン作成。
POP Before SMTP、APOP対応です。

ユーザ、グループ作成
solarisはidに100未満を指定すると警告がでるのでidは100以上に
# groupadd -g 189 vchkpw
# useradd -g vchkpw -u 189 -d /export/home/vpopmail vpopmail
make前にMySQLの設定

データベースはvpopmail
ユーザーはvpopmailuser
$ /usr/local/mysql/bin/mysql -u root -h localhost -p
> CREATE DATABASE vpopmail;
> GRANT select,insert,update,delete,create,drop ON vpopmail.*
> TO vpopmailuser@localhost IDENTIFIED BY 'パスワード';
設定ファイルvpopmail.mysql作成
# echo "localhost|0|vpopmailuser|パスワード|vpopmail" > /export/home/vpopmail/etc/vpopmail.mysql
# chown vpopmail:vchkpw ~vpopmail/etc/vpopmail.mysql
# chmod 640 /export/home/vpopmail/etc/vpopmail.mysql
rootでインストール
$ su
# CFLAGS="-O3 -mcpu=i686" \
LDFLAGS="-R/usr/local/lib -R/usr/lib -R/usr/local/mysql/lib/mysql -L/usr/lib \
-L/usr/local/lib -L/usr/local/mysql/lib/mysql" \
CPPFLAGS="-I/usr/local/include -I/usr/local/mysql/include/mysql -I/usr/include" \
CPP=/usr/local/bin/cpp \
LIBS="-R/usr/local/lib -R/usr/lib -R/usr/local/mysql/lib/mysql \
-L/usr/lib -L/usr/local/lib -L/usr/local/mysql/lib/mysql -lmysqlclient -lz" \
CC=/usr/local/bin/gcc ./configure \
--enable-roaming-users=y \
--enable-relay-clear-minutes=10 \
--enable-incdir=/usr/local/mysql/include/mysql \
--enable-libdir=/usr/local/mysql/lib/mysql \
--enable-libs=/usr/local/mysql/lib/mysql \
--enable-auth-module=mysql \
--enable-domainquotas=y \
--enable-auth-logging \
--enable-many-domains=n \
--enable-mysql-logging

# make
# make install-strip
# cp *.h /export/home/vpopmail/include 
なぜかヘッダファイルがコピーされないので、手動でコピる

設定ファイルdefaultdomainに指定されたドメインユーザは、
username@yourdomain.com ではなくusernameにて接続可能になる
# echo "yourdomain.com" > /export/home/vpopmail/etc/defaultdomain


tcpserver用tcp.smtp作成
/export/home/vpopmail/etc/tcp.smtp
127.0.0.1:allow,RELAYCLIENT=""
192.168.1.:allow,RELAYCLIENT=""
:allow
crontabにてPOP接続してきたリレー登録も10分で削除
0,10,20,30,40,50 * * * * /export/home/vpopmail/bin/clearopensmtp 2>&1 > /dev/null


qmailの起動スクリプト

tcpserver利用とログ取りにdaemontools付属のmultilogを使用しています。
multilogのオプションは、n10 で10世代保管、s10000000 で10Mでログの切り替え
# qmail
exec env - PATH="/var/qmail/bin:/usr/local/bin:$PATH" \
qmail-start ./Maildir/ | /usr/local/bin/setuidgid qmaill \
/usr/local/bin/multilog t n10 s10000000 /var/log/qmail &

# smtp
exec env - PATH="/var/qmail/bin:/usr/local/bin:$PATH" \
tcpserver -v -H -R -l0 -x /export/home/vpopmail/etc/tcp.smtp.cdb \
-u[qmaildのUID] -g[nofilesのGID] 0 smtp qmail-smtpd 2>&1 | \
/usr/local/bin/setuidgid qmaill \
/usr/local/bin/multilog t n10 s10000000 /var/log/smtp &

# pop3
exec env - PATH="/var/qmail/bin:/usr/local/bin:$PATH" \
tcpserver -v -H -R -l0 0 pop3 \
qmail-popup [サーバのFQDN] \
/export/home/vpopmail/bin/vchkpw qmail-pop3d Maildir 2>&1 |  \
/usr/local/bin/setuidgid qmaill \
/usr/local/bin/multilog t n10 s10000000 /var/log/pop3 &

ログ保管ディレクトリ作成
# mkdir /var/log/qmail
# mkdir /var/log/smtp
# mkdir /var/log/pop3
# chown qmaill /var/log/qmail
# chown qmaill /var/log/smtp
# chown qmaill /var/log/pop3
.qmail-defaultの注意点
vpopmai-5.2xからの移行で.qmail-defaultに管理者宛に転送設定で、
&info@hoge.com
などとローカルユーザに転送するとloopしてしまうので注意。vdelivermailを必ず使用すること。
| /export/home/vpopmail/bin/vdelivermail '' info@hoge.com
エラーメールをすべて削除するにはdeleteを使う
| /export/home/vpopmail/bin/vdelivermail '' delete
  • qmailqueue qmailqueue-patch


  • 環境変数「QMAILQUEUE」によるトリガを利用可能にするパッチ
    Qmail-Scannerとの組み合わせで使う
  • qregex http://www.unixpimps.org/software/qregex/

  • これはbadmailfromで正規表現が利用可能になるパッチ

    さらにbadmailtoという制御ファイルにより受信拒否する自側アカウントを指定できる。
    あてずっぽうでsalesとかsupportとかの存在しないアカウントにspamが届く場合に使う
tcpserver
http://www.jp.qmail.org/のqmail関連ツールなど
$ make
$ su
# make setup check
GDインストールのエラーがでるのでext/gd/libgdにあるgdft.cを編集
gdcache.hの部分を以下に変更
#include "gdcache.h"
#include <ft2build.h>
#include FT_FREETYPE_H
#include "freetype/ftglyph.h"
CC=/usr/local/bin/gcc \
CFLAGS="-O3 -mcpu=i686" \
LDFLAGS="-R/usr/local/lib -R/usr/lib -R/usr/local/mysql/lib/mysql \
-L/usr/lib -L/usr/local/lib -L/usr/local/mysql/lib/mysql" ./configure \
--with-apxs2=/usr/local/apache2/bin/apxs \
--with-imap --with-imap-ssl=/usr/local/ssl --with-gd --with-perl \
--with-openssl=/usr/local/ssl \
--with-mysql=/usr/local/mysql \
--enable-zend-multibyte --enable-mbstring --enable-mbregex \
--with-zlib-dir=/usr/local/lib \
--with-jpeg-dir=/usr/local/lib \
--with-freetype=/usr/local/lib \
--with-xpm-dir=/usr/local/lib \
--with-png-dir=/usr/local/lib \
--enable-gd-jis-conv \
--enable-gd-native-ttf \
--with-gettext --with-pear
http://httpd.apache.org/
httpd-2.0.49がリリースされてました
LDFLAGS="-R/usr/local/lib -L/usr/local/lib" \
CC=/usr/local/bin/gcc \
CFLAGS="-O3 -mcpu=i686" ./configure --enable-module=so \
--enable-rule=SHARED_CORE \
--enable-ssl --with-ssl=/usr/local/ssl --with-z=/usr/local/lib
パッケージで入れたもの
http://sunsite.sut.ac.jp/sun/solbin/より入手
bison-1.875-sol9-intel-local
bzip2-1.0.2-sol9-intel-local
expat-1.95.5-sol9-intel-local
flex-2.5.4a-sol9-intel-local
freetype-2.1.7-sol9-intel-local
gcc-3.3.2-sol9-intel-local
gdbm-1.8.3-sol9-intel-local
gzip-1.3.5-sol9-intel-local
libpcap-0.7.2-sol9-intel-local
m4-1.4-sol9-intel-local
make-3.80-sol9-intel-local
ncurses-5.3-sol9-intel-local
readline-4.3-sol9-intel-local
texinfo-4.3-sol9-intel-local
xpm-3.4k-sol8-intel-local※
※solaris8用を代用

ソースから入れたもの
http://www.gnu.org/などなど
autoconf-2.59
automake-1.8.3
gawk-3.1.3
gettext-0.14.1
grep-2.5
libiconv-1.9.2
libtool-1.5.2
maildrop-1.6.3
patch-2.5.4
procmail-3.22
rsync-2.6.0
tar-1.13
tcp_wrappers_7.6
tiff-v3.6.1
wget-1.9.1
zlib-1.1.4
http://www.washington.edu/imap/
よりimap-2004.RC7.tar.Z入手
$ make gso SSLTYPE=unix
$ su
# cd c-client
# cp c-client.a /usr/local/lib/libc-client.a
# cp c-client.h rfc822.h utf8.h mail.h linkage.h mail.h osdep.h misc.h rfc822.h smtp.h nntp.h \
env_unix.h fs.h ftl.h nl.h tcp.h flocksim.h imap4r1.h env.h /usr/local/include
http://coombs.anu.edu.au/ipfilter/
solarisでip_fil4.1を使うには ストリーム・モジュールインターフェースpfilをあらかじめインストールする必要があるようで、結構はまりました。
まだ不具合があるやもしれないので本ちゃんのルータではまだ使ってません(^^;
pfil-2.1.1.tar.gzのありか
http://coombs.anu.edu.au/~avalon/ipf-mentat.html
例によってパッケージによるインストールなので/usr/ccs/bin/makeを使います。
$ CC=gcc /usr/ccs/bin/make
$ su
# /usr/ccs/bin/make install
再起動

デバイスのストリームを構成する
# strconf < /dev/iprb
iprb
デバイスの現在のデバイス状態確認
# ifconfig iprb0 modlist
0 arp
1 ip
2 iprb
インストールしたpfilモジュールをインターフェースiprbとipモジュールの間に挿入します。
pfil@2というのは追加位置を表します。
# ifconfig iprb0 modinsert pfil@2
ifconfig <if> modlistにて間に挿入されたことを確認します。
# ifconfig iprb0 modlist
0 arp
1 ip
2 pfil
3 iprb
以下は確認?
# ndd /dev/pfil qif_status
ifname ill q OTHERQ num sap hl len nr nw bad copy drop notip nodata notdata
iprb0    f665d174 f6424df0 f6424e6c 0 800 14 0 2 1 0 0 0 1 0 2

# ndd /dev/pfil \?


ここからようやくIP Filterのインストール
STATETOPを使うようMakefileを編集
ncursesだとmakeできず、curses使用
変更点
CC=gcc
CFLAGS=-O2 -I$$(TOP) 
STATETOP_CFLAGS=-DSTATETOP
STATETOP_INC=-I/usr/include
STATETOP_LIB=-L/usr/lib -R/usr/lib -lcurses
$ /usr/ccs/bin/make solaris
$ cd SunOS5
$ su
# /usr/ccs/bin/make package
http://www.jp.qmail.org/のqmail関連ツールなど

本来のdaemontoolsの利用はしないのだが、付属しているmultilogやtai64nlocalなどを使うためコマンド関係のみインストールしました。
ふつうに導入するとルートディレクトリにパッケージ類が導入されますが、それを防ぎます。
ソースのありかdaemontools-0.76.tar.gzのあるところでの作業です。
# mkdir daemontools-0.76
# cd daemontools-0.76
# tar xvzf ../daemontools-0.76.tar.gz
# cd admin/daemontools-0.76
# package/compile
これでcommandディレクトリに実行ファイルが作成されたので、/usr/local/binに実行ファイルをコピーします。
# for i in `cat package/commands` ; do /usr/sbin/install -c /usr/local/bin \
-m 755 -u root -g root command/$i ; done
http://www.sleepycat.com/
$ tar xvzf db-4.2.52.tar.gz
$ cd db-4.2.52/build_unix
$ CC=/usr/local/bin/gcc CFLAGS=-O3 ../dist/configure --prefix=/usr/local --enable-shared
$ make
$ su
# make install
http://www.vim.org/

日本語マルチバイトを使えるようにし、GUIは使わない
$ bunzip2 vim-6.2.tar.bz2
$ tar xvf vim-6.2.tar
$ cd vim62
$ ./configure --enable-multibyte --disable-gui
$ make
$ su
# make install
.vimrcの設定はいろいろ情報をあさったが、結局これで落ち着いた
ロケールの状態などにより不具合があるかも
set history=50
set ruler
set showcmd

" ステータスラインの設定、エンコード、改行コード、文字コードなどを表示
set laststatus=2
set statusline=[%n]\ %t\ %y%{GetStatusEx()}%m%r%=0x%B\ %l,%c%V\ \ \ \ %P

" 検索文字列が小文字の場合は大文字小文字を区別なく検索する(noignorecase)
set ignorecase
" 検索文字列に大文字が含まれている場合は区別して検索する(nosmartcase)
set smartcase
" 検索時に最後まで行ったら最初に戻る(同じ)
set wrapscan
" 検索文字列入力時に順次対象文字列にヒットさせない(同じ)
set noincsearch

set encoding=euc-jp
set fileencodings=ucs-bom,iso-2022-jp,utf-8,sjis,euc-jp,latin1

" --------------------
" 関数の定義
" --------------------
" 文字エンコーディングと改行コードの取得
function! GetStatusEx()
    let str = &fileformat
    if has("multi_byte") && &fileencoding != ""
        let str = &fileencoding . ":" . str
    endif
    let str = "[" . str . "]"
    return str
endfunction
utf-8編集ができるのはありがたいが、ちと重い感じがする。
euc-jpだけ使うならjelvisで十分かな
本家のマニュアル
http://www.mysql.com/doc/ja/index.html
変更はmysql.sockを/usr/local/mysql/tmp/mysql.sockにしたくらい
$ LDFLAGS="-R/usr/local/lib -L/usr/local/lib" \
CPPFLAGS="-I/usr/local/include -I/usr/include" \
CC=/usr/local/bin/gcc \
CXX=/usr/local/bin/c++ \
CXXFLAGS="-O3 -mcpu=i686" \
CFLAGS="-O3 -mcpu=i686" ./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-unix-socket-path=/usr/local/mysql/tmp/mysql.sock

$ make
$ su
# make install
ユーザの作成
# groupadd mysql
# useradd -g mysql mysql
初期設定
# scripts/mysql_install_db
# mkdir /usr/local/mysql/tmp
# chown -R root  /usr/local/mysql
# chown -R mysql /usr/local/mysql/var
# chown -R mysql /usr/local/mysql/tmp
# chgrp -R mysql /usr/local/mysql
# cp support-files/my-medium.cnf /etc/my.cnf
起動してみる
/usr/local/mysql/bin/mysqld_safe --user=mysql &
rootのパスワード設定
$ /usr/local/mysql/bin/mysql -u root mysql
> SET PASSWORD FOR root@localhost=PASSWORD('パスワード');
> SET PASSWORD FOR root@<ホスト名>=PASSWORD('パスワード');
以降アクセス時にはホスト名、パスワードの指定が必要
# /usr/local/mysql/bin/mysql -u root -h localhost -p mysql
起動スクリプトをコピる
# cp /usr/local/mysql/share/mysql/mysql.server /etc/init.d
# ln -s /etc/init.d/mysql.server /etc/rc2.d/S90mysql
# ln -s /etc/init.d/mysql.server /etc/rc2.d/K40mysql
$ ./config
Makefile編集。CFLAGの-m486を-mcpu=i686に変更
CFLAG= -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN \
-DHAVE_DLFCN_H -DOPENSSL_NO_KRB5 -O3 -fomit-frame-pointer \
-mcpu=i686 -Wall -DL_ENDIAN -DOPENSSL_NO_INLINE_ASM \
-DSHA1_ASM -DMD5_ASM -DRMD160_ASM
$ make
$ su
# make install
http://www.clamav.net/

Clam Antivirusに関するメモ
http://homepage.mac.com/proc/clamav.html

グループ&ユーザ作成
# groupadd -g 503clamav
# useradd -u 503 -g clamav -s /bin/false clamav
$ LDFLAGS="-R/usr/local/lib -R/usr/lib -L/usr/local/lib -L/usr/lib" \
LD_RUN_PATH="/usr/local/lib:/usr/lib" \
CFLAGS="-O3 -mcpu=i686" \
CC=/usr/local/bin/gcc ./configure

$ LD_RUN_PATH="/usr/local/lib:/usr/lib" \
LDFLAGS="-R/usr/local/lib -R/usr/lib -L/usr/local/lib -L/usr/lib" make
$ su
# make install
ウィルスDBパターン更新
# touch /var/log/clam-update.log
# chmod 644 /var/log/clam-update.log
# chown clamav /var/log/clam-update.log
# /usr/local/bin/freshclam  -l /var/log/clam-update.log
http://www.boutell.com/gd/
$ LDFLAGS="-R/usr/local/lib -L/usr/local/lib" \
CFLAGS="-O3 -mcpu=i686 -DJISX0208" ./configure \
--with-libiconv-prefix=/usr/local \
--with-freetype=/usr/local/lib \
--with-jpeg=/usr/local/lib \
--with-png=/usr/local/lib \
--with-xpm=/usr/local/lib

$ make
$ su
# make install
ちなみに旧バージョンgd-2.0.11やPHPバンドルのGDでmake時に
freetype.h:20:2: #error "`ft2build.h' hasn't been included yet!"
freetype.h:21:2: #error "Please always use macros to include FreeType header files."
freetype.h:22:2: #error "Example:"
reetype.h:23:2: #error "  #include <ft2build.h>"
freetype.h:24:2: #error "  #include FT_FREETYPE_H"
make[2]: *** [gdft.lo] Error 1
なるエラーに見舞われたときはgdft.cを編集して
#include "gdcache.h"
#include <ft2build.h>
#include FT_FREETYPE_H
#include "freetype/ftglyph.h"
とする必要がありましたが、この部分は訂正されているようです。
nkf のページhttp://www.ie.u-ryukyu.ac.jp/~kono/nkf/
Maikefile編集
CC = gcc
CFLAGS = -O3
$ make
$ make test
$ su
# /usr/sbin/install -c /usr/local/bin -m 755 -u root -g root nkf
perlモジュールのインストール
$ make perl
$ cd NKF.mod
$ perl Makefile.PL
$ make
$ make test
$ su
# make install

http://www.ijg.org/

$ CFLAGS=-O3 ./configure --enable-shared --enable-static
$ make
$ su
# make install

http://www.libpng.org/pub/png/libpng.html

scripts/makefile.so9編集、70行目くらいの-KPICを-fPICに変更

.c.pic.o:
$(CC) -c $(CFLAGS) -fPIC -o $@ $*.c

$ make -f scripts/makefile.so9 CC=gcc ZLIBLIB=/usr/local/lib ZLIBINC=/usr/local/include
$ su
# make install

perl5.8.3を入れる。

qmail-Scanner用にsuidperlも導入
suidperlをsolarisに入れて意味があるか不明ですけどね(^^;

$ sh Configure -Dcc=gcc -Doptimize="-O3" -de -Dd_dosuid \
-Dldflags="-L/usr/local/lib -R/usr/local/lib" \
-Dusethreads

Maikefile編集
sperlの$(CCCMD)の部分を-DIAMSUIDから-DSETUID_SCRIPTS_ARE_SECURE_NOWに変更

# $(CCCMD) -DIAMSUID sperl.c
  $(CCCMD) -DSETUID_SCRIPTS_ARE_SECURE_NOW sperl.c
$ make
$ make test
$ su
# make install

このアーカイブについて

このページには、2004年3月に書かれたブログ記事が新しい順に公開されています。

次のアーカイブは2004年4月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

ウェブページ

Powered by Movable Type 4.22-ja