./topimag900x150

www.h2caster.net

Linux&LAMP PHP&MySQL GPS&PDA BikeTrial blog Others

Vine Linux 3.0でLAMP構築

Vine linux 3.0ではaptというパッケージ管理システムが導入されている。この便利なシステムを使ってGUI上からインストールでるので、使ってみた。なお、GUIはsynapticというツールで実現されている。使ってみると(よくわからないうちに)何でもすんなりインストールできて、少々怖いくらいである。(笑)今回はApache,MySQL,PHPが動くところまで。

Vine3.0のインストール

 なんにも考えずにそのまま雑誌付録のCD-ROMを起動してすんなり3.0インストール完了。以前のことを思うとあっけないくらい。というのも、インストールツールが洗練されてきたのと、ドライバなどの情報が完備されてきたおかげでしょう。開発者のみなさまにただただ感謝。  サーバータイプでインストールすれば、この状態ですでにapacheは動いているので、ためしに、Mozillaを立ち上げてhttp://localhost/としてみると、すんなり「もしもこれをお読みになって・・」が表示される。

synapticによるパッケージのインストール

 まず、vine plusなどのCD-ROMがない場合は直接ネットから落としてくるので、ネットに繋がっていることが第一条件。パッケージ管理はすべてやってくれるので、完全にお任せできる。。と思う。

phpのインストール

 phpは標準のサーバータイプではインストールされないようなので、さっそくsynapticでインストールしてみる。GNOMEの

[アプリケーション]ー[システムツール]ー[synapticパッケージマネージャ]

 を起動。  まず、webサーバーのバージョンを確認。入ってるのはapache 1.3.3らしい。  今度は、phpで検索をかけると、phpのバージョンごとにいくつものパッケージが登録されているので、この中かからphp4関係のものを落としてくる(というか、落としてきても自分ではインストールしないんだから、落としてくるのではなく、インストールする、だよね)。

php

とあるのが、php4らしいので、これを指定すると、namazuやらkakasiやら日本語全文検索関係のパッケージが依存関係にあるというので、これもついでにアップグレード。たぶん本質的には関係ないと思われる。さきほどapacheのバージョンを確認したので、

php-apache 4.3.9-0vl1(apache1用のphp4モジュール)

を指定。さらに以下のものもインストール。中にはいらないものもあるかもしれないが、適当にみつくろって。。。って、おでん屋じゃないから。

php-devel
php-domxml
php-imap
php-mode
php-mysql
php-odbc

 でまとめてインストール。「適用」というボタンを押せばオーケイらしい。とりあえず、再起動しておく。あ、インストール時にわざとはずしたemacs関係がインストールされてしまった、おまけにインストールすべきディレクトリがないと怒られた、、。こういうこともある。

phpの動作確認

 次に移る前に、いろいろ動作確認したい。まず、る。GNOMEの

[アプリケーション]ー[システムツール]ー[サービスの管理]

 を起動してみて、webサーバーなどがきちんと起動する設定になっているか確認。標準ではwebサーバーは起動しているが、proftpd(FTPサーバー)は起動しない設定なので、これにチェックを入れて起動するようにする。これで、ユーザーディレクトリにテスト用のファイルを送り込むことができる。/home/userまではインストール時に勝手に作ってくれるので、(インストール時に一般userを指定した場合のみ)この下に、ディレクトリを展開する。今回は、

/home/user/public_html
/home/user/public_html/php/
/home/user/public_html/phpMyAdmin

のディレクトリを作っておく。ちなみに/home/user/public_html/phpMyAdmin?は、後にphpMyAdmin?を使うためのディレクトリ。  そして、ftpで、テスト用のファイルを/home/user/public_html/php/に送り込んでおく。ファイルの内容はなんでもいいが、次のファイルが便利。以下の内容をテキストファイルで作って送り込む。ファイル名はtest.phpでもいい。

<?
phpinfo();
?>

 これは、phpの状態を表示する関数。とりあえず、phpに関する情報がいろいろ表示されればきちんと動いていることになる。次に、

<html>
<body>
<form method="post" action="<?php echo $_SERVER["REQUEST_URI"] ?>">
<p>テスト文字列
<input type=text name=iTest size=60 value="ソリューション表示">
<input type=submit value=" テスト ">
</p>
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST')
echo "<hr><p>入力した文字列は「" . htmlspecialchars($_POST['iTest']) . "」ですよね?</p>";
?>
</form>
</body>
</html>

