2004年8月15日日曜日

MovableType3.0を動かす

いまさらですが、メモ代わりと友人に教えるのが面倒なのでまとめておきます。

まず、この環境はMovableType3.01DとMySQLを使うことを前提とします。

・Mysqlのinstall

cd /home/src

wget 適当なmysqlを落とせるアドレス
tar zxfv mysq.hogehoge.tar.gz
cd mysql.hogehoge

groupadd mysql
useradd -g mysql -d /usr/local/mysql/var -c "MySQL server" mysql
passwd mysql
mkdir /usr/local/mysql
chown -R mysql:mysql /usr/local/mysql/

cd /usr/local/src
tar zxvf mysql-4.0.20.tar.gz
cd mysql-4.0.20

./configure --with-charset=ujis \
--with-extra-charsets=all \
--with-mysqld-user=mysql \
--with-innodb \
--enable-local-infile \
--prefix=/usr/local/mysql \
--with-unix-socket-path=/tmp/mysql.sock


しかしconfigureできん。、、
gccちゃんとはいってなかったのかなぁ?・・・

apt-get remove gcc


aptitude gcc選んでgを押す。
アホみたいに量が入っていくぞ・・・・
んでもっかい上のを。
curses/termcapgがないそうだ。
aptitudeで探して、F10おしてinstall
もっかい、、、だめだ。。。
よし・・これでどうだ

apt-get install libncurses5-dev


うおーいけたー!よし。

make
make install

./scripts/mysql_install_db --user=mysql

chown -R mysql /usr/local/mysql
chgrp -R mysql /usr/local/mysql/

データベースにアクセス権を設定します。
chown -R mysql.mysql /usr/local/mysql

mysqlの起動/停止スクリプトを/etc/init.dへコピーします。
cp support-files/mysql.server /etc/init.d/mysql
chmod +x /etc/init.d/mysql

mysqlの設定ファイルを/etcへコピーします。
cp support-files/my-small.cnf /etc/my.cnf

主要コマンドを通すへリンクします。
PATH=$PATH:/usr/local/mysql/bin
export PATH

追加したライブラリを設定します。
/etc/ld.so.confに/usr/local/mysql/libを追加します。
echo "/usr/local/mysql/lib" >> /etc/ld.so.conf
/sbin/ldconfig

動作確認

mysqlサーバを起動します。
/etc/init.d/mysql start

ps -a | grep mysql
4023 ttyp0 00:00:00 safe_mysqld
4039 ttyp0 00:00:00 mysqld
4040 ttyp0 00:00:00 mysqld
4041 ttyp0 00:00:00 mysqld

DBの表示
mysqlshow
+-----------+
| Databases |
+-----------+
| mysql |
| test |
+-----------+


さて今回は、movabletypeでmysqlを使うために入れたので下の作業が必須だ。

Perl用DBI/DBDインタフェースのインストール
DBI/DBDとは、perlからMySQLを制御するためにのインタフェースモジュールです。
perlモジュールをインストールには、CPAN-shellというツールを使用します。
ちなみに、モジュールの正式名称は、http://search.cpan.org/で調べることができます。

CPAN-shellを動かすために前もっていくつかのモジュールをapt-getする必要があります。
そして、DBI/DBDをインストールする場合は/usr/local/mysql/binへパスを通しておきます。

apt-get install gzip lynx ftp psmisc zlib1g-dev libbz2-dev bzip2

PATH=$PATH:/usr/local/mysql/bin
export PATH
(さっきやったからええけどw)


さらに、MySQLのrootパスワードが設定されていると、インストールに失敗するので、
これより以前に付与してある場合は下のコマンドでけしておくように

mysqladmin password '' -p
Enter password: oldpassword

CPAN-shellを起動します。
初期起動時のみ、いろいろ質問されます。
近場のダウンロードサイトを選択する以外、適当(デフォルトでたぶんOK)に返答してください。
CPAN-shellが起動するとプロンプトが次のようにになります。

perl -MCPAN -e shell  

cpan>
まず基本的なモジュール類をインストールします。
その後、Bundle::DBD::mysqlをインストールします。 (DBIは、Bundle::DBD::mysqlに含まれます。)

cpan> install Bundle::LWP     
cpan> install Bundle::CPAN

cpan> install Jcode

cpan> install Bundle::DBD::mysql

cpan> exit



rootパスワードの設定
インストールが終了したなら、MySQLのrootパスワードを設定しておきましょう。
(注意:MySQL自身が内部に保持するrootパスワードであり、debianのそれとは無関係です。)
/usr/local/bin# mysqladmin -u root password 'MySQLのrootパスワード'

設定したパスワードでアクセスできるか確認しておきましょう。
/usr/local/bin# mysql -u root -p
Enter Paaword: MySQLのrootパスワード
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3 to server version: 3.23.58

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> exit

/usr/local/bin#
以上でMySQLのインストールは終了です。

MySQLデータベースの作成方法
ユーザ名 user 、パスワード passwd というアカウントで使用できる、データベース testdb を作成する例を示します。
mysql -u root -p
Enter password: ← MySQLのrootパスワード
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 173 to server version: 3.23.58

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> create database testdb;
Query OK, 1 row affected (0.09 sec)

mysql> grant all on testdb.* to user@localhost identified by "passwd";
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)

mysql> exit
できたか確認してみます。
/usr/local/mysql/bin/mysqlshow -uuser -ppasswd testdb
Database: testdb
+--------+
| Tables |
+--------+
+--------+


・MovableTypeのインストール
適当にMovableTypeを解凍しておく。
そして、中身をまるごと
mv /ApacheRootDir *
chmod 755 mt*.cgi
これでok。
(あ、/ApacheRootDirはもちろんchown -R www-data.www-data済みですよ。
で、上のmysqlのユーザ作成とかの手順の通りにmt用のuser名でmt用のDBを作っておく。
(別に、hogehogeでも何でも好きなユーザ名とDB名でOK)

で、
vi /mtのrootdir/mt.cfg
CGIPath http://yoursite/
#DataSource ./db
ObjectDriver DBI::mysql
Database mt
DBUser mt
DBHost localhost

vi /mtのrootdir/mt-db-pass.cgi(3.Xからはcfgではなくcgiにかくっぽい。これで超はまった。五時間くらいw)

上のMYSQLのmtのpassを生で入力

上の作業が終わったら、下のアドレスを開く
http://yoursiteaddress/mt-check.cgi
OKなら、次は、MTの初期化
http://yoursiteaddress/mt-load.cgi
http://yoursiteaddress/mt.cgi

これでOK。
(ポイントはディレクトリの権限などですね。後、mt.cfgは良くチェックしよう。)

3 件のコメント:

  1. よっし。今度やってみよっと。
    メモさんきゅー。

    返信削除
  2. このままだと、シンプルすぎるからいじらないとだめだけどね。
    でもこれで動くはずだよ。
    debian系でかいてあるけど、入れるものは同じなので。
    (rpmとpkgじゃ名前違うとおもうけどもw)

    返信削除
  3. 動きません。助けてくださいw

    返信削除

素材集

FreePhoto