メイン

mac アーカイブ

2006年08月25日

Mac OSX * Apache2 * tomcat5 * mod_jk2

AjaxするにはなにかとJSP2.0だといいっぽいので、Tomcat4.1.18からTomcat5.5.17へバージョンアップ。ついでに MacデフォルトWebサーバであるApache1.3.33をApache2.2.3へアップグレード。さらにこの2つをmod_jk2で連携させる。結構ハマる感じなので、後を考えてログ。


■Tomcat5.5.17インストール
ここの左の[Download]からTomcat 5.x(今回は5.5.17)を選んで、Coreのzip版を選んでDL。tar.gz版だと何故か正常に解凍できない不具合があるっぽい。
これは普通に解凍後、/usr/localに置けばよい。
/bin/startup.shしてからlocalhost:8080にアクセスして正しく気持ち悪い猫がでてくれば、とりあえずよい。


■Apache2.2.3インストール
ここからUnix Sourceのhttpd-2.2.x.tar.gz(今回は2.2.3)をDL。/usr/localに移動させて,解凍。その後

$ sudo ./configure $ sudo make $ sudo make install

とやれば勝手に/usr/local/apache2というディレクトリにインストールしてくれる。
オプション無しで勝手にやってくれるようになったようだ。
bin/apachectl startとやってlocalhostにアクセスして

It works!

と表示されれば、よい。TOPページがすごく手抜きになった気が。。


■Tomcat5とApache2を連携させるj2のインストール。
ここからJK2 2.0.4 Source Release zipを落として、適当な場所に解凍。

そしてjk2作成用のディレクトリまで移動してconfigure。。。

$ cd /[解凍したディレクトリ]/jakarta-tomcat-connectors-jk2-2.0.4-src/jk/native2 $ ./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-tomcat50=/usr/local/tomcat5

とやると、libaprが無いと言われるが、/usr/local/apache2/libにlibapr.soという空のファイルを作る
事でこのエラーは回避できるようだ。

$ cd /usr/local/apache2/lib $ pwd /usr/local/apache2/lib $ vi libapr.so

としてとりあえず中身を何も書かず保存。そして再度

$ sudo ./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-tomcat50=/usr/local/tomcat5

とやると今度はちゃんと出来るはず。その後

$ sudo make

までやる。そうすると

$ /[解凍したディレクトリ]/jakarta-tomcat-connectors-jk2-2.0.4-src/jk/build/jk2/apache2

にmod_jk2.soというファイルが出来ているはず。それを

$ sudo cp mod_jk2.so /usr/local/apache2/modules/

とする。さらに

$ /[解凍したディレクトリ]/jakarta-tomcat-connectors-jk2-2.0.4-src/jk/conf

にworkers2.propertiesというファイルがあるので、これを

$ sudo cp workers2.properties /usr/local/apache2/conf/

して、httpd.confにLoadModule jk2_module modules/mod_jk2.soという行を追加する。後は、Tomcatのwebapps/jsp-examplesをexamplesに変えて(もしくは、workers2.propertiesを直接変更する)、Tomcat⇒Apacheと再起動してブラウザで localhost/examples/が見れれば完了。


■jk_2を使ったwebappsの登録。
/usr/local/apache2/conf/workers2.propertiesを開き、新規に作るwebappsのディレクトリ名を

