Recent Entries
Recent Comments
OZACC.blog: Linux Category Archive

2009年07月29日

Linux | Server Name Indication

Apache新バージョンとSNI - hanai

このバージョンからSNIが実装されたので、これをサポートするブラウザーとの組合せになりますが、これまで一般的には利用不可能であったSSL環境におけるname-based virtual hostingが可能になります。

おお、これはすごい。「SNI」は何の略か知らなかったので調べてみたら、タイトルの「Server Name Indication」だった。

対応ブラウザは限られるとのことだけど、開発環境とか、身内向けのWebサーバとして使うなら問題なさそう。
このブログエントリーを見る限り、Apacheの設定方法は通常のVirtualHostとほとんど変わらないようだ。
次のSSL証明書更新のタイミングで、ワイルドカード証明書を買ってみようと思う。

Posted by otsuka : 18:11 | Comment (0) | Trackback (0)

2009年07月07日

Linux | PDFファイルをダウンロードさせる

通常Webページ上でPDFファイルのリンクをクリックすると、ブラウザ内でAdobe Readerが起動し、そのPDFを表示する。

Adobe Readerで表示するのではなく、そのPDFファイルをダウンロードさせるには、Apacheではmod_headersモジュールを使って次のように設定する。

<IfModule mod_headers.c>
  <FilesMatch "\.pdf$">
    AddType application/pdf .pdf
    Header set content-disposition attachment
  </FilesMatch>
</IfModule>
Posted by otsuka : 22:38 | Comment (0) | Trackback (0)

2009年05月09日

Linux | ロードバランサ配下サーバのcrontab

ロードバランサの配下に複数台のLinuxサーバ(Webサーバ用途)を置く構成で、データセンターのレンタルサーバを先日組んでもらった。

先程Logwatchのメールが送られてくる時間がそれぞれのサーバでずれていることに気付き、/etc/crontabを調べてみると各サーバでcron.dailyやcron.weeklyを実行する時間が異なっていた。

なるほど。例えばログ処理など負荷の掛かるタスクが複数サーバで同一時間帯に実行されると、Webサーバのレスポンスが悪くなってしまう可能性があるため、cron.dailyなどの実行時間設定をずらしているのか。データセンター側でここまで親切に設定してくれているとは。

逆に考えると、同一時間帯に実行したい処理のスクリプトは、/etc/cron.dailyとかに入れずにマニュアルでcron設定する必要があるってことか。

今まで気付かなかったけど、重要なことを見逃すところだった。

Posted by otsuka : 04:39 | Comment (2) | Trackback (0)

2008年12月30日

Linux | cronでsudo

とあるプログラマーの覚書 cronでsudoするには

cronでsudoを含むコマンドを実行させようとしたら、「sorry, you must have a tty to run sudo」というエラーが。visudoコマンドで/etc/sudoersを編集。Defaults requirettyという行をコメントアウトすればエラーは出なくなる。

Posted by otsuka : 17:25 | Comment (0) | Trackback (0)

2008年10月30日

Linux | メールサーバ

メールサーバー構築(Postfix Dovecot) - CentOSで自宅サーバー構築

(2)メールサーバー切替え
システムで使用するメールサーバー機能をsendmailからPostfixに切替える

[root@centos ~]# alternatives --config mta

alternatives コマンドというものがあることを初めて知った。

qmailやcourier-imapをシコシコインストールしていた頃と比べて、最近はメールサーバの構築も簡単だ。昔立てたqmailサーバをpostfixにリプレイスしたいけど、山ほどあるメーリングリストの設定を変えたりすることまで考えると、重い腰は上げられない。

Posted by otsuka : 17:23 | Comment (0) | Trackback (0)

2008年03月30日

Linux | Subversion 変更ファイルリストの出力

Subversionで、特定のリビジョン間で追加・削除・変更を行ったファイルのパスのリストだけを出力したい場合、どうやればいいのか知らなかったのだけど、いろいろと試行錯誤した結果、以下のコマンドでできた。

$ svn diff --summarize -r 236:297 > filelist.txt

次に必要になった時にきっと忘れていると思うのでメモ。

TortoiseSVNでもディレクトリのプロパティを開いて、[Subversion]->[ログを表示]で表示されたリビジョンリストを複数選択すると変更ファイルパスリストが表示されるのだけど、そのリストをコピーすることができなかった。

Posted by otsuka : 16:55 | Comment (0) | Trackback (0)

2007年12月19日

Linux | mod_rewriteでQueryStringを扱う

mod_rewriteはあまり使うことがないので、なかなか設定を覚えられず、毎回調べないといけない。

今回は、/do_something.cgi?id=123 を /do/something/123/ にリライトしたくて調べた。来週になったらもう忘れてそうなのでメモしておく。
まずRewriteRuleでは「?」以降はマッチ対象にならないということが分かった。RewriteCondを使ってQueryStringをマッチさせて、その後でRewriteRuleする。RewriteCondでマッチしたものは%変数に格納され、RewriteRuleで使える。

