2008年2月23日土曜日

squid 設定

Zopeの管理画面からRoot フォルダに「Virtual Host Monster」を Addする。

Zopeの管理画面には、http://localhost/manageで入れる。
管理画面を開き、RootFolderに移動する。右上のリストアイテムを選択する場所でVirtual Host Monsterを選択し、Addボタンを押す。Idは適当で良い。

squid.confを書く。ファイルは長大ですが、各部分はほとんどなく、大部分がコメント。
設定例はこちら。http://amzn1.blogspot.com/2008/02/squid_22.html

squid.confの訳はこちらから。http://squid.robata.org/squid2.0-conf.html


pyredirの設定
/use/local/squid/etc/pyredir.conf

^http://example.jp[/]?(.*)$ =http://localhost:8080/VirtualHostBase/http/example.jp:8081/VirtualHost
Root/\1
ploneのサイトはポート8080で、squidはポート8081で動いています。

squid.confを設定後、
# /usr/local/squid/sbin/squid -k parse
を実行します。
squid.conf の記述が正しければ何も表示されませんが、誤りがあればエラーメッセージが表示されます。

次にキャッシュエリアを確保します。
# mkdir -p /usr/local/squid/var/cache ← cache_dir で指定したディレクトリ
# chown -R squid:squid /usr/local/squid/var
# /usr/local/squid/sbin/squid -z
キャッシュエリアの所有者がsquid:squidになるようにしておきます。


Squidを起動します。起動コマンドは
# /usr/local/squid/sbin/RunCache & または
# /usr/local/squid/bin/squid -NCd1
です。参照→http://amzn1.blogspot.com/2008/02/squid.html


参考サイト
SquidとZopeの連携 http://www005.upp.so-net.ne.jp/nakagami/Memo/Squid.html

squid インストール

squidをソースからコンパイル、インストールします。

wgetコマンドでsquid-2.5.STABLE14.tar.gzをダウンロード。


ダウンロードサイトはこちら→http://www1.uk.squid-cache.org/Versions/v2/2.5/
wget http://www1.uk.squid-cache.org/Versions/v2/2.5/squid-2.5.STABLE14
.tar.gz
ダウンロードできたらコンパイル&インストール。
# tar zxvf squid-2.5.STABLE14.tar.gz
# cd squid-2.5.STABLE5
# ./configure
# make
# make install

続けてリダイレクタをダウンロード、インストールします。本家にはないので、こちらからダウンロードする。
wget http://www.its.rigaku.kyoto-u.ac.jp/global/index.php?plugin=attach&refer
=Zope%2FZope%A4%CEhttps%C2%D0%B1%FE&openfile=pyredir-0.2
9.tar.bz2

# bzip2 -d pyredir-0.27.tar.bz2
# tar xvf pyredir-0.27.tar
# cp pyredir-0.27/pyredir /usr/local/squid/


squid http://www.squid-cache.org/
squid日本語版 http://www.j-one.ne.jp/squid-cache/

参考サイト
SquidとZopeの連携 http://www005.upp.so-net.ne.jp/nakagami/Memo/Squid.html

Zopeのhttps対応 http://www.its.rigaku.kyoto-u.ac.jp/global/index.php?Zope%2FZope%
A4%CEhttps%C2%D0%B1%FE

2008年2月22日金曜日

squid.conf

squidが起動できたときの設定ファイル例です。

squid.conf
visible_hostname ***.***.***.*** (URL)
httpd_accel_host localhost
httpd_accel_port 8080 (ポート8080のページのキャッシュサーバーとして働かせる。)
httpd_accel_single_host on
httpd_accel_uses_host_header on
coredump_dir /usr/local/squid/var/cache
cache_access_log /usr/local/squid/var/logs
/access.log
cache_log /usr/local/squid/var/logs/cache.log
cache_store_log /usr/local/squid/var/logs/store.log
logfile_rotate 10

2008年2月10日日曜日

Better Gmail

Gmailが便利に使えるFirefoxのアドオンです。簡単にインストール、設定ができて、機能もかなり便利。

・Gmailの下にGoogleReaderを表示できる。



















