MySQLとphpMyAdminをSUSE Linux 9.2にセットアップしました。そのときのことをまとめた資料です。MySQLはリレーショナルデータベースです。phpMyAdminはMySQLをWebブラウザ経由で操作するツールです。
作業は次のような手順で行いました。
- apache2, php4, apache2-mod_php4, phpmyadmin, mysqlをインストールする。
- Firewallを設定する。
- Apache2を有効にする。
- MySQLを自動起動するように設定する。
- MySQLを手動起動する。
- MySQLの管理者パスワードを設定する。
- phpMyAdminの設定ファイルにMySQLの管理者パスワードを設定する。
- phpMyAdminの接続テスト
インストール
MySQLとphpMyAdminを利用するために、この2つのパッケージの他にapache2, php4, apache2-mod_php4もインストールします。インストールにはYaSTの「ソフトウェア」->「ソフトウェアのインストール/削除」で行います。
Firewallを設定する
Firewallの設定を変更し、HTTPが通過できるようにポートを開きます。「セキュリティとユーザ」->「ファイアウォール」を開きます。「ファイアウォール設定を変更する」を選択肢、「次へ」をクリックします。基本設定も特に変更せずにそのまま「次へ」をクリックします。
「サービス」のパネルが表示されるので、ウェブサービスのHTTPにチェックを入れて「次へ」をクリックします。残りのパネルは特に変更せずにそのまま完了します。
Apache2を有効化する
phpMyAdminはWEBブラウザを使用して接続します。そのためWebサーバが必要となります。先ほどインストールした、Apache2を有効化します。
「ネットワークサービス」ー>「HTTPサーバ」を開きます。次に、「HTTPサービス」を「有効」を選択して、「完了」をクリックします。
これで、Apache2が起動します。また、OSブート時に自動的に起動するようにも設定されます。
標準設定では日本語のサイトが正しく表示できません。設定ファイルを変更して、表示できるようにします。
「/etc/apche2/default-server.conf」ファイルを開きます。ファイルの上の方に「AddDefaultCharset none」という行を追加します。ファイルを閉じて保存したら、apacheを再起動してください。
/etc/init.d/apache2 restart
mysqlを自動起動するように設定する
mysqlが自動起動するように設定します。SUSE Linuxでは他のディストリビューションでも同様ですが、ランレベルに合わせて、「rcX.d」ディレクトリ内のサービスが自動起動します。Xはランレベルです。
ここでは、ランレベル3とランレベル5の時に自動的に起動するように設定します。ランレベルというのは動作モードのことで、レベルによって動作内容が異なります。レベル3はテキストログイン、レベル5はグラフィカルログインです。
SUSE Linuxでは、上記のディレクトリはそれぞれ、「/etc/rc.d/rc3.d/」、「/etc/rc.d/rc5.d/」です。また、mysqlを起動するスクリプトは「/etc/rc.d/mysql」です。下記のようにして起動スクリプトのシンボリックリンクを作成します。
ln -s /etc/rc.d/mysql /etc/rc.d/rc3.d/S17mysql
n -s /etc/rc.d/mysql /etc/rc.d/rc5.d/S17mysql
シンボリックリンクファイルの名前ですが、SというのはStartの意味で、リンクされているサービスを起動することを意味します。また、直後の数字ですが、ディレクトリ内の若い数字から順番に起動するようになっています。私の環境では、たまたま17でした。この数字は皆さんの環境によって変更してください。
mysqlを手動起動する
前項でブート時に自動起動するように設定しましたが、現時点では、まだサービスが起動していないので手動で起動します。(もちろん、マシンを再起動する場合はこの作業は不要です)
/etc/init.d/mysql start
mysqlの管理者パスワードを設定する
mysqladminというプログラムを使用して、管理者のパスワード設定します。下記のコンソールで<パスワード>の部分に新しいパスワードを設定してください。
mysqladmin -u root password '<パスワード>'
パスワードを管理しているテーブルを再読み込みします。パスワードを入力するプロンプトが表示されますので上記で設定したパスワードを入力してください。
mysqladmin reload -u root -p
phpMyAdminにmysqlのパスワードを設定する
phpMyAdminを使用して、mysqlに接続するために、前項で設定したパスワードをphpMyAdminに設定します。phpMyAdminの設定ファイルは「/srv/www/htdocs/phpMyAdmin/config.inc.php」です。このファイルを編集して、パスワードを設定します。設定箇所は次の場所です。
$cfg['Servers'][$i]['password'] = '<パスワード>'; // MySQL password (only needed
phpMyAdminの接続テスト
設定が終わったphpMyAdminに接続できるかテストします。クライアントマシンからWebブラウザを使用して、下記のアドレスに接続します。正しく設定できていれば、phpMyAdminの画面が出るはずです。
http://<セットアップしたサーバのアドレス>/phpMyAdmin/