RewriteCond %{QUERY_STRING} id=(\d+)
RewriteRule ^/do_something.cgi /do/something/%1/ [R=301,L]

これで特に問題なくリライトはされるのだけど、リダイレクトされるURLには /do/something/123/?id=123 とQueryStringがそのまま残ってしまう。このQueryStringがリライト後に付かないようにするには最後に「?」を付ける。

RewriteCond %{QUERY_STRING} id=(\d+)
RewriteRule ^/do_something.cgi /do/something/%1/? [R=301,L]
Posted by otsuka : 04:53 | Comment (0) | Trackback (0)

2007年11月08日

Linux | FFmpegで画像を切り出す

ffmpeg -i 動画ファイル名 -vframes 1 -an -ss 切り出す画像の開始時間(単位は秒) -s 幅x高さ -f mjpeg 出力ファイル名

-vframes 1 を忘れると、やたらとでかい画像ファイルができてしまう。これで嵌ったのでメモ。

調べていたら参考になる記事が。
Youtubeの動画から静止画1枚を抜き出す(FFmpegで時間指定)
なるほど、PNGフォーマットで出力したいときはこうやるのか。

Posted by otsuka : 23:40 | Comment (0) | Trackback (0)

2007年10月28日

Linux | rsync

rsyncコマンド:ITpro

今まで使ったことなかったのでけど、すげー便利ジャン。何故今まで使ってなかったのか不思議だ。

Posted by otsuka : 23:43 | Comment (0) | Trackback (0)

2007年10月17日

Linux, Python | 共有ライブラリの認識

共有ライブラリをシステムに認識させるには

Linux上で、PostgreSQL + psycopg2 + Django on Apache with mod_python な環境で次のようなエラーが起こっていたら、Apacheの実行ユーザがPostgreSQLのライブラリを認識できていないということが原因。

Error loading psycopg2 module: libpq.so.5: cannot open shared object file: No such file or directory
/etc/ld.so.conf に /usr/local/pgsql/lib を加えて、ldconfig コマンドを実行してシステムにPostgreSQLのライブラリを認識させればOK。

前もこの問題にはまったのに、記憶力が悪いせいでまたはまってしまったのでメモしておく。

Posted by otsuka : 19:41 | Comment (2) | Trackback (0)

2007年09月10日

Linux | ModSecurity

ModSecurity (mod_security) - Open Source Web Application Firewall

サーバサイドのアプリケーションでエラーになった時のPOSTリクエスト内容をアプリケーションやAPサーバではなく、Webサーバでログに残したいという要件があり、調べていたらApacheモジュールのModSecurityで対応できることが分かった。

まだModSecurityが何をしてくれるものなのかちゃんと理解してないけど、とりあえず以下の設定でステータス500番代のレスポンスになる場合のPOSTデータがリクエスト毎にファイルに保存される。

SecRuleEngine DectionOnly
SecRequestBodyAccess On
SecAuditEngine RelevantOnly
SecAuditLogParts ABCFHZ
SecAuditLog /path/to/audit.log
SecAuditLogStorageDir /path/to/log_dir
SecAuditLogType Concurrent
SecAuditLogRelevantStatus ^5

以前に「Apacheセキュリティ」という本を買って、ざっと読んで所々に付箋を貼って放置状態になっていたが、この本の著者がModSecurityの開発者らしい。ModSecurityをちゃんと使えるようになれば、いろいろ悪いことを防いでくれるような気がするので、きちんと読み返してみようと思います。

Posted by otsuka : 16:39 | Comment (0) | Trackback (0)

2007年07月02日

Linux | Apache 2.2 - client denied by server configuration

blog.plastik.jp » Apache2.2 デフォルト設定、ちょっとした変更点[アクセス制限]

Apache 2.2系に移行していて、これに気付かずに1時間以上はまった。

Posted by otsuka : 23:07 | Comment (0) | Trackback (0)

2007年06月04日

Linux | DebianにSun JDK

hatayanlog: Debian (sarge) で Java-package をつかって Java をインストール

Debian(etch)にTomcatをインストールしていて、ふと apt-cache search tomcat をやってみたら、Tomcat5.5パッケージがあることに気付いた。
さすがにgcjとかは使う気にならなかったので、以前にアンインストールしてSunのJava6 sdkをそのままインストールしていたのだけど、今日いろいろと調べてみたらdebianパッケージとしてSunのJDKをインストールする方法があることを知った。が、Java6にはまだ対応していないことも分かった。テスト版にもまだないようなので、仕方がない。

ということで、結局Tomcatもパッケージではなくapacheサイトからダウンロードしてインストール。あと一歩でJava環境作りが楽になるんだけどなあ。

Posted by otsuka : 13:38 | Comment (0) | Trackback (0)

2007年04月12日

Linux | Nagios

Nagios: Home

Nagios 2.0オープンソースではじめるシステム&ネットワーク監視」を購入して、Nagios使用方法の勉強中。サイトのドキュメントや記事を見て、難しそうだなと思って敬遠してたけど、この本を読みながらやってみると意外に簡単だった。

