サーバ構築の最近のブログ記事

squidGuardインストール

| コメント(0)

squidGuard(アクセス制限アドイン)のインストール方法を忘れないように記述しておく。

○squidGuard
 http://www.squidguard.org/
 Berkeley DBが必要

○インストール方法
1) 上記公式サイトより、ソースファイルをダウンロード・ソース展開
2) コンパイルエラーが出るため、ソースファイルの一部を修正する
--- src/sgDb.c.orig 2004-03-09 03:45:59.000000000 +0100
+++ src/sgDb.c 2004-03-09 03:48:43.000000000 +0100
@@ -98,13 +98,13 @@
if(createdb)
flag = flag | DB_TRUNCATE;
if ((ret =
- Db->dbp->open(Db->dbp, dbfile, NULL, DB_BTREE, flag, 0664)) != 0) {
+ Db->dbp->open(Db->dbp, NULL, dbfile, NULL, DB_BTREE, flag, 0664)) != 0) {
(void) Db->dbp->close(Db->dbp, 0);
sgLogFatalError("Error db_open: %s", strerror(ret));
}
} else {
if ((ret =
- Db->dbp->open(Db->dbp, dbfile, NULL, DB_BTREE, DB_CREATE, 0664)) != 0) {
+ Db->dbp->open(Db->dbp, NULL, dbfile, NULL, DB_BTREE, DB_CREATE, 0664)) != 0) {
sgLogFatalError("Error db_open: %s", strerror(ret));
}
}
3) コンパイルする
#./configure --with-db=/usr
# make
# make install
※/usr/local/binへインストールされます。
4) SquidGuardが使用するディレクトリを作成する
#mkdir /usr/local/squidGuard
#mkdir /usr/local/squidGuard/log …ログを格納する場所
#mkdir /usr/local/squidGuard/db …サイトリストを格納する場所
5) ブラックリストの設置
ブラックリストを公式サイトよりダウンロードして、展開します。
#cd /tmp
#wget http://ftp.tdcnorge.no/pub/www/proxy/squidGuard/contrib/blacklists.tar.gz
#tar zxvf blacklists.tar.gz
#cd blacklists
#cp -Rf * /usr/local/squidGuard/db/
※定期的に更新するようなスクリプトを組むとなお良い。
6) ローカルルールを作成します。
上記ブラックリストとは別にローカルルールを設定します。
#cd /usr/local/squidGuard/db/
#mkdir local
・ドメインリスト
#cd /usr/local/sqidGuard/db/local/
#vi domains
[/usr/local/sqidGuard/db/local/domains]
www.***.co.jp
www.***.com
www.aaa.***.jp
etc…

※ユーザーが個々に指定する接続拒否サイトを作成
・URLリスト
#cd /usr/local/sqidGuard/db/local/
#vi urls
[/usr/local/sqidGuard/db/local/urls]
***.or.jp/test/index.html
***.co.jp/web/test.html
etc…

※url の先頭の www は記載しない
・例外サイト
#cd /usr/local/sqidGuard/db/local/
#vi exceptions
[/usr/local/sqidGuard/db/local/exceptions]
www.aaaa.cp.jp/ccc/sss/index.html
sss.ccc.or.jp/~test/
eee.bbb.jp/oo/dsd.htm
etc..

※ブラックリストに定義されているサイトの内、閲覧を許可するサイトを指定
7) アクセス権の設定
squidの実行ユーザに権限を変更する。
#cd /usr/local/
#chown -R squid:squid squidGuard
8) squidGuard.confの設定
SquidGuard.confの設定を行います。設定オプションは大量にあるので、とりあえず下記のように設定した。
#vi /usr/local/squidGuard/squidGuard.conf
logdir /usr/local/squidGuard/log

dbhome /usr/local/squidGuard/db

#クライアントグループの宣言
# 管理者端末
src kanri {
ip 192.168.0.1
ip 192.168.0.2
}
# 接続拒否
src ng {
ip 192.168.7.0/24
}

# 例外サイトの定義(URLフィルタに登録しているが一部のみ閲覧を許可したい場合の設定)
dest ok {
expressionlist local/exceptions
}

