My days of...

生活のことなど、がんばろう

docker-compose でLAMP環境作って、Codeigniter 4をインストール

docker-compose を利用して、LAMP環境でCodeigniter 4の環境作成メモ

フォルダ構成はこんな感じ
/root
 |- docker-compose.yml
 |- php.ini
 |- /html
  |-phpinfo.php
 |- /php
  |- Dockerfile
 |- /mysql
 |- /phpmyadmin

docker-compose.yml

version: '3'

services:
 php:
  # image: php:7.3-apache
  build:
   context: ./php
   dockerfile: Dockerfile
  volumes:
   - ./php.ini:/usr/local/etc/php/php.ini
   - ./html:/var/www/html
  ports:
   - 8080:80

 mysql:
  image: mysql:5.7
  volumes:
   - ./mysql:/var/lib/mysql
  environment:
   - MYSQL_ROOT_PASSWORD=root
   - MYSQL_DATABASE=test
   - MYSQL_USER=admin
   - MYSQL_PASSWORD=admin

 phpmyadmin:
  image: phpmyadmin/phpmyadmin
  environment:
   - PMA_ARBITRARY=1
   - PMA_HOST=mysql
   - PMA_USER=admin
   - PMA_PASSWORD=admin
  links:
   - mysql
  ports:
   - 4040:80
  volumes:
   - ./phpmyadmin/sessions:/sessions

 

Dockerファイル

FROM php:7.3-apache

RUN apt-get update && apt-get install -y libicu-dev git unzip libzip-dev zlib1g-dev \
&& docker-php-ext-install pdo_mysql mysqli mbstring intl zip
RUN apt-get clean
COPY --from=composer:latest /usr/bin/composer /usr/bin/composer

Composerを利用するために、unzip, zip, libzip-dev, zlib1g-devが必要。Codeigniterを利用するのにintlが必要

Terminalからdockerを利用するrootフォルダでdocker-compose up -d またはdocker-compose up --build -d で起動。

成功したら、

docker-compose exec php /bin/bash

でコンテナ内に入り、

composer create-project codeigniter4/appstarter project-root-ci4 -s rc

を実行でCodeigniter 4がインストールされます。あとは、自分の開発環境にしたがって、Codeigniter 内にあるapp/Config/Paths.php などの設定を変更。
デフォルトのままの場合は、http://localhost:8080/project-root-ci4/public/ にブラウザからアクセス。

Codeigniter 4 Index

Codeigniter 4

が出たら成功。

参考サイト
https://codeigniter4.github.io/userguide/installation/installing_composer.html
https://sioyaki.com/entry/2016/07/19/194315
https://qiita.com/matamatanot/items/1d4f74ef59da53a93950

 

CodeIgniter徹底入門

CodeIgniter徹底入門

 
PHPフレームワーク Laravel入門

PHPフレームワーク Laravel入門