本ではソースからインストールしているけど、Debianパッケージとして用意されていたNagios 2.6をインストールしてみた。設定ファイルのパスや名前が若干違う位で大きく戸惑うことはなかった。

まだ三分の一位しか読んでないけど、一通り監視できるようになった。これまで監視の必要がある場合、自前でスクリプト書いたりしてたけど、その面倒くささが一気に解消。Nagiosがあると何でも監視したくなる感じ。
ネットワーク上の階層を設定でき、上位階層(例えばルーター)がダウンしている時は下位階層のサーバ監視を行わないという辺りが賢くて気に入った。Webインターフェースではステータスマップがあり、これら機器のツリーと状態が表示され一目瞭然。無駄に(?)VRMLを使った3Dマップも表示できる。

Flash Media Serverのサービス監視はTCPポートによるチェックになるのだろうか。それともHTTPみたいな何か確認する手段があるのだろうか。NagiosExchangeでプラグインを探してみたけど見つからなかった。

Posted by otsuka : 00:42 | Comment (2) | Trackback (0)

2007年02月27日

Linux | DNS 特定のドメインだけ引けない

BINDで特定のドメインだけを別のDNSサーバに問い合わせたい - Linux Square

社内のDNSサーバで、外部の特定ドメインのレコードが何故か参照できない。よそのDNSサーバではそのドメインは問題なく正引きできるのに。前から気付いてて、そのうち直るかもと放置していたんだけど、今日になって他のスタッフがそのドメインのサイトにアクセスし、サーバが落ちていると思い込んでいたので、回避措置として named.conf にそのドメインを登録して、よそのDNSサーバにフォワードするように設定した。

Posted by otsuka : 15:46 | Comment (0) | Trackback (0)

2007年02月05日

Linux | ProudとMongrelとApache

recompile.net: Pound Mongrel Apache2.0 で Ruby on Rails!

MEMO。

Posted by otsuka : 13:03 | Comment (0) | Trackback (0)

2007年01月29日

Linux | mod_rewriteの否定パターン

Apacheのmod_rewirteで、あるパスを除くといった条件をどう書けばいいのだろうと疑問に思っていたがRewriteRuleでも ! で否定パターンを使えることを今日知って、これとChainフラグを使えばRewriteRuleだけで実現できることが分かった。

RewriteRule !^/notrewrite/(.*) - [C]
RewriteRule ^/(.*) /rewrited/$1
これで例えば、http://example.com/notrewrite/index.html はリライトされず、その他のパスへのアクセスは http://example.com/anydir/index.html → http://example.com/rewrited/anydir/index.html といった具合でリライトされる。

! を使ったパターンの場合は、グループ化による後方参照は使えないことに注意。

Posted by otsuka : 21:56 | Comment (2) | Trackback (0)

2006年10月25日

Linux | Submission Port

槻ノ木隆の「BBっとWORDS」

以前にサーバを構築した会社から、「ある拠点からだけ送信サーバにアクセスできなくなった」と問い合わせがあった。聞くと、最近Bフレッツ導入に伴ってプロバイダーを変えて、そのプロバイダーが25番ポートへのアクセスをできなくしているとのこと。替わりに587番を使えと。

そんなの聞いたことないなぁと調べてみたら、去年辺りからプロバイダーで「Outbound Port 25 Blocking(OP25B)」が相次いで導入されていた。世の中変化していたんだね。

とりあえず応急処置として、iptablesのポート転送で対処するかな。

Posted by otsuka : 18:06 | Comment (0) | Trackback (0)

2006年10月03日

Linux | TracとSVN 1.3

今朝目覚めたらイントラサーバのtracがエラーで動かなくなっていた。ログを調べてみると

PythonHandler trac.web.modpython_frontend: TypeError: argument number 0: a 'apr_pool_t *' is expected, 'instance()' is received
と、難しそうな内容。検索してみると、どうやらSubversion 1.3系とTracの相性がよろしくないらしい。対処法も難しそうだし、早く直す必要があったので、とりあえずSubversionを1.2系にダウングレードすることに。

そもそもSubversionのバージョンは1.3だったっけ? と思っていたのだけど、yumの自動アップデートで新しくなっていた模様。1.2系にダウングレードしようとするが、yumでやる場合一旦最新バージョンを削除しなければいけないようで一度削除してから、バージョン指定してインストールした。これで解決した。

で、また最新バージョンが勝手にインストールされてはいけないので、Subversionパッケージが自動アップデートされないようにyum.confを設定した。

Posted by otsuka : 15:12 | Comment (0) | Trackback (0)

2006年08月16日

2006年07月31日

Linux | Woody to Sarge

Debian Woodyで運用しているサーバに入っているPerlやPerlモジュールのバージョンが古くて困ったことになってしまったので、勇気を振り絞ってdist-upgradeした。アップグレード中「失敗したらどうしよー」と、ドキドキが止まらなかったけど、大きなトラブルもなく完了した。さすがだ、Debian。