・大きなキーボードショートカットキー「h」が表示できる
















・常にhttps接続でセキュリティーが高まる。


・スキンが変えられる。これはMac風です。














他にも30種類以上の機能拡張ができるようです。
ダウンロードはここから。
https://addons.mozilla.org/ja/firefox/addon/4866
2008年2月10日の時点で、最新版はバージョン1.1.2-2007年11月29日です。


参考サイト
http://google-mania.net/archives/312
画像もここのものを使用しています。

2008年2月9日土曜日

squidの起動コマンド

通常
# /usr/local/squid/sbin/RunCache &

直接 squid を起動せずに RunCache を起動する理由は、なんらかの原因で squid が死んでしまっても、 RunCache がそれをチェックして再び起動し直してくれるから


ログ情報を標準エラー出力にも出力する
# /usr/local/squid/bin/squid -NCd1

Squidが正しく動作できるよう準備が整っていると以下のようなログ情報が出力されるはず。

2001/10/11 18:55:26| Starting Squid Cache version 2.4.STABLE2 for i686-pc-linux-gnu...
2001/10/11 18:55:26| Process ID 5346
2001/10/11 18:55:26| With 1024 file descriptors available
2001/10/11 18:55:26| Performing DNS Tests...
2001/10/11 18:55:26| Successful DNS name lookup tests...
2001/10/11 18:55:26| DNS Socket created on FD 4
2001/10/11 18:55:26| Adding nameserver 192.168.1.1 from /etc/resolv.conf
2001/10/11 18:55:26| Unlinkd pipe opened on FD 9
2001/10/11 18:55:26| Swap maxSize 102400 KB, estimated 7876 objects
2001/10/11 18:55:26| Target number of buckets: 393
2001/10/11 18:55:26| Using 8192 Store buckets
2001/10/11 18:55:26| Max Mem size: 8192 KB
2001/10/11 18:55:26| Max Swap size: 102400 KB
2001/10/11 18:55:26| Rebuilding storage in /usr/local/squid/cache (DIRTY)
2001/10/11 18:55:26| Using Least Load store dir selection
2001/10/11 18:55:26| Set Current Directory to /usr/local/squid/cache
2001/10/11 18:55:26| Loaded Icons.
2001/10/11 18:55:26| Accepting HTTP connections at 0.0.0.0, port 3128, FD 10.
2001/10/11 18:55:26| Accepting ICP messages at 0.0.0.0, port 3130, FD 11.
2001/10/11 18:55:26| WCCP Disabled.
2001/10/11 18:55:26| Ready to serve requests.
2001/10/11 18:55:26| Done scanning /usr/local/squid/cache swaplog (0 entries)
2001/10/11 18:55:26| Finished rebuilding storage from disk.
2001/10/11 18:55:26| 0 Entries scanned
2001/10/11 18:55:26| 0 Invalid entries.
2001/10/11 18:55:26| 0 With invalid flags.
2001/10/11 18:55:26| 0 Objects loaded.
2001/10/11 18:55:26| 0 Objects expired.
2001/10/11 18:55:26| 0 Objects cancelled.
2001/10/11 18:55:26| 0 Duplicate URLs purged.
2001/10/11 18:55:26| 0 Swapfile clashes avoided.
2001/10/11 18:55:26| Took 0.5 seconds ( 0.0 objects/sec).
2001/10/11 18:55:26| Beginning Validation Procedure
2001/10/11 18:55:26| Completed Validation Procedure
2001/10/11 18:55:26| Validated 0 Entries
2001/10/11 18:55:26| store_swap_size = 84k
2001/10/11 18:55:27| storeLateRelease: released 0 objects

Ready to serve requestsというメッセージが出ていればひとまずOK。キャッシュ用のディレクトリやログファイルのための準備ができているというということになります。


参考
http://nos-takamatsu.ddo.jp/linux/redhat/squid1.html
http://arika.org/doc/sd.200112

Ubuntu Users Japan

Ubuntu Users Japanというサイトが立ち上がったようです。
http://ubuntu-users.info/

Ubuntuに関するニュースやブログの更新情報や質問が主な内容みたいです。
メンバー登録すると更に色々な情報が見られるらしいです。

