先日、Linux Mint 22に、Apache2、PHP8.3をインストールしてWebアプリを動作させる下準備をしたので、次に必要なMySQL(MariaDB)をインストールすることにします。
MySQLよりはMariaDBの方が個人的に好きなので、MariaDBを選択することにしましたが、MySQLでも手順はほぼ同じです。(MySQLはインストール直後はrootパスワードの方式が違うのでそれを直してやる手間が必要です)
私はデータベースエンジニアでもなく、MySQLのコマンド操作は正直言って苦手なので、手軽なGUIとしてphpMyAdminを使用することにします。Webアプリとして設定すればWebブラウザを使ってSQLサーバーを操作できるので便利です。
MySQL(MariaDB)をインストール
Linux Mint 22の場合、SQLデータベースサーバーとして、MySQLでもMariaDBでも簡単にインストールできます。先述の通り私はMariaDBを選択することにしました。Linux Mintのソフトウェアマネージャを起動して、MariaDBを検索して「Mariadb-server」をインストールします。
この段階ではまだ面倒なことは何もなしでインストールボタンをクリックするだけです。
phpMyAdminをインストール
次は「phpMyAdmin」をインストールします。依存関係で必要なパッケージを自動的にインストールしてくれるので、インストールボタンをクリックするだけです。
連携先として、apache2、lightttpdのいずれかを選べますが、当然apache2を選びます。
MariaDBのrootパスワード設定
MariaDBはMySQL互換なので、コマンド実行時はmysqlと入力します。ターミナルを起動してMariaDBを実行します。まだこの段階ではデータベースのrootアカウントにパスワードは設定されていません。
~$ sudo mysql -u root
MariaDB> select user, host, plugin from mysql.user;
Code language: JavaScript (javascript)
インストール直後のデータベースユーザー情報を表示させて確認します。mysql_native_passwordとなっているので通常の方式でアクセス出来そうです。(MySQLの場合はauth_socketになっているのでコンソールからのログインしか出来ない状態が初期設定値です。)
MariaDBを選んだのでそのまま次に進めます。rootのパスワードを「pass123」に設定する例です。
ALTER USER 'root'@'localhost' IDENTIFIED BY 'pass123'
Code language: JavaScript (javascript)
quitコマンドでMariaDBから抜けます。
MariaDB> quit;
MariaDBにrootでログイン確認
~$ mysql -u root -p
パスワードはさっき設定した、「pass123」でログインできるはずなので試してみます。プロンプトがMariaDBに変わったことから、無事にログイン出来たことがわかります。
確認が終わったのでquitで抜けます。
MariaDB> quit;
Apacheを再起動して、MariaDBと連携開始
まだApache2は、MariaDBと連携していないので、Apache2を再起動して連携開始させてやります。Apache2は場面によってはサービスを再起動してやらないと新たな機能が反映されないので、このコマンドはよく使います。
~$ sudo systemctl restart apache2.service
パスワードはLinux Mintを使っているユーザーのパスワードです。
phpMyAdminの動作確認
Apache2とMariaDBが連携開始したら、phpMyAdminが使用可能になります。Webブラウザでアクセスします。
http://localhost/phpmyadmin/
Code language: JavaScript (javascript)
ログインユーザーは「root」、パスワードはさっき設定した「pass123」でログインできるはずです。
無事にphpMyAdminを操作してMariaDBにログイン出来ました。
あとはrootでやっておくべきことを済ませてしまいます。
新規ユーザー&データベース追加
phpMyAdminの「ユーザーアカウント」タブをクリックして、「ユーザーアカウントを追加する」をクリックします。ここでようやく実際に使用するデータベース用のアカウントを追加できます。
今回はIroha Boardをインストールする予定なので、ユーザー名は「irohaboard」としました。パスワードは任意で設定します。検証環境なので忘れない様に「password」にしましたけどね。
そして、「ユーザーアカウント専用データベース」にレ点を入れ、「ワイルドカード・・・」にもレ点を入れます。そして「グローバル権限」にもレ点を入れます。
「irohaboad」というデータベースに対して「irohaboad」というユーザーはフルアクセスの権限を与えるためです。本番の環境なら権限を絞ることは重要なのでしょうが、検証用なのでフルアクセスにして権限絡みで躓かない様にしておきます。
どうせ閉じた環境での検証ですし、ちゃっちゃと検証を済ませたいですから無用なトラブルは回避したいですからね。
最後に、ずっと下の方にスクロールして「実行」ボタンをクリックします。
内部的にSQLコマンドが発行されて処理が行われます。
「新しいユーザーを追加しました」と表示されたので、irohaboad専用のユーザーとデータベースが同時に作成されました。
左上にあるphpMyAdminロゴの下、家アイコンの右側にある「扉アイコン」をクリックしてログアウトします。
新たに作成したデータベースにログイン確認
phpMyAdminのログイン画面に戻るので、今度は「irohaboad」ユーザーでログインします。
ログインできました。本当にログイン出来ているか確認します。
下図で言えば、三角カーソルを置いてある位置に、ユーザ情報が表示されています。確かに「irohaboad@lolachost」というユーザーでログインし直せたことが確認できます。
これで、Apache2、PHP8.3、MariaDB、phpMyAdminの環境が揃いました。
この後のこと
データベースの設定はちょっと手数が多く面倒ですが、特別難しいことはやってないので、落ち着いて操作すれば大丈夫だったんじゃないかと思います。
後は実際に使いたいCMS(Iroha Board、Moodleなど)を設置しながら、足りない設定を追加していくだけです。それぞれのCMSによって要件が違っていたりするので記事を分けます。
参考までに付け加えておくと、さくらのレンタルサーバなんかを借りた場合は、SQLサーバの操作にphpMyAdminを使用することになるので、こういう検証環境はレンタルサーバの操作練習も兼ねていることになり無駄では無いと思います。最悪環境をぶっ潰しても何ら支障はないですから、検証環境でガシガシいじってみることをおすすめします。
コメント
[…] 約3年前にDSDS対応のSIMフリー版Androidスマートフォンを2台購入して、自分用とかみさん用にしました。その際にESET FAMILY SECURITY(3年5台分)をセール価格3,500円位で購入して使ってきました。タイミング的に… 2019.10.21 2024.03.19PCWindowsソフトウェア日記 スポンサーリンク Apache、PHP、MySQL(MariaDB)環境セットアップ~Linux Mint22 […]