Posted by otsuka : 02:23 | Comment (0) | Trackback (0)

2006年05月05日

Linux | PHP 5.1.4リリース

PHP: PHP 5.1.4 Release Announcement

またインストール。

Posted by otsuka : 13:37 | Comment (0) | Trackback (0)

2006年05月02日

Linux | PHP 5.1.3リリース

PHP 5.1.3 Release Announcement

なんてタイミングなんだ。先程PHPで構築したサイトを公開したばかりなのに。
気になってたあのバグも解決されてるし、アップグレードしたいなあ。でもPHPの場合マイナーバージョンアップと言えどもあなどれないしなあ。

と思いつつも、開発サーバのPHPを5.1.3に上げてみることに。
が、早速コンパイルができなくなってた。--with-oci8を指定してあるからなんだけど、

/usr/bin/ld: cannot find -lirc
こんなエラーが。5.1.2の時は起こらなかったのに。ググってみたら、このページが見つかった。ここに書かれているとおり、$OCI_HOME/sdk/demo/sysliblistから-lircという記述を削除してconfigureし直したらコンパイルできるようになった。

そしてPDOのアップグレードをして5.1.3への移行完了。

pecl upgrade pdo
pecl upgrade pdo_pgsql
今のところ問題なく動いてる。

Posted by otsuka : 14:38 | Comment (0) | Trackback (0)

2006年04月07日

Linux | シェバング

UNIXの部屋 検索:シェバング

MEMO。

Posted by otsuka : 23:18 | Comment (0) | Trackback (0)

Linux | PDO_PGSQLのインストール

PECL :: Bug #6115 :: PDO_PGSQL cannot be upgraded

I discovered while crawling through the configure file of the pdo_pgsql package, that it seems to pretend, that pdo is build statically. It checkes a variable called: PHP_PDO_SHARED So when i do:
export PHP_PDO_SHARED="true"
and than do
pear install -f http://pecl.php.net/get/PDO_PGSQL-1.0.1.tgz
everything installs and works fine.

PDOのPostgreSQLドライバがPEARでインストールできず苦戦していたところ発見した解決法。PHP_PDO_SHARED環境変数をセットすればうまくいった。
PDOを共有モジュールとしてインストールしていたからかな。それにしても説明がなさ過ぎる。
とりあえず結果オーライ。

ところでpeclでインストールするのと、pearでインストールするのでは何が違うのでしょうか?

Posted by otsuka : 01:55 | Comment (1) | Trackback (0)

2005年12月01日

Linux | Tracの通知メール改造

Tracから送られてくるメールは単なるテキストなのに、マルチパートメッセージで送ってくるのがちょっと嫌だなあと思い、書いたこともないPythonのコードから該当箇所を探して修正を試みる。

運用中のTracはRPMでインストールしてあるので、とりあえずソースをダウンロードしてメールを送信しているコードを探す。きっと「smtp」という文字が含まれているだろうと予測して検索してみると、いくつか引っかかったファイルの中に「Notify.py」があり、名前からしてこれしかないと断定。

中身を見ると正しくそんな感じ。MIMEMultipart という「ズバリ私が犯人です」と言わんばかりのクラスが使われていた。コードを見る限りマルチパートである必要はなさそうなので、Pythonのリファレンスを見ながら、このクラスをMIMETextクラスに置き換える。

127行目付近

#msg = MIMEMultipart()
#msg.attach(MIMEText(body, 'plain', 'utf-8'))
#msg.epilogue = ''
msg = MIMEText(body, 'plain', 'utf-8')
これで解決。UTF-8ではなくISO-2022-JPにしてみたけど、ダメみたい。どうやら標準だと日本語コードは使えない様子。

ちなみにRPMでインストールした僕の環境の場合、/usr/lib/python2.3/site-packages/tracディレクトリにNotify.pyはありました。Tracのバージョンは0.9です。

Log4JのSMTPAppenderもマルチパートでメールを送るようになっていたのだけど(参照)、海外では単なるテキストメールもマルチパートで送るのが一般的なのかな?

Posted by otsuka : 00:06 | Comment (2) | Trackback (0)

2005年11月15日

Linux | tracマクロ

MacroBazaar - The Trac Project - Trac

via marsのメモ

tracのマクロ集。このページの存在に気づかなかった。気づいた今でもどこからリンクされているのか分からない。

trac 0.9が出てるけど、0.84からバージョンアップしても問題ないかな?

最近ストリッパーズでは、サーバサイドのプログラムが必要ないプロジェクトでもTracで主にタスク管理をするようになった。いい傾向だ。

Posted by otsuka : 12:00 | Comment (1) | Trackback (0)

2005年10月17日

Linux | trac データベースエラー

今朝出社して、tracサイトにアクセスすると

Trac detected an internal error:

file is encrypted or is not a database
Traceback (most recent call last):
File "/usr/lib/python2.3/site-packages/trac/core.py", line 531, in cgi_start
real_cgi_start()
File "/usr/lib/python2.3/site-packages/trac/core.py", line 513, in real_cgi_start
env = open_environment()
File "/usr/lib/python2.3/site-packages/trac/core.py", line 190, in open_environment
version = env.get_version()
File "/usr/lib/python2.3/site-packages/trac/Environment.py", line 162, in get_version
cursor.execute("SELECT value FROM system WHERE name='database_version'")
File "/var/tmp/python-sqlite-root//usr/lib/python2.3/site-packages/sqlite/main.py", line 244, in execute
DatabaseError: file is encrypted or is not a database

とエラーが表示され、どうすることもできなくなっていた。

プロジェクトのタスク管理を任せていたので、やばいなと焦りつつGoogleで検索すると、全く同じ症例と解決法を見つけることが出来た。tracのML過去ログでも同じ解決法が挙げられていたので、やってみたら解決。でもレポートのソートが変わってた。

Googleで見つけたサイトはもうキャッシュにしか残ってないのでここに残しておきます。

We've finally tracked the problem to SQLite version 2.x vs 3.x

On Fedora Core 4, Trac uses SQLite 3.x although the trac.db database in conf directory is in version 2.x format. The solution is to manually upgrade all the Trac environment databases to version 3.x:

mv trac.db trac2.db
sqlite trac2.db .dump | sqlite3 trac.db

Posted by otsuka : 10:59 | Comment (0) | Trackback (0)

2005年09月27日

Linux | validrcptto

validrcptto
validrcpttoでSPAMをブロック

qmail用のパッチ。こんなのがあったんだ。知らなかった。もっと早く知りたかった。

Posted by otsuka : 16:13 | Comment (0) | Trackback (0)

2005年09月09日

Linux | /tmp/ディレクトリ下のファイルはいつ削除される?

ITmedia エンタープライズ : Linux Tips「/tmp/ディレクトリ下のファイルはいつ削除される?」

僕はこんなことさえ知らなかった。。。

Posted by otsuka : 01:14 | Comment (0) | Trackback (0)

2005年07月15日

Linux | Visitors, a fast web log analyzer

川o・-・)<2nd life - Visitors, a fast web log analyzer

MEMO。

Posted by otsuka : 10:36 | Comment (0) | Trackback (0)

2005年06月16日

Linux | Subversionでパーミッションエラー

subversion: Subversion FAQ

Note for SELinux / Fedora Core 3 / RedHat Enterprise users:

In addition to regular Unix permissions, under SELinux every file, directory, process, etc. has a 'security context'. When a process attempts to access a file, besides checking the Unix permissions the system also checks to see if the security context of the process is compatible with the security context of the file.

Fedora Core 3, among other systems, comes with SELinux installed by default, configured so that Apache runs in a fairly restricted security context. To run Subversion under Apache, you have to set the security context of the repository to allow Apache access (or turn off the restrictions on Apache, if you think all this is overkill). The chcon command is used to set the security context of files (similarly to how the chmod sets the traditional Unix permissions). For example, one user had to issue this command

$ chcon -R -h -t httpd_sys_content_t PATH_TO_REPOSITORY

to set the security context to be able to successfully access the repository.

CentOS上でSubversionにWebDav経由でアクセスしようとしたら、「Could not open the requested SVN filesystem」とエラーが出て、埒が明かなくなった。SVNリポジトリにはApacheの実行ユーザが読み書きできるようにしてあるのに。と思いつつ、調べてみたらSELinuxでの制限に因るものらしい。

とりあえず何も分からないまま上記コマンドを打ってみたら、エラーなく動作するようになった。SELinuxについては無知だったけど、ちょっと勉強しないとなあ。

買うならどっちだ!?
・SELinux徹底ガイド
・SELinuxシステム管理

Posted by otsuka : 19:16 | Comment (0) | Trackback (0)

2005年06月10日

2005年06月07日

Linux | CentOS

www.centos.org - The Community ENTerprise Operating System

Debian 3.1を入れようと思って買ったサーバ機が、どうもDebianと相性が悪い。2つCPU積んでいるのに、1つしか認識されてなかったり、メモリも半分しか認識されてなかったり、なぜか半分。インストールし直そうとしたら、インストール自体がうまくできなくなったので、あっさり諦め、Redhatクローンをインストールすることに。

Whitebox Linuxを入れてみたのだけど、どうやらCentOSの方がいいらしいという噂からインストール直後にCentOSに乗り換える。
Redhat系は7.3までしか使っていなかったので、yumの使い方が分からない。

Posted by otsuka : 22:31 | Comment (0) | Trackback (0)

2005年05月02日

Linux | RedhatユーザーのためのDebian入門

株式会社 ネットスパイス : RedhatユーザーのためのDebian入門

MEMO。

Posted by otsuka : 15:38 | Comment (0) | Trackback (0)

2005年03月21日

2005年03月09日

Linux | openssl パスフレーズを無効に

# openssl rsa -in key.pem -out key.pem

たったこれだけのことなのに、いつも忘れてしまうのでMEMO。

Posted by otsuka : 20:30 | Comment (0) | Trackback (0)

