PDFlib はPDF形式のファイルを出力するためのオープンソースのライブラリプログラムです。ソースコードは公開されていますが正式利用するためにはライセンスの購入が必要です。詳細は PDFlib.comを参照してください。PDFlibをPHPから利用する(1)で紹介した要領でGCC用のライブラリがインストールされていることを前提にしています。

PHPをビルドするには、多くの機能が必要になります。目的を絞って必要なものだけを含んだ実行イメージを作成することを推奨します。私の場合は Debianの標準パッケージと同じオプションに加えて、 PDFlib に必要なオプションを追加することにしました。そのために、多くのパッケージを追加インストールする必要がありました。そこで、簡単に PDFlib だけを追加する方法を紹介します。Debian GNU/Linux の sarge をインストールしているので現在のバージョンは4.3.10です。

行頭の$や#はシェルのプロンプト(bashのコマンド入力可の印)なので入力してはいけません。青色部を入力後にEnterキーを入力してください。

1. php4のソースパッケージの準備
$ mkdir src
$ cd src
$ apt-get source php4

2. 不足パッケージのインストール
$ sudo apt-get install libtiff4-dev php4-dev

3. PDFlib のコンパイル
$ cd php-4.3.10/ext/pdf
$ phpize
$ ./configure --with-php-config=/usr/bin/php-config \
--with-pdflib=shared,/usr/local \
--with-jpeg-dir=/usr \
--with-png-dir=/usr \
--with-zlib-dir=/usr \
--with-tiff-dir=/usr \
--with-gnu-ld
$ make

4.シェアドライブラリをインストール
$ sudo -s
# ./build/shtool install -c modules/* /usr/lib/php4/20020429
# vi /etc/php4/apache/php.ini

以下の行をファイルの最後に追加します。
extension=pdf.so

5. apache の再起動
# /etc/init.d/apache stop
# /etc/init.d/apache start
 
PDFlib は各種プログラム言語でPDF形式のファイルを作成するためのツールです。このプログラムはオープンソースですが有償のプログラムです。特に仕様上の制限はありませんが正式利用するにはライセンスの購入が必要です。私が利用しているバージョン(4.0.3)ではC言語から利用できるライブラリのソースコードは全て公開されています。これを利用して pdflib.com のロゴが入らないPDFを生成することができます。今回は、このソースコードをコンパイルしてC言語から利用できるようにインストールするまでを紹介します。

1.PDFlibのソースコードの入手

 現在では、こんな古いバージョンは pdflib.com からはダウンロードできないようです。もう2世代も古いバージョンですから仕方ないですね。しかし、PDFファイルを生成するための基本的な機能は全て持っています。私がダウンロードしたものを ここに 置いておきますので試してみてください。

2.展開・コンパイル・インストールする

 以下のようにコマンドを実行します。ソースコードは /tmp ディレクトリに格納されているものとします。違うディレクトリに格納されている場合は読み替えてください。行頭のドル記号($)は一般ユーザのプロンプト(コマンド入力可)を示しますので、入力する必要はありません。青色部のみ入力後にEnterキーを押してください。

$ tar zxvf /tmp/pdflib-4.0.3.tar.gz
$ cd pdflib-4.0.3
$ ./configure
$ make
$ sudo make install

これで、PDFlib が /usr/local 以下にインストールされます。

Knoppix をHDDにインストールすると、ほとんど Debian GNU/Linux と同じになります。インストールされていないパッケージをインストールしたり、アップデートするには Debian のパッケージ管理システムである dpkg を使用することになります。しかし、依存性の問題を人間系で解決するのは大変な作業になります。そこで登場するのが apt と呼ばれるツール群です。私の場合は apt-get だけで済んでしまいます。