FAQの中にあるRAQ(Rarely asked questions)=滅多にない質問のコーナー がくだらなくて面白い。

RAQへはここから。
http://ubuntu-users.info/modules/smartfaq/category.php?categoryid=9

DNSサーバーのlogging

DNSサーバーの起動に関するログを吐き出させるために、named.confに書き加えておく。

logging {
channel "log_default" {
file "/var/log/named.log" versions 7 size 10m;
severity info;
print-time yes;
print-category yes;
};
channel "log_security" {
file "/var/log/security.log" versions 3 size 10m;
severity info;
print-time yes;
print-category yes;
};
category default { "log_default"; };
category security { "log_security"; };
category client { "log_security"; }

ログのチャンネルやサイズは好みで。





参考サイト
http://www.atmarkit.co.jp/flinux/rensai/bind909/bind909a.html
http://www.atmarkit.co.jp/flinux/rensai/bind910/bind910a.html

DNSサーバーをchroot環境で運用

今までの/var/namedとは別の/var/namedを作成する。

# mv /var/named /var/named_old
# mkdir /var/named

/var/named以下にchroot環境を作成する。

# cd /var/named
# mkdir -p dev etc/named var/run/named var/log

必要なファイルをコピーする。
# cd /var/named/etc/
# cp /etc/named.conf .
# cp /etc/localtime .
# mv /etc/named.conf /etc/named.conf.old

ゾーンファイルもコピー。
# cd /var/named/var/named/
# cp /var/named_old/*.* /var/named/var/named/.

treeコマンドでこうなる。
/var/named# tree
.
|-- dev
|  |-- null
|  `-- random
|-- etc
|  |-- localtime
|  |-- named
|  |  |-- localhost.rev.bak
|  |  |-- localhost.zone.bak
|  |  `-- named.root
|  `-- named.conf
`-- var
  |-- log
  |  |-- named.log
  |  `-- security.log
  `-- run
     `-- named

/var/namedへのアクセスを制限するために、権限をnamedにする。
# cd /var/
# chown -R named.named named
# chmod 700 /var/named

dev/にデバイスアイルを作成。デバイスファイルはゴミ箱のようなもの。
# cd /var/named/dev/
# mknod null c 1 3
# mknod random c 1 8
# chmod 666 *

named.confは基本的に変更しない。pidファイルの位置だけ記入する。
pidファイルはDNSサーバが起動しているときだけ/var/named/var/run/namedに生成される。

pid-file "/var/run/named/named.pid"

起動コマンド
#/usr/local/sbin/named -u named -t /var/named
-uオプションでユーザーを指定。-tオプションでホームディレクトリを指定。

-tオプションが利いているため、named.confのpidファイルの位置は
/var/named/var/run/named/named.pid
と解釈される。


参考サイト
http://www.atmarkit.co.jp/flinux/rensai/bind909/bind909a.html

Ploneのポータルタブの追加

ZMIから、Plone/portal_actions

一番下にあるadd an actionで項目を記入してAddボタンを押す。

* Name アクションの名前(表示される文字列)を指定します。日本語の指定も可能。
* Id アクションのIdを指定します。英数字のみが使用できます。
* Action アクションとして何が実行されるかを指定します。string:$portal_url/****など。
* Condition このアクションを実行可能とする条件がある場合は記述します。
* Permission アクションを実行できる権限を設定します。誰でも実行可能なので View を指定します。
* Category アクションが属するカテゴリを指定します。このカテゴリによって表示される場所が変わります。タイトル下のタブの場合は portal_tabs というカテゴリを指定します。
* Visible? アクションを表示するかどうかをチェックします。

Addボタンを押せば新しいポータルタブが追加されます。




[問題点]
webページの言語によってタブの言語が変換されない。


参考サイト
http://takanory.net/plone/custom/portaltabs

回路図エディタ

論理回路などの回路図が書けるエディタ。

http://www.suigyodo.com/online/schsoft.htm


まずは上のサイトのBSch3Vパッケージ 061229版 (bs3vp061229.lzh 2,918,259bytes)のダウンロードからパッケージをダウンロード。Lhazなどで解凍。

次にその下の表から、部品ライブラリエディタ LCoV をダウンロード。ダウンロードはファイル名のところかここから。LCoVもLhazで解凍する。

後はマニュアルに従って回路や論理記号素子を書いていく。

LCoVで素子を書き、フォルダに保存して、回路はBSch3Vで書くと言う流れみたい。

Ploneのヘッタ画像を変更

ZMIで、Plone/portal_skins/custom

header.gifなど、今登録されている画像ファイルをクリック。

一番下にあるFile Dataで、参照から画像をアップロードする。

Save changeボタンで変更完了

実際のwebページで確認する。読み込みが遅いので何度か更新するとヘッダが変更されている。

DNSサーバ構築 その3

named.confと/var/namedの権限を変える。

#chown named:named /etc/named.conf
#chmod 700 /etc/named.conf
#chown named:named /var/named

chmodコマンドは、ファイルやディレクトリの保護モードの設定、読み出しや書き込み、実行などの設定。上では8進数で設定した。


named.confに書いてあるファイルの作成

sudo mkdir /etc/named

localhost.zone.bakとlocalhost.rev.bakをプライマリーサーバーからコピーしてくる。
権限をnamedに書き換える。

#chown named:named /etc/named/localhost.zone.bak
#chown named:named /etc/named/localhost.rev.bak

named.rootを作成する。

/etc/named で、

wget ftp://ftp.internic.net/domain/named.root

ここからファイルをダウンロード。

/etc/namedはこんな感じ。
ls -l /etc/named
total 12
-rwx------ 1 named named 197 2007-08-25 21:28 localhost.rev.bak
-rwx------ 1 named named 177 2007-08-25 21:28 localhost.zone.bak
-rwx------ 1 named named 2517 2007-08-30 02:17 named.root

起動コマンド
多くのサイトや本では下のように書いてある。
#/usr/local/sbin/named -u named

しかしこれでは起動せず、単に
# named

で起動した。


DNSサーバが動いているか確認するコマンド
dig @***.***.***.***(IPアドレス) www.example.net

bindを停止するコマンド
ps aux | grep named
でプロセス番号を調べ、killコマンドで停止。



参考サイト
http://www.fc-lab.com/network/server/dns/bind.html
http://www.bsddiary.net/doc/bind9.html

DNSサーバ構築 その2

新規のユーザー、グループのnamedの作成

sudo useradd -d /var/named -s /bin/false named
sudo groupadd named
mkdir /var/named

/etc にnamed.confを作成。

プライマリーDNSのnamed.confをコピー。今回はセカンダリーDNSサーバを構築するので、下のように修正する。分かりにくいので書き方は検討しておきます。

sudo vi /etc/named.conf

1 acl mynetwork {
2 ***.***.***.***/25;
3 127.0.0.1/8;
4 };
5 options {
6 # autho-nxdomain yes;
7 version "";
8 directory "/etc/named/";
9 allow-query { ***.***.***.***/24; localhost; };
10 allow-recursion { ***.***.***.***/24; localhost; };
11 allow-transfer { mynetwork; };
12 };
13 zone "." {
14 type hint;
15 file "named.root";
16 };
17 zone "localhost" {
18 type slave;
19 masters {
20 ***.***.***.***;
21 };
22 file "localhost.zone.bak";
23 };
24 zone "0.0.127.in-addr.arpa" {
25 type slave;
26 masters {
27 ***.***.***.***;
28 };
29 file "localhost.rev.bak";
30 };

18、25行目にslaveと宣言し、mastersとして、プライマリーサーバのIPアドレスを記述する。

named.confの文法が正しいかどうか確認するコマンド
sudo /usr/local/sbin/named-checkconf


参考サイト
http://www.atmarkit.co.jp/flinux/rensai/bind03/bind03.html
http://www.multiburst.net/project-multiburst/archives/2006/02/21/2313.php

DNSサーバ構築 その1

セカンダリーDNSサーバを構築します。まずは普通にbind起動させ、最終的にはchroot環境で動かせるようにします。

bindのホームページ
http://www.isc.org/index.pl?/sw/bind/

/home/hrd (自分のディレクトリ)で作業。

bind-9.4.1.tar.gzをダウンロード bind-9.4.1

wget http://ftp.isc.org/isc/bind9/9.4.1/bind-9.4.1.tar.gz


その後展開。
tar zxvf bind-9.4.1.tar.gz

cd bind-9.4.1]./configure
make
sudo make install

注意点
make install はsudoで行う。

./configure make についてはこのサイトで。
http://www.itmedia.co.jp/help/tips/linux/l0302.html


参考サイト
http://www.atmarkit.co.jp/flinux/rensai/bind01/bind01.html
http://cyberam.dip.jp/linux_server/dns/bind_main.html
http://www.bsddiary.net/doc/bind9.html

C言語の実行環境 Ubuntu7.04

C言語のコンパイルのためのメモ。


コマンド
gcc -o test test.c

test.cをコンパイルして、実行形式ファイルのtestを作る。-o を省略すると、a.out という名前のファイルができる。


初め、このコマンドでコンパイルするとエラーメッセージ
error: stdio.h: No such file or directory
が出てくる。

libc6-devパッケージをインストールするとコンパイルできるようになった。
linux-libc-devも一緒にインストールされた。


参考サイト
http://sitebites.homeip.net/annex/UbuntuTips/#id7
http://forum.ubuntulinux.jp/viewtopic.php?id=51

Rootkit Hunter

Rootkit Hunter

Rootkit Hunter を使うことで、不正に設置されたツールの検出や、オリジナルのフィル改竄(例えば ps や ls でプロセスやファイルを隠したりすることも)を検出することが出来ます。


不正侵入されたことを調べることができるコマンド。オプションにcをつければすべてのチェックが行われる。引数なしだと説明が表示される。

#rkhunter -c


参考サイト
http://pocketstudio.jp/linux/?Rootkit%20Hunter
http://memo.blogdns.net/chkrootkit.html

plone2.0.5→plone2.1.5 その4

Zope2.7→Zope2.8とPlone2.0.5→Plone2.1.5の移行。

Zope2.8はこんな感じ。
INSTANCE /var/lib/zope2.8
本体 /user/lib/zope2.8
設定ファイル /etc/zope2.8/plone-site/zope.conf
ポートは8081

Zope2.7と2.8を両方止める。
/var/f_zope2.7/var のData.fsを /var/lib/zope2.8/plone-site/var へコピー。

両方のZopeを再起動。

Zope2.8の管理画面へ行き、portal-migration→Migrateタブ→Upgradeボタンでバージョンアップ。結構時間がかかる。

これでとりあえず完了です。移行した後は以前よりも動きがキビキビしているそうです。

plone2.0.5→plone2.1.5 その3

今度は上手く再起動できたので、Zope2.7をもう一度止めて、Data.fs6を/var/f_zope2.7/varへ移動。

rm /var/f_zpoe2.7/var/Data.fs でもともとあったData.fsを削除。

mv Data.fs6 Data.fs でData.fs6をData.fsに名前変更。

chown zope:zope Data.fs でData.fsの権限をZopeに持たせる。

Zope2.7を再起動。

これでマシン6のData.fsがマシン2へいどうされたので、作業1は終わり。

plone2.0.5→plone2.1.5 その2

Plone-2.1.5の20個のディレクトリを /var/zope2.7/Products/ へコピーした後、zope2.7を /var/zope2.7/bin/runzope コマンドで再起動。

エラーメッセージ Zope Could not Import Puroducts Archetypes
が出てきて、今まで立ち上がっていたZopeの管理画面が立ち上がらなくなった。管理画面のポートは8080出した。

原因、対処法が分からないので、新しくZope2.7のインスタンスを作ってもらう。

INSTANCE /var/f_zope2.7

同じようにPlone-2.1.5の20個のディレクトリを/var/f_zope2.7/Products/へコピー。

ここからマシン6です。
マシン6のData.fsをmvコマンドでData.fs6と名前を変更して、マシン2の/home/hrdにコピーする。コマンドは

scp Data.fs6 hrd@ホスト名:/home/hrd

ここからマシン2です。
このData.fs6を cp /var/f_zope2.7/var でコピーした。マシン2のData.fsはData.fs.oldとして、/home/hrd コピーしてバックアップとする。

zope2.7を再起動。

vimでfirefox

firefoxをvimのキーバインドにしました。先輩が使っていて、すごく便利そうだった。そして実際使ってみたらとても良い。マウスでフリーズする心配が消えただけでも収穫だったかも。情報通信工学概論の資料集めに威力を発揮するのではないかと今から期待しています。

参考サイト
http://d.hatena.ne.jp/sfujisak/20070602/1180803251
http://d.hatena.ne.jp/tanakaBox/20070421/1177086838

ダウンロード
http://vimperator.mozdev.net/

困ったところ
・メニューバーが消えた.
:set go=mTbs
または
:set guioptions=mT
をfirefox上で入力すれば下の方に入力されて、メニューバー復活。最初どこに入力すれば良いのか分からなかった。

・Ctrl+Nで新しいウィンドウが開かれるときがある。ここら辺は使いこなせていない。

・句読点の「。」が「.」になったりしてちょっと困る。でもこれはvimと関係あるのかな。

・BackSpaceで文字が消えずに「せせせせ…」とか入力される。Escキーを押せば元に戻るけど、結構迷惑だ。

独習Linux




独習Linux

小林準 著

を買いました。とりあえず2章まで読みました。1章はLinuxの特徴やCUIについて、2章はUbuntuとCentOSのインストールの仕方が書いてありました。読んでみて思ったことは、自分は単語をあまりにも知らないということ。分かってるつもりでも、実際には分かっていない単語が沢山あった。

カーネル…OSの基本機能を実行するプログラム。Linuxはカーネル。
コンパイル…プログラミング言語で作成されたプログラムを機械語に変換すること。
バイナリファイル…テキストファイル以外のファイル。
ドライバ(デバイスドライバ)…PCなどに接続されている周辺装置を制御するプログラム。
バイナリーコード…CPUが直接解釈して実行できる形で書かれたプログラム。
アーキテクチュア…ハードウェア、ソフトウェアの設計の仕様。

ドライバがどうしてもつかみにくい。周辺装置のことを指すのだと思っていたら、プログラムのことらしい。今もっている電子辞書にパソコン用語事典が入ってて良かった。当分手放せなさそうだけど、頑張ってこの本を読んでいきたい。

plone2.0.5→plone2.1.5 その1

Plone2.0.5からPlone2.1.5への移行を行いました。大まかな作業の内容は下のとおり。

1.マシン6のZope2.7からマシン2のZope2.7へData.fsをコピーする。
2.マシン2でZope2.7→Zope2.8、Plone2.0.5→Plone2.1.5へ移行する。


これは先輩の仕事を引き継いだので、instasnceなどは先輩が設定したものを使いました。
vi zope.confで見るとこんな感じ。

INSTANCE /var/zope2.7
CLIENT /opt/zope-2.7
設定ファイル /var/zope2.7/etc/zope.conf

instanceの作り方は

/usr/lib/zope/bin/mkzopeinstance.py コマンドで作ったのでしょう。予測ですがこんな感じ?

# /usr/lib/zope/bin/mkzopeinstance.py
Please choose a directory in which you'd like to install
Zope "instance home" files such as database files, configuration
files, etc.

Directory: /var/zope2.7

Please choose a username and password for the initial user. These will be the credentials you use to initially manage your new Zope instance.

Username:
Password:
Verify password:
# chown -R zope:zope /var/zope2.7

それからwget コマンドで /home/hrd へダウンロード。その後

tar xvzf Plone-2.1.5.tar.gz

で解凍しました。20個のディレクトリを/var/zope2.7/Productsへ移動。後で気づいたのですが、

cp -r Plone-2.1.5/* /var/zope2.7/Products/

で良いのかぁ。とりあえず今日はこんな感じ。

blog引っ越しました。

gooブログからgooglebloggerに引っ越しました。JavaScriptとか、画像とか動画とかで遊べるので。内容は前と同じです。前のblogから必要な記事だけコピーしてアップします。


前blog .com