#各カテゴリ毎のリストの指定
# ローカル設定
dest local {
domainlist local/domains
urllist local/urls
}
# 人種的偏見に関する内容を含むサイト
dest aggressive {
domainlist aggressive/domains
urllist aggressive/urls
}
# ドラッグに関する内容を含むサイト
dest drugs {
domainlist drugs/domains
urllist drugs/urls
}
# ハッキングに関する内容を含むサイト
dest hacking {
domainlist hacking/domains
urllist hacking/urls
}
# 不適切と判断されたメールを配送するサイト
dest mail {
domainlist mail/domains
}
# 不正中継等を行うプロキシサーバ
dest proxy {
domainlist proxy/domains
urllist proxy/urls
}
# 著作権侵害の内容を含むサイト
dest warez {
domainlist warez/domains
urllist warez/urls
}
# 広告(バナー広告など)
dest ads {
domainlist ads/domains
urllist ads/urls
}
# 多くの帯域幅を使用するオーディオ・ビデオを扱うサイト
dest audio-video {
domainlist audio-video/domains
urllist audio-video/urls
}
# 賭博に関連する内容を含むサイト
dest gambling {
domainlist gambling/domains
urllist gambling/urls
}
# ポルノを扱うサイト
dest porn {
domainlist porn/domains
urllist porn/urls
expressionlist porn/expressions
}
# 暴力と嫌悪的な内容を含むサイト
dest violence {
domainlist violence/domains
urllist violence/urls
expressionlist violence/expressions
}

#アクションの定義
acl {
kanri {
pass all
}
ng {
pass none
}
default {
pass ok !local !aggressive !drugs !hacking !mail !warez !ads !audio-video !gambling !porn !violence all
redirect http://www.***.jp/cgi-bin/squidGuard.cgi
}
}


squidGuard.cgiは、ソースファイルの「samples」ディレクトリにサンプルファイルがあるので、適切に変更を行った後、設置すること。(他のURLを指定しても可)
9) squidの設定
squidの起動と同時にSquidGuardを起動するため、squid.confへ下記のような設定を行います。
# TAG: redirect_program
# Specify the location of the executable for the URL redirector.
# Since they can perform almost any function there isn't one included.
# See the FAQ (section 15) for information on how to write one.
# By default, a redirector is not used.
#
#Default:
# none
redirect_program /usr/local/bin/squidGuard -c /usr/local/squidGuard/squidGuard.conf

10) squidを再起動する

postfix関連のコマンド

| コメント(0)

忘れないために、postfix関連の便利なコマンドを記録しておく。

○設定を確認する
#postconf -n
現在の設定値を確認することができます。
○デフォルトの設定値を確認する
#postconf -d
postfixのデフォルト値を確認できます。
○キューの状態を確認する
#postqueue -p
"mailq"コマンドと同じだが、キューの現状を確認できる。
○キュー内のメールを強制的に再送する
#postqueue -f
キュー内のメールを強制的に再送処理します。
○キューを削除する
#postsuper -d queue_id
queue_idのキューを削除します。全てを削除する場合は、
#postsuper -d ALL
とする。

それぞれのコマンドの詳細については、manを参照すること。

PHPでExcel出力

| コメント(0)

PHPでExcelファイルを出力する方法を忘れないように記載しておく。

○準備
PEARの「Spreadsheet_Excel_Writer」というクラスを利用するため、事前にインストールしておく。
(2006/01/12時点では、Betaなのでチャンネルを指定してインストールする必要有)
なお、PEAR::OLEクラスも必要になるようだ。(これまたBeta..)

詳しくは、Package Information: Spreadsheet_Excel_Writerを参照のこと。

○使用方法
phpのソースにてクラスを宣言してから使用すること。
サンプルスクリプトは、下記の通り。
<?php
require_once'Spreadsheet/Excel/Writer.php';
$workbook = new Spreadsheet_Excel_Writer();
$tablename = "sample_sheet";
$worksheet =& $workbook->addWorksheet($tablename);

$format =& $workbook->addFormat();
$format->_font_name = mb_convert_encoding("MS UI Gothic", "shift_jis");

for($i=0;$i<100;$i++){
for($j=0;$j<100;$j++){
$worksheet->write($i,$j,"test"); // セルに書き込み
}
}

$workbook->send("test.xls"); // test.xlsに書き込み。
$workbook->close();
?>

○使用上の注意
まだBetaなので、そのあたりを考えて使用すること。
サーバ負荷はある程度高そうなので、大容量のデータ作成には向かないようだ。

Vine Linux aptでkernelが!

| コメント(0)

以前までは、"apt-upgrade"ではkernelのアップグレードは行われなかったのですが、
今回の2.4.31-0vl1.10からアップグレードできるようになったようです。

ただ、相変わらず、lilo.confの編集やmkinitrdは必要です。
また、smp環境ではapt-upgradeでのアップグレードはおこなえず、今までどおり"apt-get"する
必要がありました。

なんか中途半端ですねぇ〜 (-_-;)

Vine3.2

| コメント(0)

Vine Linuxが3.2にバージョンアップしました。
クライアントとして使うには、日本語環境がしっかりしていますので、お勧めです。

#サーバ用途にはちょっとつらいですが...

Debian 3.1

| コメント(0)

長いことDebianの新リリースがありませんでしたが、やっと3.1(sarge)のリリースが6/6にありました。
約3年近くリリースがありませんでしたので、どのくらい変わったかそのうち試してみたいものです。

