CakePHP5入門【開発環境構築編④】PHPとデータベース他
B美
A子
C菜
B美
apt install -y mariadb-server php8.2 php8.2-gd php8.2-mbstring php8.2-mysql php8.2-sqlite3 php8.2-intl php8.2-xml php8.2-curl php8.2-gmp php8.2-zip composer l3afpad[Enter] |
長いけど、これって一行だからね
ちなみに「mariadb-server」がデータベース、「php」で始まるやつがPHP言語関係、「composer」がプログラムライブラリを簡単にインストールできる仕組み、「l3afpad」がテキストエディターだからね
(あ、「l3afpad」の二文字目は数字の「3」ね)
C菜
B美
なお「l3afpad」はWindowsのメモ帳(notepad)みたいなやつだから、多分使いやすいと思うわよ
ちなみに超・余談なんだけど、本当の名前は「leafpad」なのよね
でもDebian12にパッケージングされてるのはそれの派生だから、名前が変なのよ(笑)
あ、そうそう
デフォルトでインストールされているテキストエディターもあるわよ
それが「Pluma」(「アプリケーション」→「アクセサリ」→「Pluma」)で、こっちのほうが高性能なのよね
(なので無理に「l3afpad」を使わず、「Pluma」のほうを使ってもOKよ)
C菜
B美
上のメニューの「アプリケーション」→「アクセサリ」→「L3afpad」とたどってから、右クリックして「このランチャをデスクトップへ追加(D)」を選択することでデスクトップ上にショートカットを作っておきましょう
(今後よく使うからね)
あ、下のメニューを見れば分かると思うけど、「Pluma」もあるから、そちらを使っても良いわよ
↓
A子
そのソフトの名前が分からなきゃ、どうしようもないじゃん…
B美
上のメニューの「システム」→「システム管理」→「Synapticパッケージマネージャ」とたどります
↓
B美
これにより、わざわざrootでログインし直さなくてもソフトの管理(インストールや削除等)ができるようになるのよ
B美
あ、□の部分が■になってるやつがインストール済みってことだからね
(ソフトの説明がほとんど英語なのは仕方ないけど…)
ちなみに、ゲームなんかもたくさんあるから、勉強の息抜きにインストールしてみるのも良いかもね
(説明文が英語のものばかりだけど…)
C菜
B美
「L3afpad」を開いて、こう入力してね
<?php
phpinfo(); ?> |
入力が終わればメニューの「ファイル」から「名前を付けて保存」を選んで、ホームディレクトリの下にある「html」ディレクトリ(Webサーバのドキュメントルート)の中に「info.php」という名前で保存すること
A子
C菜
B美
これで下の画面が出たら、きちんとPHPがインストールされたってことなのよ
C菜
B美
もしも編集したい場合は、「MATE端末」を開いてからrootになって
su -[Enter]
nano /etc/php/8.2/apache2/php.ini[Enter] |
あ、変更を反映させるにはWebサーバを再起動する必要があるから注意して!
systemctl restart apache2[Enter] |
A子
あと残すはデータベースだけね
B美
このとき、必ずrootになっておいてね
su -[Enter]
mysql -u root[Enter] |
と入力します
B美
use mysql;[Enter]
alter user 'root'@'localhost' identified by '********';[Enter] quit;[Enter] |
あ、このとき「********」の部分はパスワードだから、自由に決めてね
(Linuxのrootユーザとは別人だから、パスワードを合わせる必要はないわよ)
ちなみにSQL文では、コマンド(一文)の終わりが必ず「;」と決まってるから打ち忘れのないようにね
(まぁ「use」と「quit」については、「;」は不要なんだけど…)
B美
(つまり最初はパスワードが設定されていなかったってわけ)
なので、今後「mysql」コマンドを実行するときって、パスワード入力が必須になるからね
mysql -u root -p[Enter] |
のように「-p」を付けること!
あ、何度も言うようだけど、Linuxの「root」とMySQL(MariaDB)の「root」は別人だから…
A子
インストールしたデータベースって「MariaDB」よね?
さっきから登場している「MySQL」って何なのよ
B美
だから、「MySQL」から派生して作られたのが無料版の「MariaDB」ってわけ
(機能的には、「MySQL」と互換性があるように作られてるから、安心してね)
C菜
B美
「PostgreSQL」や「SQLite」も有名だけどね
A子
Linuxといっても全てが無料ってわけじゃないし、データベースソフトについても色々あるんだね
B美
それはともかくとして、少しデータベース操作を練習してみましょうか
まずは「mysql」コマンドでmysqlクライアントにログインします
(「MATE端末」では一般ユーザのままでも大丈夫だからね)
mysql -u root -p[Enter] |
続いて、こう打ち込んでみて
show databases;[Enter] |
C菜
B美
デフォルトで入っているデータベースなんだけど、重要なのは「mysql」ね
この中にデータベースユーザの設定とか色々入っているの
use (データベース名);[Enter] |
というのは、今からこれこれのデータベースを使います…って宣言ね
use mysql;[Enter]
show tables;[Enter] |
と入力してみて
B美
んで、その中の「user」という名前のテーブルの中にデータベースユーザの情報が入ってるから
select host,user,password from user;[Enter] |
と打ち込むと、ユーザの一覧が表示されるわ
(Linuxユーザじゃなくて、データベースユーザだから間違えないように)
C菜
B美
だから忘れないようにね(苦笑)
A子
どうやって知ったのよ
B美
show fields from user;[Enter] |
あ、もちろん「user」の個所はテーブル名ね
A子
先頭の文字が大文字のものと全て小文字のものがあるけど、さっきは全て小文字で打ち込んでたよね?
B美
だから大文字だろうと、小文字だろうとどっちでも構わないの
(普通は面倒くさいから、全て小文字で打ち込むけどね)
C菜
B美
まずは「L3afpad」を開いてね
A子
B美
create database testdb;
use testdb; create table counters ( id int auto_increment primary key, remarks varchar(255), counter int not null, created datetime, modified datetime ) charset=utf8mb4; insert into counters values (1,'top',0,now(),now()); |
C菜
B美
(将来「CakePHP5」で利用するつもりだから、それに適合した形式にしているわ)
「MATE端末」を開いて次のように入力してね
cd[Enter]
mysql -u root -p < testdb.sql[Enter] |
パスワードを入力したあと
mysql -u root -p testdb[Enter] |
で確認してみましょう(データベース名を最後に付けると、このデータベースを自動的にuseすることになるの)
show databases;[Enter]
show tables;[Enter] show fields from counters;[Enter] select * from counters;[Enter] |
なんかを確認してみてね
A子
C菜
B美
次回からは、いよいよPHP言語によるプログラミングに入っていくからね