0
0

WSL2にCakephp2をインストールする方法

Posted at

いまさらながら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がいると、環境構築がめちゃらくになりますね。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0