いわゆるLAMP環境ってやつです。
普段はXamppを使って開発を行っているのですが、今回始めてテスト環境の構築を任せてもらえたので、備忘録です。
構築環境
構築したい環境は以下のとおりです。
- Ubuntu 20.04 LTS
- Apache
- PHP 8.0系
- MySQL
その他に使用するツールは以下のツールです。
- MySQL Workbench(MySQLのGUI)
- さくらのくらうど(サーバー)
- FileZilla
Linuxの注意点
リナックスの注意点は以下2つです。
- ディストリビューション間違えるな
- コマンドプロンプト
ディストリビューション
ディストリビューションをしっかり把握しておいて下さい。
今回はUbuntu上に構築していくのですが、チームメンバーに「UbuntuとCentOSって一緒でしょ?」という人がいたので、驚きました。
ディストリビューションが違えば多少なりとも構築方法が変わってくるので、ディストリビューションは把握しておいて下さい。。
ディストリビューションがわからないという方はリナックスって何?とかでちゃんと調べて下さい。お願いします。。。。。
コマンドプロンプト
ウィンドウズ環境にてUnixコマンドをウィンドウズで扱う必要があったので、ウィンドウズでもUnixコマンドを扱えるようにGitBashを導入しました。
自分が慣れているターミナル使用して下さい。
Apacheの注意
Apacheの注意点はSSL化のみです。(SSL化以外は簡単です。記事通りに実施して下さい)
MySQLの注意点
MySQLで気を付ける点は以下の3つです。
- ファイヤーウォール
- バインドの設定
- ユーザーの設定
ファイヤーウォール
初期設定でファイヤーウォールの設定をして下さい。
下記設定を行うことでLinuxがMySQLを受け付けてくれるようになります。
#ファイヤーウォールの確認
sudo ufw status
#MySQLの開放
sudo ufw allow 3306
バインド
MySQL 標準ではローカルホストからの接続のみ許可しているため、外部からの接続を許可するように設定します。
/etc/mysql/my.cnfの設定ファイルには127.0.0.1 で LISTEN してるので外部から接続するようにしたいので、下記項目をコメントアウトする必要があります。
自分はここでLinuxのIPアドレスを指定していたので、接続が上手くいきませんでした。
ちゃんと理由を調べていないのですが、bind-addressをコメントアウトすることで全てのアクセスを受け付ける事ができるはずです。
#bind-address = 127.0.0.1
ユーザーの設定
外部ユーザーとしてroot以外のユーザーを作成します。
--DBの作成
CREATE DATABASE データベース名;
--ユーザーの作成
--'%'はワイルドカード。IPアドレスでも良いよ
CREATE USER 'ユーザー名'@'%' identified by 'パスワード';
--ユーザーに権限付与
grant all privileges on *.* to 作成したユーザー@'%';
--更新
flush privileges;
上記設定を行うことで、MySQLWorkBenchから外部接続を行うことができます。
MySQLWorkBenchではなくてもphpMyAdminでも何でも良いので、GUIツールは使用できるようにした方が良いですよー。
最後に
phperとしてLAMP環境の構築が出来ないは恥ずかしいので、確実にできるようにしたほうが良いです。
今回は幸いにも実務にて環境構築をさせて頂いたのですが、独学の場合でも自分で出来るようになっていて下さい。
PHPバンザイ。。