を、試してみる。これは日本語表示がきちんとできているか確認できる。文字化けしなければ、日本語のmb関係がきちんと動いていることになる。  両方ともサーバーに送っておいて、リモートからチェックを入れる。パーミッションはとりあえず次のように設定する。パーミッションの設定は、GNOMEデスクトップ上のuserのホームから目的のファイルをたどって、右クリックからプロパティを選ぶ。(まるでウインドウズだ)以下はとりあえず動けばいいという非常に甘いパーミッションなので外部に公開されているサーバーで直接確かめようとは思わないでほしい。ローカルネット上で遊ぶのならいいかな。

/home/user/  755 または 745
/home/user/public_html/  755 または 745
/home/user/public_html/php/  755 または 745
/home/user/public_html/php/test.php  644

これで準備完了。リモートからウエブブラウザで確認してみる。

http://*.*.*.*/~user/php/test.php

なお、*.*.*.*というのはローカルネット上のIPで、普通にインストールした場合は、ネット上にあるDHCPサーバーからIPアドレスをもらっているはずなので、これを先に確かめておくとよい。  とりあえず、ターミナルを全く使わず、GUIのみでここまでできる。phpなんぞは、mb関係の指定もなにもなしで日本語がきちんと動く。これは「凄い」ことだと思う。

MySQLのインストール

 phpと同様にGNOMEの

[アプリケーション]ー[システムツール]ー[synapticパッケージマネージャ]

 を起動。mysqlで検索をかけ、以下のものもインストール。

MySQL-Max  (バージョンは4.0.21)
MySQL-bench
MySQL-client
MySQL-devel
MySQL-embedded
MySQL-server

 でまとめてインストール。 ここからはターミナルを使うことになる。

MySQL最初の設定

[mysql@localhost mysql]$ mysql -u root -p
Enter password:********
Welcome to the MySQL monitor.  Commands end with ; or ?g.
Your MySQL connection id is 5 to server version: 4.0.21-Max 

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

mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> delete from user where user='';
Query OK, 2 rows affected (0.31 sec)

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

mysql> exit
Bye
[mysql@localhost mysql]$

 作業の結果を確かめてみる。

[mysql@localhost mysql]$ mysql
ERROR 1045: Access denied for user: 'root@localhost' (Using password: NO)

 こんどは、匿名ユーザーでは入れてくれない。

[mysql@localhost mysql]$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or ?g.
Your MySQL connection id is 8 to server version: 4.0.21-Max

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

mysql> select User,Host from mysql.user;
+------+-----------------------+
| User | Host                  |
+------+-----------------------+
| root | localhost             |
| root | localhost.localdomain |
+------+-----------------------+
2 rows in set (0.14 sec)

 匿名ユーザーが消えた。次に、MySQLの一般ユーザーを作る。通常の作業はその一般ユーザーで行う。  ユーザー名はやっぱりmysqlにしよう。(ああ、ややこしい。でもいろいろ名前を付けるよりは便利。) まずは、rootユーザーでログイン。mysqlというデータベースユーザーを作る。

[mysql@localhost mysql]$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or ?g.
Your MySQL connection id is 9 to server version: 4.0.17

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

mysql> grant all on *.* to mysql identified by '********';
Query OK, 0 rows affected (0.39 sec)

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

ついでに練習用のデータベースも作っておく。データベース名はtestdb。

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

mysql> exit
Bye

とりあえず、ここまででMySQLが使える。

phpMyAdminを使う

 MySQLを使うときの手放せないGUIツール、phpMyAdminを使ってみる。これは、phpで記述されたツールなんで、apaheとphpが動けば、インストールは、ダウンロードしてきて適当なディレクトリに置くだけ。  入手先はhttp://phpmyadmin.sourceforge.net/。 ここから、最新の安定バージョンphpMyAdmin?-2.6.0-pl3.tar.gzをとってくる。GNOMEのデスクトップ環境ならダブルクリックで解凍してくれるので、出てきたものを公開したいディレクトリに置いておく。どうしてもターミナルが使いたいのなら、次のようにする。

user$ tar zxfv phpMyAdmin-2.6.0-pl3.tar.gz

設定が一ヶ所だけ。config.inc.phpというファイルをエディタで開いて、

$cfg['Servers'][$i]['auth_type']     = 'config';    // Authentication method 
                         (config, http or cookie based)?
$cfg['Servers'][$i]['user']          = 'user';      // MySQL user

という部分を2ヶ所書き換える。下のようにする。

$cfg['Servers'][$i]['auth_type']     = 'http';    // Authentication method
                         (config, http or cookie based)?
$cfg['Servers'][$i]['user']          = '';      // MySQL user

これは、phpMyAdminに入るときの認証タイプをhttp認証に、またユーザー指定をなくした。これで、パスワードとユーザー名さえ入力すれば使えるようになる。もちろん、MySQLのユーザーである。

Copyrite 2005 caster productions

www.h2caster.net