[uri:/[ディレクトリ名]/*] info=[ディレクトリの解説] context=[ディレクトリまでのパス] debug=0

(例)
[uri:/hoge/*]
info=hoge is hoge
context=/hoge
debug

として、Tomcat⇒Apacheと再起動すればよい。httpd.confやserver.xmlをいじる必要は無い。
便利になったけど、jk2は公式サポートしなくなったらしい。。



2006年08月26日

MySQL GUI Tools



mysqlgui-tools.jpg

MySQLのGUIツールである

・MySQL Administrator
・MySQL Query Browser
・MySQL Workbench

という3つがユニバーサルバイナリになると共に、
抱き合わせで配布されるようになっていた。

さらにmysqldのステータスを逐一確認できるウィジェットも付いていた。
かっこよさげだ。

MySQL Workbenchはβ版らしいが、公式ウェブにも説明らしきものが無い。
これはなんだろう。。

あと、MySQLAdministratorのアイコンはWMPのアイコンとかぶってる。。



2006年08月29日

Apache2 * /Users/*/Sites的な事

Mac OSXにデフォルトに代わってApache2.xを入れた時、80ではすぐ上がるようになるが、デフォルトApacheの如く/Users/*/Sitesを表示させるためにはもう一捻りする。

httpd.confの最後の方の

# User home directories # Include conf/extra/httpd-userdir.conf <= これ

のコメントアウトを外し

# User home directories Include conf/extra/httpd-userdir.conf

とする。
そしてこのInclude元である[Apache_home]/conf/extra/httpd-userdir.confを開き、下記のように編集する。

# Settings for user home directories # # Required module: mod_userdir

#
# UserDir: The name of the directory that is appended onto a user's home
# directory if a ~user request is received. Note that you must also set
# the default access control for these directories, as in the example below.
#
#UserDir public_html
UserDir /Users/*/Sites

#
# Control access to UserDir directories. The following is an example
# for a site where these directories are restricted to read-only.
#
#
<Directory /Users/*/Sites>
AllowOverride FileInfo AuthConfig Limit Indexes
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
<Limit GET POST OPTIONS>
Order allow,deny
Allow from all
</Limit>
<LimitExcept GET POST OPTIONS>
Order deny,allow
Deny from all
</LimitExcept>
</Directory>

これでApacheに再起動かけると、デフォルトApacheの如く/Users/*/Sitesを表示できるようになる。



2006年09月07日

Mac版FirefoxのGoogleプラグインの設定を変更

Firefoxにはデフォルトで検索プラグインがいくつか用意されており、それらはCommand+Kで呼び出せる。


しかしそこで設定されているGoogleプラグインは結果を「日本語のページを検索」のみ表示するように設定されており、普段「ウェブ全体」から調べる自分はいちいち「ウェブ全体から検索」ラジオボタンをチェックして調べ直さなければならない。


またMac版Firefox専用の独立したGoogleツールバーも提供されているが、どうやらキーボードショートカットが割り振られてないらしく、いちいち


Command+LでURLスペースに移動⇒Tabキーで検索ボックスに移動


という流れをしなければいけないので少々めんどい。
環境設定からもabout:configからも変更できなかったので


/Applications/Firefox


を右クリック⇒パッケージの内容を表示してSpotlightで「google」で検索してみたら、それらしいものを発見。


/Applications/Firefox/Content/MacOS/searchplugins/google-jp.src


名前から察するにどうやら/Applications/Firefox/Content/MacOS/searchplugins/に検索プラグインの設定ファイルが入っているようだ。


これをmi等の適当なエディタで開いてみると、色々な設定が書き込まれている。
とりあえずデフォルトで「ウェブ全体を検索」の設定にするには、17行目あたりの


<input name="lr" value="lang_ja">


をコメントアウトしてあげればよい。その下18行目デフォルトでコメントアウトされている


#<input name="num" value="100">


のコメントアウトを外すと、valueで指定された数だけ表示されるようになる。
こうすることで、Command+Kのワンアクションでサクサクと検索できるようになる。


ちなみに、/Applications/Firefox/Content/MacOS/searchplugins/にhogehoge.gif(16 * 16)とhogehoge.srcというのを追加すれば勝手にプラグインを追加できるようだ。



2006年10月20日

Mac OSX * Subversion

Mac OS X(10.4.8)にSubversionをインストールした後、チェックアウトしようとした時にちょっとハマったのでメモ。


ローカルからはすんなりチェックアウトできたが、外部からsvn+sshでチェックアウトしようとした時に以下のエラーが出た。

$ svn checkout svn+ssh://svnuser@hogehoge.com/home/svnuser/repository/testapp/trunk testapp

bash: line 1: svnserve: command not found
subversion/libsvn_ra_svn/marshal.c:255: (apr_err=210002)
svn: Connection closed unexpectedly


明らかにPATHが通ってないので/etc/profileに/usr/local/binを追加して再起動。
それでも直らなかったので、デフォルトPATHの/usr/binにシンボリックリンクを張ったら、直った。

$ ln -s /usr/local/bin/svnserve /bin/svnserve
$ svn checkout svn+ssh://svnuser@hogehoge.com/home/svnuser/repository/testapp/trunk testapp
Password: ******
A testapp/test2.txt
A testapp/test.txt
Checked out revision 1.

sshとbashの組み合わせだとどうのっていうエラーらしい。
でも動いたから、ヨシ。


2006年10月31日

ターミナル.appで日本語入力

Macのターミナル.appはデフォルトだと謎に日本語がエスケープされるので、Subversionとかにコミットしたときうまくいきません。


日本語対応させる手順は以下。
zshもbashも基本同じ。


■.zshrc OR .bash_profileに以下を追加。

export LANG=ja_JP.UTF-8
export LESSCHARSET=utf-8


■.inputrcなるのをホームディレクトリ( ~ )に以下の内容で作成。

set convert-meta off
set meta-flag on
set output-meta on

これで、表示もされるしviの中で日本語入力も出来るようになる。


2006年11月05日

MacでMapServerをソースからビルド

Mac用のMapServerバイナリはあるにはあるが、やっぱり手でビルドしたいと言うことでソースからビルドした。環境はMacBook Kro( CoreDuo 2GHz & Mac OSX 10.4.8)。


注意点としては、とりあえず沢山ライブラリが必要であるということだ。
例の如く、その辺はport様にやって頂く。
なので、基本的には2つほどインストールさえすれば、他のライブラリもよしなにport様がやってくださる。
とりあえず最短距離を示して、後半は個人的なログにする。


■■最短距離

■1. 事前準備。必要なライブラリを揃える。
前述の通り、基本的にこの2つをインストールすれば、その中で依存関係にあるライブラリをよしなにやってくださる。こいつらのインストールが終わるまでひたすら待つ。

$ sudo port install gdal
[以下、無い場合は勝手に追加されるライブラリ]
--> zlib
--> libpng
--> tiff
--> libgeotiff
--> jpeg
--> giflib
--> sqlite3
--> proj


$ sudo port install gd2
[以下、無い場合は勝手に追加されるライブラリ]
--> libpng
--> jpeg
--> freetype
--> XFree86

■2. MapServerのビルド。
ここを参考にしつつ、ここのはバージョンが4.6とちょっと古かったり微妙に間違ってたり(?)するのでチョコチョコ変更。

とりあえず適当なディレクトリに移動し、本家からソースをゲット。

$ cd /usr/local/src
$ wget http://cvs.gis.umn.edu/dist/mapserver-4.10.0.tar.gz
$ tar xvfz mapserver-4.10.0.tar.gz
$ cd mapserver-4.10.0

ここで、port様に合わせた設定でconfigureする。つまり、/opt/localを大半のオプションとして渡す。--with-geosオプションに関しては、先のページだと/usr/localとなっているため最初/opt/localを渡したが、「Cant execute /opt/localどうの」というエラーが出たため、geos-configコマンドまでのフルパスを指定してやると通るようになった。

$ ./configure --mandir=/usr/local/share/man --with-proj=/opt/local --with-gdal=/opt/local/bin/gdal-config --with-ogr --with-gd=/opt/local --with-xpm=/usr/X11R6 --with-geos=/opt/local/bin/geos-config --with-wfs --with-wcs --with-wfsclient --with-wmsclient --with-postgis=/opt/pgsql/bin/pg_config --with-freetype=/opt/local/bin/freetype-config

これが通れば、あとはmakeをする。
ただし、make installはしない。
makeが正常終了すれば、mapservというのが現在のディレクトリ配下に作られる。
これが求めしもの。

それを
/Library/WebServer/CGI-Executables
等に移動し、Apacheを起動した上でブラウザから
http://localhost/cgi-bin/mapserv
にアクセスし、

「No query information to decode. QUERY_STRING is set, but empty」

と表示されれば、ビルドは成功だ。

■■ログ
$sudo port install gdal
を実行するも、zlibが無いと言われてconfigureエラーになってしまった。
確認するとちゃんとzlibは/opt/local/lib配下にインストールされている。
同様にzlibに依存するlibpngをインストールする際にもエラーが出た。
なので、とりあえずzlibを入れ直すことに。

■zlibの削除。


$ sudo port uninstall zlib

---> Unable to uninstall zlib 1.2.3_0, the following ports depend on it:

---> openssl

---> freetype

そうですか依存されてますか。ということで依存関係にあるやつも根こそぎ削除。
ここでは書かないが、削除に当たってはuninstallに加えてclean --allによってアーカイブもまっさらに消した。

$ sudo port uninstall openssl
---> Unable to uninstall openssl 0.9.8a_0+darwin_8, the following ports depend on it:
---> wget

$ sudo port uninstall wget
---> Deactivating wget 1.10.2_0+darwin_8
---> Uninstalling wget 1.10.2_0+darwin_8

$ sudo port uninstall openssl
---> Deactivating openssl 0.9.8a_0+darwin_8
---> Uninstalling openssl 0.9.8a_0+darwin_8

$ sudo port uninstall freetype
---> Unable to uninstall freetype 2.1.10_1, the following ports depend on it:
---> fontconfig

$ sudo port uninstall fontconfig
---> Deactivating fontconfig 2.3.2_1+macosx
---> Uninstalling fontconfig 2.3.2_1+macosx

$ sudo port uninstall freetype
---> Deactivating freetype 2.1.10_1
---> Uninstalling freetype 2.1.10_1

$ sudo port uninstall zlib
---> Deactivating zlib 1.2.3_0
---> Uninstalling zlib 1.2.3_0

■zlibらの入れ直し。
とりあえずエラーが出たlibpngを入れることにした(依存関係のために自動でzlibも入れ直してくれる)。

$ sudo port install libpng

成功。あとはwget( 消したopensslに依存するので自動でopensslを復元)やgdal, gd2を入れる。

$ sudo port install wget
$ sudo port install gdal

-->ここでエラー
/usr/bin/ld: warning /opt/local/lib/libreadline.dylib cputype (18, architecture ppc) does not match cputype (7) for specified -arch flag: i386 (file not loaded)

たぶん、前にppcで入れたreadlineを引き継いでいる?しょうがないのでreadlineも一旦uninstallしてから、入れ直し。

$ sudo port uninstall readline
Password:
---> Deactivating readline 5.0.005_0+darwin_8
---> Uninstalling readline 5.0.005_0+darwin_8
$ sudo port install readline


$ sudo port install gd2

あとは、上のconfigureオプションでビルド。


2007年04月05日

jp2a

Jpeg画像からAAを生成するjp2aを入れたときのログ。

流れとしては、
1.port様でとりあえずjp2a(及び必要なライブラリ=jpeg, curl)を入れる。
2.port様のjp2aはバージョンが古くカラー画像が扱えないため、自分でソースからmakeする。
3.環境設定でjp2aを新しく入れたものを参照するようにエイリアスを設定する
といった具合。

$ sudo port install jp2a
$ sudo mkdir /usr/local/jp2a-1.0.6
$ cd /usr/local/src
$ sudo wget http://jaist.dl.sourceforge.net/sourceforge/jp2a/jp2a-1.0.6.tar.gz
$ tar xvfz jp2a-1.0.6.tar.gz
$ cd jp2a-1.0.6
$ ./configure --prefix=/usr/local/jp2a-1.0.6 --with-jpeg-include=/opt/local/include --with-jpeg-lib=/opt/local/lib --with-curl-config=/opt/local/bin
$ sudo make
$ sudo make install
$ sudo ln -s /usr/local/jp2a-1.0.6 /app/jp2a
$ vi ~/.zshrc
alias jp2a="/app/jp2a/bin/jp2a"
:x
$ source .zshrc


■本家
http://csl.sublevel3.org/jp2a/

About mac

ブログ「what a bringdown」のカテゴリ「mac」に投稿されたすべてのエントリーのアーカイブのページです。過去のものから新しいものへ順番に並んでいます。

前のカテゴリはgvimです。

次のカテゴリはmysqlです。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。