XML::RSSのインストール
XML::Parserをインストール
XML::RSSを使おうと思ったらXML/Parser.pmがないって言われた.ということでCPANでXML::Parserモジュールをインストールする.
ところが問題発生.expatっていうのがないらしい.
参考URL
http://d.hatena.ne.jp/wherever/searchdiary?word=*%5BPerl%5D:Mac OS XにXML::Parserのインストール
wget http://superb-east.dl.sourceforge.net/sourceforge/expat/expat-2.0.0.tar.gz
tar xzvf expat-2.0.0.tar.gz
cd expat-2.0.0
./configure
make
make install
こんな感じでインストールできる.
$ cd XML-Parser-2.34
$ perl Makefile.PL EXPATLIBPATH=/usr/loca/lib EXPATINCPATH=/usr/local/include
$ make
$ make install
2行目が呪文みたいだ・・・.とりあえずこの通りやればインストールできた.
CPANの設定変更
僕のCPANの調子が悪いのは,ftp先をftp://ftp.cpan.jpにしていたかららしい.
しかも/root/local/lib/perl5/5.8.8/CPAN/Config.pmのurllistを編集してしまって([q[〜〜〜]]の外側の括弧消しちゃったからみたいwww)編集できなかった.今回はその括弧を直して,以下のコマンドを実行.
cpan>o conf
基本的にはo conf〜で設定を変更する.初期化もo conf initだったしね.
urllistの確認は
cpan>o conf urllist
urllistの変更は
で追加.
で削除.
これ見てわかるように,perlと一緒でpush,popだけでなく,shift,unshiftも使えるみたい.優先したいURLを最初に持ってくるように並び替えましょう.上のConfig.pmを無理やり変更してもokです.
参考にしたURL
http://www.drk7.jp/MT/archives/000885.html:CPAN の ダウンロード先(URL リスト)を変更する方法
CGIを使えるようにするために/usr/local/etc/apache22/httpd.confを編集
編集箇所は2つ.
Alias /www /usr/home/username/www/
AllowOverride All
Options Includes ExecCGI
Order allow,deny
Allow from all
これによってブラウザでhttp://IPアドレス/www/ってやるとそのフォルダにアクセスでき,かつそのフォルダ以下にあるCGIファイルを動かすことができる.
また,以下が書いてある行のコメントアウトをはずす.(ただし.plは必要に応じて追加)
AddHandler cgi-script .cgi .pl
CPANのインストール失敗?
CPANは以下のコマンドで開始(初回はインストール)できる.
OS:FreeBSD
perl-version:5.8.8 (perl -vで確認可能)
perl -MCPAN -e shell
インストールはそこら中に書いてある通り,基本的にはEnter連打でOK.
途中いくつか必要なモジュールを聞かれるので,聞かれるたびにCtrl+Cで脱出してwgetとかuzipなんかをportで入れる.ncftpgetとncftpとgpgは入れなくても動きそう.
で,あとは
install モジュール名
でインストールできる・・・・・・・・・・・・・はずでした・・・
なんかできない!忘れてしまったが,/usr/source/〜tar.gzみたいなファイルを見に行って,無いとか言ってるように見えたんだけど,詳しい原因は不明.
で,今日FreeBSDを再起動したんだが,なぜか今度は動いた!なんで!?まぁいいかwあとはモジュール入れれば,Perlプログラム動かせるな.
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
と思ったら原因違ったw次に書いた日記参照
http://d.hatena.ne.jp/Tadaima/20071230
sambaのインストール
CGIを動かす前に先にsambaをインストールsamba3.0.24(だったかな?)
参考にしたのは以下のサイト
http://matsui.homeunix.com/index.php?FreeBSD%2FSamba3:FreeBSD/Samba3
でも日本語パッチ?を当てるのがうまくいかなかった.何でだろうなぁ?また時間あったら修正してみます.まぁ日本語のファイル名付けないようにしてるけど.
/etc/rc.confの修正
# vi /etc/rc.conf
ここの#を外す。
- 修正-----------------
nmbd_enable="YES"
smbd_enable="YES"
- 修正-----------------
# /usr/local/etc/rc.d/samba.sh start
sambaのアカウント追加
# /usr/local/bin/smbpasswd matsui
できず….おおおおい!!!!!!!!!!!!
ちょっと調べたらhttp://search.luky.org/linux-users.9/msg08180.html:ここに書いてあった.
# smbpasswd -a john
みたいに-aを入れるといいらしい.パスワードの設定と同時に,ユーザの追加も行なうそうです.ユーザ名の打ち間違いに備えてなのかな?まぁ確かにそのたびにユーザ増えたらセキュリティ的にも危ない気がするしな.
VMWare+FreeBSDからApacheインストールまで
家でもCGIなどで遊べるようにVMWareを入れることにした.
VMWareはここからダウンロード.
そしてFreeBSD6.2のインストールは以下を参考にしました.
(最初6.1でやろうとしたらFTPサーバにないっていわれた…)
辰己丈夫の研究雑報
FreeBSDをVMWare上にインストール
以下は辰己丈夫の研究雑報からの引用
# VMwarePlayerをダウンロード&インストール
http://www.vmware.com/ja/products/player/
VMwarePlayerは無料の仮想マシンです。僕は version 1.0.3 を利用しました。
# qemuを利用してディスクイメージを作る1. QEMUをダウンロード
http://www.h7.dion.ne.jp/~qemu-win/index-ja.html
2. ダウンロードしたファイルを展開しますが、念のため、C:\QEMUという(ディレクトリ名にスペースを含まない)ディレクトリ(フォルダ)を作って、その中に展開。
3. スタート→プログラム→アクセサリ→コマンドプロンプトを開く。
4. 上記の場所にダウンロードしたら、次のコマンドを順に入力。(バージョンが異なる場合は適宜読み直して下さい。)また、4番目のコマンドの最後の「10G」の部分は、最大10GBまで使うという意味です。ディスク残量などを見ながら適宜変えます。でも、6Gは欲しいです。
cd \QEMU
cd \QEMU-0.8.2-windows
mkdir \FreeBSD
qemu-img create -f vmdk \FreeBSD\freebsd6.vmdk 10G# FreeBSD の iso ファイルをダウンロードする。
ftp://ftp.jp.freebsd.org/pub/FreeBSD/ISO-IMAGES-i386/6.2/6.2-RELEASE-i386-bootonly.iso
そのファイルは \FreeBSD に置きます。
# VMwarePlayer用の定義ファイルを置く
先ほど vmdk を置いた場所(\FreeBSD)に、定義ファイルを置きます。メモ帳などを利用して作ります。ファイル名は freebsd6.vmx としてください。config.version = "8"
virtualHW.version = "3"displayName = "FreeBSD"
annotation = "FreeBSD 6.1-RELEASE"
guestOS = "freebsd"
nvram = "freebsd.nvram"
memsize = "256"usb.present = "TRUE"
floppy0.present = "FALSE"ide0:0.present = "TRUE"
ide0:0.fileName = "freebsd6.vmdk"
ide1:0.present = "TRUE"
ide1:0.deviceType = "cdrom-image"
ide1:0.startConnected = "TRUE"
ide1:0.fileName = "6.2-RELEASE-i386-bootonly.iso"ethernet0.present = "TRUE"
# ethernet0.connectionType = "nat"
ethernet0.connectionType = "bridged"
ethernet0.virtualDev = "e1000"sound.present = "TRUE"
sound.virtualDev = "es1371"checkpoint.vmState = "freebsd6.vmss"
priority.grabbed = "high"
priority.ungrabbed = "idle"
workingDir = "."ide0:0.redo = ""
tools.remindInstall = "TRUE"
ethernet0.addressType = "generated"
ethernet0.generatedAddressOffset = "0"上記の memsize = "256" は、メモリーを256M利用するという意味です。ホストOS(Windows XP)のメモリ容量を越えると大変なことになると思いますので、ほどほどにしてください。また、上記の ethernet0.connectionType = "bridged" の部分は、家庭などでbroadbandルータを利用してDHCPを宅内に配布できるときの設定です。できないときは ethernet0.connectionType = "nat" の方を有効にして下さい。Windows XPに natルータの機能をさせます。
# FreeBSDをインストールする1. 先ほどのファイル freebsd6.vmx をダブルクリックすると、vmware が動作開始。
2. FreeBSDのインストーラが起動するので、インストール開始です。
3. Media Type は FTP (あるいは FTP Passive) を選んで下さい。
4. ネットワークカードはemを選んで下さい。
5. 配布元は日本のFreebsdサーバーにすると世界的なトラフィック減少に貢献できます。
6. VMwareとWindowsの切替えは
* VMware→Windows 「Ctrl」+「Alt」
* VMware←Windows 「Ctrl」+「g」
です。
7. VMware自体は Phoenix bios のエミュレートをしていますので、
1. すぐに F2 を押して bios の設定に入って下さい。
2. 右側のメニュー「Boot」にブートデバイスの優先順位がありますので、 CD-ROMがHDDより上に来るようにする
とすれば、強制的にインストーラーで立ち上がります。FreeBSDの再インストールが必要な場合は、これを使います。
基本的にこのままやればOK.
また、上記の ethernet0.connectionType = "bridged" の部分は、家庭などでbroadbandルータを利用してDHCPを宅内に配布できるときの設定です。できないときは ethernet0.connectionType = "nat" の方を有効にして下さい。
まだセキュリティとかよくわからないので,とりあえずnatでやりました(natもどこまで安全なのかわからないけど…).
いろいろインストール中,設定内容を聞かれますが,どうせ後で設定できるのですっとばします.
とりあえず過去に他の人から言われたことをやりました.
- SSHはenableにすると便利
- shellはtcshが便利
- ユーザ追加で,グループをwheelにするとよい(wheelの詳しいことは後で調べなきゃな.とりあえず管理者権限が与えられるって感じでいいのかな?)
で,あっさりインストール完了.
さて,問題のapacheのインストールをします.
apacheのインストール
apacheのインストールは何回やってもあっさりできないですw
とりあえず,suして/usr/ports/www/apache22/に移動します.
あとはmakeしてinstallします.
さて,ここで/usr/local/sbin/apachectl startとやるとapacheが動くはずなのですが,普通動かない./usr/local/etc/apache22/httpd.confをいじった記憶があったので,設定します.
AdminName:管理者の名前
ServerName:サーバの名前(〜.localdomainとか?)
あれ?意外といじらない….で,まだ動かない.こんなエラーが出(た気がし)ます*1
その解決方法がここにありました.
http://www.xdelta.net/blog/FreeBSD/2006/05/04/p183
# kldload accf_http
これをやると,必要なモジュールを呼び出してくれるらしい.FreeBSD6.1のときは無かった気がするけどな?
で,その後動くようになるが,apachectl startすると動いてるように見えるのに,ブラウザでhttp://IPアドレス/にアクセスしてもページ読み込みエラーになる.その解決方法がここ.
http://d.hatena.ne.jp/akiyan/searchdiary?of=10&word=*%5B%A5%B5%A1%BC%A5%D0%A1%BC%B4%C9%CD%FD%5D
とりあえず,httpd.confの中の,
LoadModule unique_id_module libexec/apache22/mod_unique_id.so
をコメントアウトしてstart.またこいつか!そういえば昔もコメントアウトしてやってました.アクセスしてみると
It Works!
動いた!
なんでも/etc/hostsをちゃんと設定しなくてはいけないらしい.
そこで,/etc/hostsに
IPアドレス ホスト名 ホスト名.localdomain
みたいに書いたら,さきほどのhttpd.confのコメントアウトをはずしても動きました.
もうちょっと細かく調べないと知識つかないなぁ.面倒だけど,将来のためだと思ってやってみます.
次はCGIが動くようにします.
*1:Unable to load accf_http module