Vine Linux カーネルアップデート

| コメント(0)

忘れないためにVine LinuxのKernelアップデートの方法を書いておきます。
(for Vine Linux 3.1)

1) 現在のKernelのバージョン確認

# uname -r

2) 提供されているカーネルのバージョンを確認

# apt-get install kernel
  kernel-smp#2.4.27-0vl7.4 2.4.27-0vl7.4 [インストール済]
  kernel-smp#2.4.27-0vl7.3 2.4.27-0vl7.3 [インストール済]
  kernel-smp#2.4.27-0vl7.2 2.4.27-0vl7.2
  kernel-smp#2.4.26-0vl16 2.4.26-0vl16
  kernel-BOOT#2.4.27-0vl7.4 2.4.27-0vl7.4
  kernel-BOOT#2.4.27-0vl7.3 2.4.27-0vl7.3
  kernel-BOOT#2.4.27-0vl7.2 2.4.27-0vl7.2
  kernel-BOOT#2.4.26-0vl16 2.4.26-0vl16
  kernel#2.4.27-0vl7.4 2.4.27-0vl7.4 [インストール済]
  kernel#2.4.27-0vl7.3 2.4.27-0vl7.3 [インストール済]
  kernel#2.4.27-0vl7.2 2.4.27-0vl7.2
  kernel#2.4.26-0vl16 2.4.26-0vl16
  kernel22-smp#2.2.20-0vl10 2.2.20-0vl10
  kernel22#2.2.20-0vl10 2.2.20-0vl10
  kernel-smp#2.4.27-0vl7 2.4.27-0vl7
  kernel-BOOT#2.4.27-0vl7 2.4.27-0vl7
  kernel#2.4.27-0vl7 2.4.27-0vl7

 ※インストール済みのものは、"[インストール済]"と表示される

3) カーネルをインストールする

例)
# apt-get install kernel#2.4.27-0vl7.4

※smp構成の場合は、smpのものインストールすることを忘れずに

4) headers,source,doc等のインストール

例)
# apt-get install kernel-headers

5) initrdの作成(必要な場合)

例)
# mkinitrd /boot/initrd-2.4.27-0vl7.4.img 2.4.27-0vl7.4

※smp構成の場合は、smp用も作成すること
例)
# mkinitrd /boot/initrd-2.4.27-0vl7.4smp.img 2.4.27-0vl7.4smp

6) lilo.confの編集

新カーネルをliloに含めて、新カーネルで起動できるようにする
# vi /etc/lilo.conf

基本的には既存のものをコピーして作成し、label,image,initrd等を編集する
prompt
timeout=50
default=linux
boot=/dev/hda
map=/boot/map
install=menu
message=/boot/message

image=/boot/vmlinuz-2.4.27-0vl7.4smp
label=linux
initrd=/boot/initrd-2.4.27-0vl7.4smp.img
read-only
root=/dev/hda2
append="apm=on resume2=swap:/dev/hda3"

image=/boot/vmlinuz-2.4.27-0vl7.4
label=linux-up
initrd=/boot/initrd-2.4.27-0vl7.4.img
read-only
root=/dev/hda2
append="apm=on resume2=swap:/dev/hda3"

image=/boot/vmlinuz-2.4.27-0vl7.3smp
label=linux.old
initrd=/boot/initrd-2.4.27-0vl7.3smp.img
read-only
root=/dev/hda2
append="apm=on resume2=swap:/dev/hda3"

image=/boot/vmlinuz-2.4.27-0vl7.3
label=linux-up.old
initrd=/boot/initrd-2.4.27-0vl7.3.img
read-only
root=/dev/hda2
append="apm=on resume2=swap:/dev/hda3"

7) liloの書き込み

lilo.confの編集結果を書き込みます
# lilo -v

8) 再起動

新カーネルを有効にするために再起動します
# reboot

再起動後に、起動メッセージの確認等の確認を行うこと。
(特にハードウェアを自力認識させている場合は、再認識させる必要がある場合が多い)

Linuxディストリビューション

| コメント(0)

RedHatの無償版がなくなってしばらくたちますが、未だにどのディストリビューションがよいのか迷っています。
過去を考えると、Turbolinux→RedHatときましたが、どれがよいのか悩ましいところです。
Debian('sarge')が安定版になるのをとりあえず心待ちにしています。

#FreeBSDに戻ろうかなぁ〜(-_-;)

   1   2   3

2010年9月

      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    

アーカイブ

OpenID対応しています OpenIDについて
Powered by Movable Type 4.25
 
 

このアーカイブについて

このページには、過去に書かれたブログ記事のうちサーバ構築カテゴリに属しているものが含まれています。

前のカテゴリはお知らせです。

次のカテゴリは日記です。

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