2005年01月30日

2004年11月18日

Linux | ssh scp sftp の正しい自動実行方法

ssh scp sftp の正しい自動実行方法

via オレンジニュース

MEMO。

Posted by otsuka : 16:18 | Comment (0) | Trackback (0)

2004年11月16日

Linux | Debian の Apache2 で SSL

klog: Debian の Apache2 で SSL セットアップ

いつか役に立ちそうなのでMEMO。

Posted by otsuka : 21:06 | Comment (0) | Trackback (0)

2004年10月31日

Linux | ApacheToolbox

ApacheToolbox

MEMO。

Posted by otsuka : 07:09 | Comment (0) | Trackback (0)

2004年10月30日

Linux | djbdnsは遅い!?

先日導入したdjbdns(dnscache)への問い合わせレスポンスが遅い。bindに比べて明らかに。何か設定が間違ってるのか!? でも大して設定する箇所もないし。
大量のDNS問い合わせが発生するApacheのログ解析やメール配信では、bindでやってた頃の倍以上時間がかかるようになってしまった。

こんなのは使ってられないので、またbindに戻した。うーむ、こんなにパフォーマンスに差が付くものなのかなあ???

Posted by otsuka : 13:05 | Comment (0) | Trackback (0)

2004年10月27日

Linux | djbdns

ホームサーバのDNSをbindからdjbdnsに変更した。

確かにbindよりシンプルに設定できた。けど、ZoneファイルのフォーマットはBindに慣れていた分、最初かなり戸惑った。なかなか逆引きの設定がうまくいかなかったり。テキトーにいじってたら突然うまいこといったので、どこが悪かったのか今となっては分からない。

Posted by otsuka : 03:11 | Comment (0) | Trackback (0)

2004年09月17日

Linux | viの文字コード自動判別

viエディタの文字コード自動判別

$ vi ~/.vimrc
set encoding=euc-jp
set fileencodings=iso-2022-jp,sjis,utf-8

MEMO。

Posted by otsuka : 19:36 | Comment (0) | Trackback (0)

2004年08月04日

Linux | Old Redhat セキュリティパッチ サービス

クララオンライン - Linux セキュリティアップデート : Progeny Transition Service

MEMO。

Posted by otsuka : 14:12 | Comment (0) | Trackback (0)

2004年07月17日

Linux | PHPのセキュリティアップデート

今夜はPHPの再インストール作業。ソースからインストールしてるので、セキュリティアップデートはぶっちゃけ面倒な作業だ。管理してるサーバのOSとバージョンを揃えていれば、パッケージ化してしまうといいのかも知れないが、あいにくOSとバージョンはバラバラなのでそうもいかない。


まだPHPを入れていないThinkpad Debian(Woody)にはPHP 5をインストールしようと試みたのだけど、いろいろとライブラリのバージョンが合わず、libxml2とかをソースから入れるか、Sargeから引っ張ってこないとダメみたい。今夜は断念。

Posted by otsuka : 04:01 | Comment (0) | Trackback (0)

2004年07月09日

Linux | Debian

3月終わりに使わなくなったThinkpadにDebianをインストールしたのだが、インストールしただけで放置していた。昨日になってようやく開発用サーバにしようと設定を始めた。

今後運用サーバをDebianで、となるかも知れないのでstableリリースを追うことに。が、PostgreSQLやTomcatのバージョンの古さを知り愕然とする。stableとはそういうことなのか。
まだ自分でパッケージは作れないので、結局ソースから入れるしかないのか。むぅ、aptの利点を享受できてないなあ。

qmailのソースからのインストールは相当面倒な様子。Debianとは相性悪いみたいだね。
http://lists.debian.or.jp/debian-users/200405/msg00172.html

前途多難だ。

Posted by otsuka : 16:34 | Comment (0) | Trackback (0)

2004年07月03日

Linux | perl -MCPAN -e shell

CPANをたまにしか使わないので、いつもこのコマンドを忘れてしまう。メモメモ。


設定しているCPANサイトがftp.cpan.jpだったのだが、このホストが反応しない。
この設定を変更しようと、「o conf urllist ftp://ftp.kddlabs.co.jp/CPAN/」とコマンドを打ってみたが変更されない。ここでハマってしまった。結局、urllistの値は配列だったので次のコマンドで変更できた。

o conf urllist pop
o conf urllist push ftp://ftp.kddlabs.co.jp/CPAN/

Posted by otsuka : 04:23 | Comment (0) | Trackback (0)

2004年06月11日

Linux | CVS waiting for one's lock

複数の開発者が同時に CVS を実行しようとした場合、 次のようなメッセージが表示されます:

[11:43:23] waiting for bach's lock in /usr/local/cvsroot/foo

CVS は 30秒毎に実行を試み、 まだ待つ必要があれば再度メッセージを表示し、 そうでなければ処理を続けます。 不適当な程長く待ち続けているようならば、 ロックさせている人物を見付けて、 実行中の cvs コマンドを訊いてみて下さい。 cvs コマンドが実行されてないのならば、リポジトリで `#cvs.tfl', `#cvs.rfl', `#cvs.wfl' 等で始まるファイルを捜して、削除して下さい。

