2004年5月16日

Linux 自宅サーバーにMySQLでIMAP

IlohaMailを使って、ウェブメール環境をということで、

IlohaMail.org

インストールは、簡単にいきました。
中古Linuxサーバーでも快適。

さて、さらに自宅実験用のMovableTypeのための
MySQLを組み込んでみようと思いました。
TurboLinux7Serverなので、MySQLもインストール済み。

ただし、turbopkgでMySQL-develを加えておく必要があります。
これがないとあとでエラーが出ます。

perl -MCPAN -e shell
のあと、
cpan> install DBI
cpan> install DBD::mysql
です。

これで、PerlからMySQLを呼び出すことができるようになります。

しかし、うまくつながらない。
IlohaMailもMovableTypeも。

かなり悩んだのですが、データベースのホストを
自宅サーバーのアドレスを入れていたのですが、
Apacheのwwwは、自分自身なので、localhostと指定するんですね。

こうやって書くと簡単ですが、半日以上を費やしてしまいました。

Software Architecture 2003
rootがパスワード無しになっているので、パスワードを設定します。
% bin/mysqladmin -u root password <パスワード>
実習用のDBを作成します
% bin/mysqladmin -u root -p create mydb
Enter password: <パスワード>
rootでDBに接続します。データベースmydbが見えれば接続成功です
% bin/mysql -u root -p
Enter password: <パスワード>
mysql>show databases;
(結果)
mysql>quit
実習用のユーザを作成します(説明ではユーザ名/パスワードをmush/potatoとします)
PASSWORD()はハッシュを作成する関数です
mysql> insert into mysql.user (Host,User,Password)
values ('localhost','mush',PASSWORD('potato'));
mysql> insert into mysql.db (Host, Db, User,Select_priv,Insert_priv,
Update_priv,Delete_priv,Create_priv,Drop_priv)
values ('localhost','mydb','mush','Y','Y','Y','Y','Y','Y');
mysql> flush privileges;
mysql> quit
実践MySQL / perlモジュールを使用するには
shell$ perl -MCPAN -e shell
cpan> install DBI
とすると、DBI の最新版を持って来て、compile, make test, make install がおこなわれます。
MySQL module は、以下のようにしてインストールできます
cpan> install DBD::mysql
CPAN経由でLinuxにモジュールを組み込む
よくあるエラー、
 Can't exec "mysql_config": No such file or directory at Makefile.PL line 174.
 readline() on closed filehandle PIPE at Makefile.PL line 176.
これは、この辺 を参考に、mysql_config にシンボリックリンクを張って解決できます。
 ln -s /usr/local/mysql/bin/mysql_config /usr/local/bin/mysql_config
という感じです。
そして次に出てきたエラーは、
 Note (probably harmless): No library found for -lmysqlclient
これは解決に手間取りました。この辺 が参考になります。
まず、先ほどの「mysql_config」を使い、
 /usr/local/mysql/bin/mysql_config --libs
で、吐き出されたデータをメモ。次に、
 /usr/local/mysql/bin/mysql_config --cflags
で、吐き出されたデータをメモします。
CPANでインストール途中だったソースのあるディレクトリに移動します。
 cd /root/.cpan/build/DBD-mysql-2.9003/
メモしたパスをつなげて、
 perl Makefile.PL --cflags=-I/usr/local/mysql/include/mysql "--libs=-L/usr/local/mysql/lib/mysql -lmysqlclient -lz -lcrypt -lnsl -lm"
とタイプします。(一行で。)
「Makefile」ファイルが正常に生成されたらOKです。後は、
 make
 make test
 make install
で、残りのインストールを完了します。(2004年03月19日)
INSTALL - DBD::mysqlのインストールと構成設定の方法
バージョン7.1ではRed Hat LinuxはMySQLとDBD::mysqlがついてきます。 以下のRPMがインストールされているかを確認する必要があります:
mysql
perl-DBI
perl-DBD-MySQL
ソースからインストールするためには、以下のRPMが必要です
mysql-devel
libz-devel
[138 Viewd (RSS: 0)] [Edit]
トラックバック情報/リンクソース
■トラックバックURL:

■記事用リンクソース:

■Wiki用リンクソース:
コメントの追加









名前、アドレスをブラウザに記憶させますか?


※投稿には、名前とメールアドレスが必要です。
※メールアドレスは、表示されません。
※コメントにはタグは使えません。
※コメント中のURLは自動的にクリッカブルに変換します。





画像の中に見える文字を入力してください。



関連用語解説 by e-Words
同カテゴリの人気記事
マイブログアンテナ
RSS feed meter for http://egt.tpot.tk/