์ค๋น ์ฌํญ
1. ๋์ปค ์ค๋น
2. ๊ธฐ์กด์ ์ฌ์ฉํ๋ PHP7.2 ๋ฒ์ ์ปจํ ์ด๋๋ก ์ค์นํ๊ณ PHP7.4๋ก ์ ๊ทธ๋ ์ด๋ ๋ฐ ์ฝ๋์ด๊ทธ๋์ดํฐ4 ์ค์น ์งํ ํจ
1. docker ์ด๋ฏธ์ง ๋ค์ด๋ก๋
docker pull tplatform/aws-linux-2-httpd24-php72
2. ์ปจํ ์ด๋ ์์ฑ
docker run -d --name jay -p 81:80 -v J:\j\:/var/www/html tplatform/aws-linux-2-httpd24-php72
* docker run -d
detached ๋ชจ๋๋ก ์ปจํ
์ด๋ ์์ฑ
* --name jay
jay ๋ผ๋ ์ด๋ฆ์ ๊ฐ์ง ์ปจํ
์ด๋ ์์ฑ
* -p 81:80
127.0.0.1:81 ๋ก ์ ์ ํ๋๋ก 81๋ฒ ํฌํธ ์ง์
* -v J:\j\:/var/www/html
J๋๋ผ์ด๋ธ ์์ jํด๋์ web ๊ธฐ๋ณธ ํด๋๋ก ์ง์
* tplatform/aws-linux-2-httpd24-php72
๋ค์ด๋ฐ์ ์ด๋ฏธ์ง ์ค aws-linux-2-httpd24-php72 ์ค์น
3. ์ปจํ ์ด๋ ์คํ ๋ฐ bash ์คํ(์๋ฒ ์ ์)
docker exec -it jay /bin/bash
4. ์๋ง์กด ๋ฆฌ๋ ์ค php ๋ฒ์ ์ ๊ทธ๋ ์ด๋
* CI4๋ PHP7.3 ์ด์์์๋ง ์ง์๋๋ ํ๋ ์์ํฌ.
amazon-linux-extras |grep php
amazon-linux-extras disable php7.2
amazon-linux-extras install -y php7.4
amazon-linux-extras enable php7.4
* php -v PHP๋ฒ์ ํ์ธ ์, #PHP Startup: Unable to load dynamic library 'newrelic.so' ๊ด๋ จ ์ค๋ฅ๊ฐ ๋ฌ๋ค๋ฉด newrelic ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์น ์งํ ํ์
newrelic-install install
5. php ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์น
yum install php-cli php-common php-gd php-mbstring php-mysqlnd php-pdo php-fpm php-xml php-opcache php-zip php-bcmath
6. ์ํ์น ์ฌ์์ ๋ฐ ์ปจํ ์ด๋ ์ฌ์์
apachectl restart
exit
docker restart jay
7. ์ปจํ ์ด๋ ์ ์
docker exec -it jay /bin/bash
8. composer ์ค์น (global)
https://getcomposer.org/download/
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === '906a84df04cea2aa72f40b5f787e49f22d4c2f19492ac310e8cba5b96ac8b64115ac402c8cd292b8a03482574915d1a8') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
mv composer.phar /usr/local/bin/composer
์ปดํฌ์ ์ค์น ํ "composer"๋ผ๊ณ ์ปค๋งจ๋๋ฅผ ์ ๋ ฅํด์ ์ ๋๋ก ์ค์น ๋๋์ง ํ์ธ
9. CI4(์ฝ๋์ด๊ทธ๋์ดํฐ4) Composer๋ก ์ค์น
http://ci4doc.cikorea.net/installation/installing_composer.html
composer create-project codeigniter4/appstarter project-root
์ ๋ช ๋ น๋ฌธ ์คํ
As there is no 'unzip' nor '7z' command installed zip files are being unpacked using the PHP zip extension.
This may cause invalid reports of corrupted archives. Besides, any UNIX permissions (e.g. executable) defined in the archives will be lost.
Installing 'unzip' or '7z' may remediate them.
-- ์๋ฒ์ zip, unzip ์ค์น๊ฐ ์๋ผ์์ด์ ๋จ๋ ๊ฒฝ๊ณ . zip๊ณผ unzip ์ค์น์งํ
yum install zip unzip
ํ๋ก์ ํธ ๋ฃจํธ/appstarter ๋ฐ์ ์๋์ ๊ฐ์ด ์ค์น๊ฐ ์งํ๋์๊ฑด๋ฐ, ํด๋น ํ์ผ๊ณผ ํด๋๋ฅผ ๋ฃจํธํด๋๋ก ์ด๋ ์ํด
10. ์ ๋ง์ง๋ง.
๊ธฐ์ต ํ ๊ฒ!
* CI4๋ index.php๋ฅผ ์ฌ์ฉํ์ง ์๋๋ค. ์ค์ ํ๋ ์์ํฌ๋ฅผ ๊ตฌ์ฑ ํ๋ ์ฝ๋๋ค์ app, web์ ๊ฒฝ๋ก๋ public ํด๋๋ก ๋ง์ถฐ์ค์ผํ๋ค.
* .htaccess ํ์ผ ์์ฑ ๋ฐ ์ํ์น rule์ rewrite ํด์ผํจ
์ํ์น ๊ด๋ จํ์ฌ rewrite module์ด ์๋ ๊ฒฝ์ฐ, ๊ด๋ จ ์ค์น, ์ค์ ์ด ํ์ํ์ง๋ง,
์์ ์ค๋ช ํ๋๋ก ๋ฐ๋ผ์๋ค๋ฉด ๋ชจ๋ ์ค์น๋ ์ค์ ์์ด .htaccess ํ์ผ ์์ฑ์ผ๋ก ์ถฉ๋ถํ ์๋ํฉ๋๋ค.
์ฑ๊ณต!