このロックは CVS の内部データ構造を保護するもので、 RCS で使用されるロック (lock) という言葉とは全く何の関係もありません。

MEMO。

開発者は僕一人なのにCVSロックでハマった。レポジトリ上の#で始まるファイルを削除したら解決。

Posted by otsuka : 21:39 | Comment (1) | Trackback (0)

2004年03月26日

Linux | 初めてのDebian

先日Let's Noteを買ったので、これまで使っていたThinkpadのパーティション一つを削除して、Debian (Woody)をインストールすることに。

今までRedhat、Vineと赤帽系しか使ったことがなかったので、うまくインストールできるか不安だったけど、どうにかうまく行っている模様(現在、タスクインストーラによるインストール中)。インストールが難しいと聞いていたけど、ちゃんと日本語で(ちょっと変だったけど)説明も出ていたので大して難しいとは感じなかった。確かにRedHatのGUIインストーラと比べると難しいと感じるけど。

今度からサーバのOSはDebianにしようと考えているので、このThinkpad上でDebianの流儀を学習するつもり。

Posted by otsuka : 00:54 | Comment (0) | Trackback (0)

2004年02月20日

Linux | ハイパースレッディング

クライアントに納品するPCサーバが届いたので、午後からLinuxのインストールと設定。やたらと本体はデカいくせに、動作音はなかなか静か。

何度かanacondaのエラーでインストールに失敗したが、テキストモードでインストールして回避。CPUはPentium4 3GHzでHT対応のせいだからか、SMP用のカーネルも一緒にインストールされてた。よく分からないので普通のカーネルで起動してるんだけど、SMP用を使った方がいいのかな? HT自体よく分かっていないので後で調べてみよう。

今回は開発したWebアプリが使えるようになるまでの設定だけでいいので気が楽だ。

Posted by otsuka : 15:01 | Comment (0) | Trackback (0)

2004年01月19日

Linux | サーバ アフタヌーン

今日は、開発用のサーバ環境構築。まずはLinux上にTomcat 5をインストールして使えるようにするのだが、Tomcatはまともに扱ったことがなかったので大苦戦。ドキュメントをプリントして読み漁って、設定を施すも、簡単なJSPすら動かない。

<Host appBase="/path/to/appBase" name="xxx">
  <Context docBase="/path/to/docBase">
結局、HostのappBaseとContextのdocBaseのパスが同じだったのが動かない原因だったようだ。

それにしてもTomcatのAdministration Toolには感動した。超便利だ。Resinにも欲しい。

この間に、取引先から電話が掛かってきて、プレス発表がある明後日までに新しいドメインでWebとメールを使えるようにしたいと依頼が。エー、何故今日まで放置!!?とビックリしたが、そんなことを今更言っても始まらない。間に合うか!?と思いつつ、即座にドメインの取得手続きをして、DNSの設定を行う。サーバの準備は一通り完了。後は世界中のDNSが更新されるのを待つのみ。InternicのWhoisはまだ更新されてない。間に合うかな、ドキドキ。

そんなサーバ構築な午後でした。

Posted by otsuka : 17:54 | Comment (0) | Trackback (0)

2004年01月18日

Linux | sa-learn --spam

SpamAssassinに学習機能があることを今日初めて知った。
早速ストックしておいたspamとhamを学習させる。

学習させて一日。SpamAssassinを通り抜けてきたspamは一通のみ。hamの誤認識もなし。スバラシイ。

Posted by otsuka : 21:00 | Comment (0) | Trackback (0)

2004年01月05日

Linux | Cobaltサーバの終焉

米Sun Microsystemsは、3年前に20億ドル相当の株式交換で買収したサーバアプライアンスメーカー、米Cobalt Networksの製品を、自社のラインアップから一掃した。これにより、SunによるCobaltブランドのLinuxサーバの販売は完全に打ち切りとなる。
あー、これは残念だ。僕はCobalt RaqからLinuxに入ったので、今は使ってないけれどもCobaltには思い入れがある。当時はユーザー会で、翻訳を手伝ったりした懐かしい記憶が。

因みに今でも/homeディレクトリの区切り方はCobaltと同じ形式を採用している。

Posted by otsuka : 19:23 | Comment (0) | Trackback (0)

2003年12月27日

Linux | OpenLDAP

OpenLDAP特集に惹かれてLinux World 2月号を買ってみた。LDAPについてよく知らなかったけど、基礎は学べたと思う。

早速サーバのセットアップを行って、テストしてみたのだけど、僕のOutlook 2002ではどうやってディレクトリ検索を行えばいいのか分からない。今度はMozillaでやってみよう。

Posted by otsuka : 21:09 | Comment (0) | Trackback (0)

2003年11月22日

Linux | Spam対策

