ラベル FreeBSD の投稿を表示しています。 すべての投稿を表示
ラベル FreeBSD の投稿を表示しています。 すべての投稿を表示

2008年2月6日水曜日

さくらサーバとSQLite

さくらサーバ(FreeBSD 6.x)にSQlite3.5.5のインストール、無事に入ることを祈りつつ。

参照サイトのSQLiteはバージョンが異なるのでそこを修正しつつインストール完了。

% cd $HOME/src
でディレクトリ移動しておき

% wget http://www.sqlite.org/sqlite-3.5.5.tar.gz

% tar xzvf sqlite-3.5.5.tar.gz

$ cd sqlite-3.5.5
で、ファイルがあることを確認。。

$ ./configure --prefix=$HOME/usr --disable-dynamic

$ make



sed -e s/--VERS--/3.5.5/ ./src/sqlite.h.in | sed -e s/--VERSION-NUMBER--/3005005/ >sqlite3.h gcc -g -O2 -o lemon ./tool/lemon.c‥

とか出てきて

$ make install
で、

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.

とか表示されて、サーバのディレクトリの中に納まっていれば完了。
起動は/home/(ユーザ名)/src/sqlite-3.5.5まで移動後、コマンドで"sqlite3"の入力でOK。
(※ コマンドの都合上SQLiteを停止するには「.quit」なのですね。。「.」忘れず、と。。)

いやはや先人に感謝です。

2008年1月29日火曜日

さくらサーバとCatalyst

Paggerが入ったので、動作確認と併せてCatalystを仕込む。

有用な参考情報はここ

単純にモジュール入れるだけでは、動作しないとのことでした。


下準備

アプリケーションの場所はuserディレクトリのwww以下でないところに作成。
  • CPANモジュールは~/perl/lib(/home/username/perl/lib)がインストール先
  • アプリケーションは~/(アプリ名)(/home/username/(アプリ名))に作成

【手順】
  1. CPANからTASK::Catalyst入れる。(所要時間はおよそ30分と長め)

  2. DB作成(今回は"さくらサーバ"に既存のMySQL利用)

  3. Catalystのアプリ作成
    (→テストの為、簡単なHello表示されるもの)
    3-1 ワークディレクトリで catalyst.pl (アプリ名) でアプリ作成 
    3-2 scriptディレクトリにて script/(アプリ名)_server.pl でアプリ起動&停止はCtrl+C

  4. ~/www周辺のファイル設定(ディレクトリいじり&Apacheへのアクセス)

  5. http://www(登録ホスト名参照).sakura.ne.jp:3000/でWebアプリが表示されればOK

ほとんど参考ページ通りだったので、その差異だけ。。

ページには
  • script/myApp_cgi.plの書き換え

  • シンボリックリンクの作成

  • .htaccessの作成

の手順があったのが、始めの(アプリ名)_cgi.plのファイルはいじらなくてもエラー出ませんでした。

シンボリックリンクがあればhttp://(username).sakura.ne.jp/に行った際、ディレクトリ構造の中に~/www/script ができる。

.htaccessファイルを作成して、FTPで~/www/下へアップ。(大・小文字は気をつける)


「.htaccessファイル」

AddHandler cgi-script .pl

RewriteEngine On
RewriteCond %{REQUEST_URI} !^/Hello/?script/hello_cgi.pl
RewriteRule ^hello/(.*)$ script/hello_cgi.pl/$1 [PT,L]

以上、http://www(登録ホスト名参照).sakura.ne.jp:3000/へ遷移後、「Hello on Catalyst 5.7012」のページが表示されたらCatalyst起動確認完了。

さくらサーバとPlaggerインストール

初めてのFreeBSD、、ちなみに"さくらのレンタルサーバ"(月々¥500、1GB、その他サービス込み)はお得と思う。

で、Plaggerのインストール。

これを済ませておけば、後々遠隔(cronの機能とかで)自動RSS or メール配信が可能になるから。

まずはここからスタート。


【手順】
さくらサーバのユーザ領域では、やりたい放題できないようだが、やり方は迂回してで何通りかあるらしい(subversion とかBSDPANなど?他の情報はこちら)。


自分の場合は慣れたCPAN経由で実行。

  1. MyConfig.pmの修正
  2. CPANのインストール 
  3. Plaggerのインストール

先に挙げたサイト通りにつまづくところ(※)もありで、半日くらいかかった。


【※自分の嵌ったポイント】

・FreeBSDは"UTF-8"では起動時にコマンドエラーが発生した、"EUC"で修正対象ファイルを上書きしたら治った。

下記は参照URLを見ながら順に解決。
・ Template が入らない
・ DateTime::TimeZone、DateTime::Format::Mail が入らない
・ Encode::Detect が入らない

「Module::Build が古いのが原因でオプションが認識されない」の部分は巧妙で、ここで先に"Build.PL"を自力インストールしておくと、つまづいた箇所が解決することがあった。
(今回はXML::Feedの一部でインストールできなかったところが、この過程ですっきりした。)


・全モジュールのインストール後、Plagger -v でplaggerの起動を確認したら、「Not Found Command」が表示された。

→これは調べても検索されず、ローカルで起動させたように強引に"plagger.bat","plagger.pm"をコピーして適当なディレクトリに収めたら、正常に反応するようになった。
ただ、そのままコピペではなくPerlのバージョンにあわせた修正を施すのも必要だった。

"plagger.bat"
/home/(user)/local/bin

"plagger.pm"
/home/(user)/local/lib/perl5/Plaggerへ
以上で、plagger -v でバージョン表示OKでした。


~追記~


"plagger.pm"のエラーに

Can't locate Plagger.pm in @INC (@INC contains: /home/~

とか

Can't find package from /home/(ユーザ名)/local/lib/perl5/Plagger/Plugin/Plagger.pm at /home/(ユーザ名)/local/lib/perl5/Plagger.pm line 180.

とか出たら環境変数の設定(参照)、plagger.pmファイルの格納アドレス、plagger.pmファイルの文字コード(自分の場合はEUC-JP)を突き合わせてみる必要がありました。
(自分もplagger.pmファイルは/home/(ユーザ名)/local/lib/perl5 へ置くことに)

環境変数を修正後は
source ~/.cshrcで環境変数読み込み、Plaggerの起動確認をします。

Blogger Syntax Highliter