今回のテーマである webmin ですが、Debian では多くのパッケージになっています。動作させる各種サーバ用のパッケージをインストールする必要があります。そこで自分のシステムに合わせてパッケージをインストールすることになります。私の場合は以下のパッケージをインストールしました。
  • webmin
  • webmin-apache
  • webmin-core
  • webmin-inetd
  • webmin-logrotate
  • webmin-lpadmin
  • webmin-postfix
  • webmin-postgresql
  • webmin-squid
実際にインストールするには、以下のコマンドを実行します。青色部を入力後にEnterキーを押してください。
ただし、「...」の部分は必要なモジュールに置き換えてください。

# apt-get update
# apt-get install webmin webmin-apache webmin-core ...

インストールが終了すると、ユーザ作成やアクセス権の設定などをする必要があります。常に root ユーザしか使用しない場合はユーザ作成は不要です。また、そのサーバ以外のPCからメンテナンスしないならば、アクセス権の設定は不要です。同時に使用する言語も日本語に切り替えておきます。
Knoppix をHDDインストールしただけで PostgreSQL7.4の環境は出来ているのですが、実際に使用するには多少の設定変更が必要です。順に説明します。説明中の青色部はキー入力を示し、行末でEnterキーを押してください。

1. PostgreSQLの起動

最初に PostgreSQL を起動すると、データベースをどこに作成するかを聞いてきます。デフォルトの /var/lib/postgres のままでいいでしょう。PostgreSQL の起動は以下のコマンドで行います。OSの再起動をした場合は自動的に起動するように設定されます。
# /etc/init.d/postgresql start

2. 他のPCやサーバに PostgreSQL のアクセスを許可する

インストールされたままの設定では、他のPCやサーバから PostgreSQL を利用することができません。このサーバ上でのみ利用するなら、そのままでかまいません。しかし、そうでないならば /var/lib/postgres/data/pg_hba.conf に以下の記述を追加する必要があります。ここでは、このサーバに接続された全てのPCやサーバからのアクセスを無条件に許可します。IPアドレスは自分の環境に合わせてください。

# vi /var/lib/postgres/data/pg_hba.conf
以下の記述を追加する
host all all 192.168.1.0 255.255.255.0 trust

修正後は設定を反映させるために PostgreSQL を再起動しておきます。

# /etc/init.d/postgresql restart

3. pgbenchを使用できる環境を作る

pgbenchはPostgreSQLのパフォーマンスをチェックするためのツールです。これを利用するためには、Debianでは postgresql-contrib をインストールしなければなりません。次のコマンドでインストールしましょう。


# apt-get install postgresql-contrib

実際にpgbenchでパフォーマンスを測定してみましょう。


# createdb testpgbenchで測定するためのデータベースを作成する
# pgbench -i -d testpgbenchで測定するためのデータ準備
# pgbench -c 32 -d testクライアント数32の場合のパフォーマンス測定
ファイルサーバとして使おうとすると、コンピュータウィルスの感染が心配です。インターネットにアクセスするPCに対応ソフトをインストールしてウィルスを持ち込まないのが原則ですが、安心のためにサーバにもインストールしておくことにしました。

OSなどと同様にオープンソースを利用することにしました。詳細は以下のページを参照してください。

Clam Anti Virus Project 
ClamAVのページ 

Debian で ClamAV を利用するには、以下の行を /etc/apt/sources.list に追加します。
deb http://people.debian.org/~sgran/debian sarge main

続いて以下のコマンドを実行してインストールします。

# apt-get update
# apt-get install clamav

インストール中に、いくつかの質問が表示されますが、全てデフォルトのままで了解しました。サーバの再起動をしないなら次のコマンドで ClamAV のデータベース更新ソフトを起動しておきます。

# /etc/init.d/clamav-freshclam

インストールはこれで終了です。ファイルをチェックするには以下のようなコマンドを実行します。

# clamscan -r /home > clamscan.log

これで /home ディレクトリ以下に格納された全てのファイルをチェックします。このチェックを定期的に動作させたい場合は cron の設定をしておくのがいいでしょう。