Ubuntuにrmagickをインストール(ソースからインストールしたruby+gem)

Ubuntuのソースインストールしたruby環境に、rmagickをインストールした。
■ aptitudeでimagemagick libmagick9-devをインストールする。
※ libmagick-devやlibmagick9++-devなど他のパッケージではgraphicsmagickがインストールされ、railsのプラグインattachment_fuがうまく動作しなかった。(strip!メソッドはImageMagick1.1にはない、みたいなエラーになった。)

$ sudo aptitude install imagemagick libmagick9-dev

■ rmagickをgemでインストール。 (rmagick2がインストールされる。)

$ sudo gem install rmagick

■ 確認

$ convert --version
Version: ImageMagick 6.3.7 06/04/09 Q16 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2008 ImageMagick Studio LLC
$ irb
irb(main):001:0> require 'rubygems'
=> true
irb(main):002:0> require 'RMagick'
=> true
irb(main):003:0> exit

Ubuntuにrubyをソースからインストール

まず、readlineをインストールしておく。

$ sudo aptitude install libreadline-dev

rubyをダウンロードして展開、--with-readlineを付けてconfigure、make、sudo make install。

$ wget ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7-p174.tar.gz
$ tar xzvf ruby-1.8.7-p174.tar.gz
$ cd ruby-1.8.7-p174
$ ./configure --with-readline
$ make
$ sudo make install

rubygemsのインストールについては以下を参照。
ruby、rubygemsのインストール

Maven2 + Eclipse WTP

■ Mavenのローカルレポジトリを表すクラスパス変数M2_REPOをEclipseに追加する。

$ mvn eclipse:add-maven-repo -Declipse.workspace=<Eclipseのワークスペースのパス>

■ Maven形式でプロジェクトディレクトリを用意し、POMファイルを記述する。
■ プロジェクトのトップディレクトリでeclipse:eclipseゴールを実行する。

$ mvn eclipse:eclipse -DdownloadSources=true -Dwtpversion=2.0

-Dwtpversionについては以下を参照。
Maven Eclipse Plugin - WTP support
■ プロジェクトをEclipseにインポートする。
参考: 「Apache Maven 2.0入門 Java・オープンソース・ビルドツール」

peclでAPCをインストール

peclでAPCをインストールしようとしたら、以下のエラーが発生した。

# pecl install APC
downloading APC-3.0.19.tgz ...
Starting to download APC-3.0.19.tgz (115,735 bytes)
.........done: 115,735 bytes
Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 7680 bytes) in /usr/share/pear/PEAR/PackageFile/v2.php on line 1917
Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 76 bytes) in /usr/share/pear/pearcmd.php on line 402

[php-maint] Bug#375070: php-pear: pecl memory limit too low
pecl実行時のmemory_limitが小さすぎるのが原因らしい。
上記サイトを参考にして、peclを変更( -d memory_limit=24Mを追加)したら解決。
また、peclでのAPCのインストールには、phpize、apxsが必要なので、php-devel、httpd-develをyumでインストール。

# yum install php-devel
# yum install httpd-devel

APCをインストール

# pecl install APC

インストール後、php.iniに、

extension=apc.so

を追加する。

ユーザ名等の識別子の長さの制限

MySQLのユーザ名の長さは最大16文字。

MySQL ユーザ名には、最大 16 文字まで使用できます。これは、MySQL のサーバとクライアントでハードコード (決め打ち) しています。mysql データベースのテーブル定義を変更するなどして、この文字制限を回避しないでください。

MySQL :: MySQL 5.1 リファレンスマニュアル :: 4.8.1 MySQL ユーザ名とパスワード

一方、データベース名、テーブル名、カラム名など識別子の長さの最大値は以下の通り。(バイト数)

  • データベース 64
  • テーブル 64
  • カラム 64
  • インデックス 64
  • エイリアス 255

MySQL :: MySQL 5.1 リファレンスマニュアル :: 8.2 識別子