最近、SpamAssasinを通り抜けるSpamメールが多くなってきた。今使っているOutlook2002にはクライアント側でOutlook2003やMozillaメールにあるようなSpamフィルタリングができないので、何とかサーバ側でブロックしたい。

もう一度フィルターについて調べてみると、Bogofilterが評判よさげ。近々導入してみよう。

Posted by otsuka : 11:36 | Comment (0) | Trackback (0)

2003年10月01日

Linux | RPMコマンド

rpmコマンドが効かなくなってしまった場合 rpmコマンドで、-ivhしても、-qaしても、応答が無くなってしまった場合は、rpmデータベースを再構築することで復旧できる場合がある。
Redhatにrpmパッケージをインストールしてたら、突然rpmコマンドが何も反応しなくなった。

かなり焦りつつもググっていると、rpmデータベースを作り直すことで対処できることを発見。何とか事なきを得た。

でも不発弾を抱え込んだ気分。

Posted by otsuka : 20:14 | Comment (0) | Trackback (0)

2003年09月29日

Linux | セキュリティ・アップデート

X-Force Research Discovers Remote Exploit [23/Sep/2003]

X-Force Research at ISS has discovered a remote exploit in ProFTPD's handling of ASCII translations that an attacker, by downloading a carefully crafted file, can exploit and gain a root shell.

The source distributions on ftp.proftpd.org have all been replaced with patched versions. All ProFTPD users are strongly urged to upgrade to one of the patched versions as soon as possible.

FTPサーバのProFTPDのアップデートを行う。危うく見過ごすところだった。

管理するサーバが増えてくると、こういうセキュリティ・アップデートだけでも大変だ。ソースからインストールせずにRPMで提供されているソフト以外は使わないこと!!って決めれば楽なのかも知れないけど。

Posted by otsuka : 22:56 | Comment (0) | Trackback (0)

2003年09月19日

Linux | openssl

昨日のQuickSSL取得時に、久しぶりにCSRを生成した。滅多に使わないせいか未だにopensslのコマンド引数は覚えられない。

openssl req -new
けど、このコマンド一つで秘密鍵とCSRを同時に生成できることを覚えた。今までは一度秘密鍵を生成して、その鍵を指定してCSRを生成していた。まあ一つコマンド打つのが減っただけなんだけど。

ちなみにGeoTrustの場合、CSRにメールアドレスを含めると申請が通りません。

Posted by otsuka : 12:48 | Comment (0) | Trackback (0)

2003年09月15日

Linux | SpamAssassin続き

導入して一日。導入したアカウント宛に届いたspamメールは47件。うち45件をspam認定。spam最高スコアは20.90でした。

95%の認識率なので、かなりいい成績。定義ファイルの作り方がよく分かっていないので、まだ改良はできないけれど、見逃したspamも保存しておいて今後の研究対象に。

spamメールを読んでると、Increase your xxxxx size とか Make your xxxxx thicker, bigger and harder とかばっかり。「何かを大きくする」っていう英語の語彙は増えそう。

Posted by otsuka : 04:28 | Comment (0) | Trackback (0)

2003年09月14日

Linux | SpamAssassin導入

先日spamメールを削除していたら、知り合いからのメールもうっかり削除してしまった。サーバ側でprocmailを使って簡単なspam振り分けはしていたけど、今回の一件でSpamAssasin導入を決定。定義ファイルはTLEC配布のものをコピーさせてもらって、早速稼動開始。

さぁ来い、spamメール。と、ちょっとワクワクしたりして。
そういえば、spamassassinのスコアを競い合ってる人もいるとかいないとか。

Posted by otsuka : 01:55 | Comment (0) | Trackback (0)

2003年09月01日

Linux | Webmin

先日セットアップを行ったLinuxサーバでWebminの最新版を使ってみた。

昔、確かVineLinuxにプリインストールされていてちょっと使ってみた記憶はあるが、あまり使えるツールではないという印象を受け、以来使用することはなかった。

あれから数年、Webminはとても使えるツールに進化していた。必要なWebminモジュールはほぼ揃っているし、中でもSSHクライアントをJavaアプレットで動かせるモジュールには驚いた。これなら緊急時に外出先からでも対応できるかも。

これからはもっとWebminを活用しよう。

Posted by otsuka : 06:37 | Comment (0) | Trackback (0)

2003年08月30日

Linux | サーバ構築

現在制作中のサイトを運用するLinuxサーバの構築を終える。おつかれ、オレ。

OSはRedHat 9。それにしても進化が早いな、RedHatは。ついこの間、7.3をインストールしてたと思ったのに。8は触れる機会もなく過ぎ去ってしまった。
Apacheをはじめ、アレコレとRPMを削除してソースからコンパイル、インストール。RedHat 9ではサクッと./configureできなくなっているものもあり、一時苦戦したが何とかOKな状態に。RedHatのデフォルトMTAが未だにsendmailなのはどうして?

CPUはCeleronだけど、クロック数がハードディスクの容量!?的なのでやたら速く感じた。

Posted by otsuka : 15:34 | Comment (0) | Trackback (0)