Docker의 Apache에서 실행되는 CakePHP3 개발 환경 준비
Docker에서 Apache, MySQL을 준비하고 CakePHP3의 튜토리얼을 움직일 수있는 상황까지 가져갑니다. 그 외에 ssl의 환경, xdebug를 움직이는 환경도 정리하고 있습니다.
붙이고 이 기사 를 참고로 해서 받았습니다.
개발 환경
gitHub에서 에 준비했으므로, ZIP 파일을 다운로드해, 적당한 곳에 폴더를 두고 터미널로부터 그 폴더에 들어가 주세요. 다음 명령을 실행하면 OK입니다.
docker-compose build
이미지 빌드가 성공적으로 완료되면 다음 명령으로 실행합니다.
docker-compose up -d
composer 준비
composer을 다운로드하여 위의 폴더에 넣으십시오.
내 mac 환경에서는 기본적으로 들어있는 php에서는 런타임에 오류가 발생하기 때문에 brew에서 php를 설치하고 그것이 기본값이되도록 export를 설정해야했습니다.
brew install [email protected]
echo 'export PATH="/usr/local/opt/[email protected]/bin:$PATH"' >> ~/.zshrc
echo 'export PATH="/usr/local/opt/[email protected]/sbin:$PATH"' >> ~/.zshrc
튜토리얼을 따라 cms 프로젝트 만들기
튜토리얼 에 있는 프로젝트를 준비하는 명령으로 ^가 있습니다만, 이것이 있으면 움직이지 않기 때문에 생략했습니다.
php composer.phar create-project --prefer-dist cakephp/app:3.8 cms
db 설정
만든 프로젝트와 Docker MySQL을 연결합니다.
프로젝트의 설정 파일을 편집합니다.
cms/config/app.php
'Datasources' => [
'default' => [
'className' => Connection::class,
'driver' => Mysql::class,
'persistent' => false,
'host' => 'db', #編集
//'port' => 'non_standard_port_number',
'username' => 'my_app',
'password' => 'secret',
'database' => 'cake_cms',#編集
(덤) 도메인 설정 변경
필수는 아니지만 프로젝트를 프로덕션 환경에서는 문서 루트로 호출하고 싶으므로 다음 설정을 준비합니다.
docker/apache/site.conf
<VirtualHost *:80>
DocumentRoot /var/www/html/cms/webroot/
<Directory /var/www/html/>
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
docker/Dockerfile에 다음을 추가하십시오.
※gitHub에 주는 녀석은 미리 설정이 끝났습니다.
COPY ./docker/apache/site.conf /etc/apache2/sites-available/000-default.conf
이상으로 localhost를 호출하면 다음이 표시될까 생각합니다.
(덤) ssl 설정
시세무늬, https에서의 운용은 필수이므로, 개발시부터 ssl로 하고 싶다고 생각하는 일도 있을 것.
몇 분 안에 할 수 있습니다! mkcert로 로컬 환경에 SSL 인증서 설정
mkcert를 사용하여 사용하려는 도메인 이름을 준비하고 생성 된 파일
docker/apache/SSL/certs 폴더 아래에 두십시오.
그리고 그 설정을 docker/apache/SSL/ssl.conf 파일에 설정을 추기합니다.
docker/apache/SSL/ssl.conf
<VirtualHost *:443>
DocumentRoot "/var/www/html/cms/webroot/"
ServerName hoge.hoge.com
#ErrorLog logs/ssl_error_log
#TransferLog logs/ssl_access_log
LogLevel warn
SSLEngine on
SSLProtocol all -SSLv3
SSLCertificateFile /var/www/html/docker/apache/SSL/certs/xxxxx.pem
SSLCertificateKeyFile /var/www/html/docker/apache/SSL/certs/xxxxx-key.pem
</VirtualHost>
hoge.hoge.com과 xxxx를 다시 작성하십시오.
docker/Dockerfile에 다음을 추가합니다.
COPY ./docker/apache/SSL/ssl.conf /etc/apache2/sites-available/ssl.conf
RUN a2enmod ssl
RUN a2ensite ssl
Apache에 ssl 설정을 추가합니다.
이것들도 이미 기술하고 있기 때문에 시험하고 싶은 경우는 부디.
(덤) xdebug 설정
여기를 참고로 움직이도록 설정하고 있으므로 움직일 것입니다.
추가
hosts 파일에 설정하고 싶은 도메인을 입력하지 않으면 잘 움직이지 않네요, 지금 추가 추기입니다만・・・
Mac에서 hosts 파일을 편집하여 설정을 확인하는 방법
Reference
이 문제에 관하여(Docker의 Apache에서 실행되는 CakePHP3 개발 환경 준비), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/rnsm504/items/64f5d286d9df20c661d9텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)