いまさらながらCakephp2を触りたくなったので、ChatGPTとやり取りしながらインストールした手順を備忘録としてまとめます。
前提
- WSL2 がインストールされていること
- ユーザ cakephp_userが作られている
- cakephp_userがsudo グループ追加されている
※ユーザをcakephp_userとしているので、必要であれば適宜読み替えてください。
必要なパッケージインストール
apache2, php, Mysql をインストールします。
sudo apt update
sudo apt install -y apache2 php php-mbstring php-xml php-intl libapache2-mod-php mysql-server php-mysql git unzip
MySQL設定
mysqlの起動
sudo service mysql start
mysqlコマンドラインへアクセス
※rootで入っています。パスワード注意。
sudo mysql -u root -p
DB作成
CREATE DATABASE cakephp_db;
ユーザ作成 + 権限付与
CREATE USER 'cakephp_user'@'localhost' IDENTIFIED BY '{設定したいパスワード}';
GRANT ALL PRIVILEGES ON cakephp_db.* TO 'cakephp_user'@'localhost';
FLUSH PRIVILEGES;
mysqlでやること終わったので、抜ける
EXIT;
Cakephp2のインストール
git絡むと面倒なので、ブラウザからzip取得してインストールします。
cakephpのダウンロード
GitHubから利用したいcake2バージョンをダウンロード。
ここでは、バージョン2.10.24をダウンロードしました。異なるバージョンをインストールしたい場合、以後読み替えてください。
windowsからWSLにファイルコピー
ウェブサーバで利用する/var/www/
にダウンロードしたcakephpをコピーしてきます。
最初、D&Dでコピーしようと考えていたのですが、書き込み権限の不足でうまくいかなかったので、コマンドラインから攻めます。
WSLからWindowsへは/mnt/c/
でアクセス可能です。
マウントポイントとして接続できるの面白いですよね。
ダウンロードフォルダまで、のパスを連ねてダウンロードしたCakephpがあるかfindコマンドで確認します。
find /mnt/c/Users/{ユーザ名}/Downloads -type f -name "*cakephp*"
確認できたら、root昇格してコピーしましょう。
(/var/www
への書き込み権限がcakephp_userにはないので、rootに昇格しています)
sudo su -
cp -vR /mnt/c/Users/{ユーザ名}/Downloads/cakephp-2.10.24.zip /var/www/
cakephpを展開
# zipの展開
sudo unzip cakephp-2.10.24.zip -d /var/www/
sudo mv /var/www/cakephp-2.2.10.24 /var/www/cakephp2
# 権限、所有者を変更
sudo chown -R cakephp_user:www-data /var/www/cakephp2
sudo chmod -R 775 /var/www/cakephp2
Apacheの設定
アパッチの設定に入ります。
Vhost設定に入ります。エディタでapache設定ファイルに追記します。エディタは何でもいいです。
sudo vi /etc/apache2/sites-available/cakephp2.conf
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/cakephp2/app/webroot
ServerName cakephp2.local
<Directory /var/www/cakephp2>
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Apache設定の反映
設定ファイルを有効にし、Apache を再起動します。
sudo a2ensite cakephp2.conf
sudo a2enmod rewrite
sudo service apache2 restart
サイトの確認
Windowsのブラウザで表示確認をするために、WSLのIPでアクセスします。
## WSLのIP取得
hostname -I
vhost設定でServerNameに設定した「cakephp2.local」をwindowsのhosts設定に追加します。
{hostname -Iで取得したIP取得} cakephp2.local
http://cakephp2.local
でアクセスします。
表示出来たら、OKです。
あとは、VScodeやらのエディタで編集できます。
結論
chat-GPTがいると、環境構築がめちゃらくになりますね。