今回は、FreeBSDのパッケージ管理システム、portsを使ってみます。
バイナリパッケージは、ある環境を想定してコンパイルされた、「既製服」のようなものです。一方、portsを使うと、自分の環境に合わせて、オーダーメイドでソフトウェアをインストールできます。
ただし、オーダーメイドにするために、portsは、一生懸命、ソースファイルからコンパイルします。そのため、インストールに時間がかかってしまいます。また、それなりにディスク容量を食います。
QEMU内のFreeBSDは、それなりに処理能力が低いですから、状況に応じて、portsとpackageを使い分けるのがいいんじゃないでしょうか。
私は、FreeBSDでは、もう6年くらいまえから、パッケージは一切使わず、ぜんぶportsで、自前でコンパイルしてインストールしています。そのほうが、トラブルが少ないんですよ。
■ これまでのおさらい
■ 準備
- QEMUのFreeBSDを実行する
- ttssh(teraterm ssh)で、FreeBSDにログインし、ポートフォワーディングによって、FreeBSDからインターネットにアクセスできるようにする。PuTTYは調子わるいので、ttsshを使う!
- FreeBSD内でのプロキシーサーバの設定確認。これまでの流れではこうなる。
setenv http_proxy http://localhost:8080/
setenv ftp_proxy http://localhost:8080/
setenv no_proxy localhost
■ 最新のportsを入手
このへん
ftp://ftp2.jp.freebsd.org/pub/FreeBSD/ports/ports-stable/ports.tar.gz
に、最新のportsがあるので、ダウンロードします。
freebsd# cd /usr
freebsd# fetch ftp://ftp2.jp.freebsd.org/
pub/FreeBSD/ports/ports-stable/
ports.tar.gz
ports.tar.gz 100% of 26 MB 468 kBps 00m00s
/usr以下で、ports.tar.gzを展開します。/usr/ports/以下に、いろいろなディレクトリがある、という配置になります。
freebsd# pwd
/usr
freebsd# tar zxf ports.tar.gz
ファイルports.tar.gzの展開は、QEMU内で実行するには、けっこう重い処理のようで、時間がかかります。私のパソコンでは、7~8分もかかりました。
freebsd# ls /usr/ports/
.cvsignore audio french mbone sysutils
CHANGES benchmarks ftp misc textproc
LEGAL biology games multimedia ukrainian
MOVED cad german net vietnamese
Makefile chinese graphics net-mgmt www
Mk comms hebrew news x11
README converters hungarian palm x11-clocks
Templates databases irc polish x11-fm
Tools deskutils japanese portuguese x11-fonts
UPDATING devel java print x11-servers
accessibility dns korean russian x11-themes
arabic editors lang science x11-toolkits
archivers emulators mail security x11-wm
astro finance math shells
■ portsでPHP4をインストールしてみる
なぜか、パッケージのPHPは、Apacheバージョン1.3.x用にコンパイルされています。以前インストールしたのは、Apacheバージョン2.0.xなので、PHPをパッケージではインストールできません。そこで、portsを使ってインストールする、というわけです。
PHPは、あることをするのに必要になるので・・・詳細は後日
コンパイルするときの条件を指定します。
freebsd# cd /usr/ports/lang/php4/
freebsd# make config
「Use apache 2.x instead of apache 1.3.x」に、Xマークをつけます。
よくわからないけどMULTIBYTEもイネーブルしてみました。
コンパイルします。
freebsd# make
===> Vulnerability check disabled, database not found
===> Found saved configuration for php4-4.3.11_1
=> php-4.3.11.tar.bz2 doesn't seem to exist in /usr/ports/distfiles/.
=> Attempting to fetch from http://br.php.net/distributions/.
php-4.3.11.tar.bz2 17% of 3918 kB 186 kBps
(このあと、それなりに時間がかかります)
(依存するほかのツールも、自動的にインストールされます)
インストールします。
freebsd# make install
===> Installing for php4-4.3.11_1
===> php4-4.3.11_1 depends on file: /usr/local/sbin/apxs - found
===> Generating temporary packing list
(省略)***************************************************************
Make sure index.php is part of your DirectoryIndex.
You should add the following to your Apache configuration file:
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps***************************************************************
===> Compressing manual pages for php4-4.3.11_1
===> Registering installation for php4-4.3.11_1
コンパイルしたときに、いろいろなファイルが作られるので、それを削除します。
freebsd# make clean
portsを使ってのソフトウェアのインストールは、以上のような流れになります。一番簡単なやり方は、
cd /usr/ports/なんとか/かんとか/
make install clean
とするだけです。
■ php4-extensionsをインストール
あとでmbstringやMYSQLなどを必要とするツールがあるので、そのために、php4-extensionsをインストールします。方法は、php4のときと同じ。
configを行います。
freebsd# cd /usr/ports/lang/php4-extensions/
freebsd# make config
MBSTRINGと、GDを追加し、Xマークをつけるは、以下のものになります。
- CTYPE
- GD
- MBSTRING
- MYSQL
- OVERLOAD
- PCRE
- POSIX
- SESSION
- TOKENIZER
- XML
- ZLIB
freebsd# make
===> Vulnerability check disabled, database not found
===> Found saved configuration for php4-extensions-1.0
===> Extracting for php4-extensions-1.0
===> Patching for php4-extensions-1.0
===> Configuring for php4-extensions-1.0
freebsd# make install
===> Installing for php4-extensions-1.0
===> php4-extensions-1.0 depends on file: /usr/local/include/php/main/php.h -
found
===> php4-extensions-1.0 depends on file: /usr/local/lib/php/20020429/ctype.so
- not found
===> Verifying install for /usr/local/lib/php/20020429/ctype.so in /usr/ports
/textproc/php4-ctype
(以下略)
インストールします。
いくつかのportsで、configのメニューが表示されるので、それぞれ適当に設定します。
freebsd# make install
インストールが終わったら、make cleanでお掃除。
というわけで、portsを使ってのインストールは、makeと入力して、あとはのんびりまっていれば、しばらくすれば終わってる、という感じです。
次回、PHP4をつかった、何かをインストールします。
0 件のコメント:
コメントを投稿