개발환경 : Ubuntu 18.04 Desktop



1. Laradock 설치


https://laradock.io/


Quick Overview에는 mysql을 설치하라고 되어 있으나 8.0.4 이후 버전 이슈로 인해 mariadb로 설치한다.

http://yypbd.tistory.com/1784


여러 개의 프로젝트를 하나의 Laradock으로 구동하는 방법으로 설정한다.


내 작업경로는 ~/project/php/



a) laradock 다운로드


git clone https://github.com/laradock/laradock.git



b) .env 파일이 없다면 env-example 파일을 복사해서 .env 파일 생성


cp env-example .env



c) mariadb를 이용할 것이므로

.env 파일에서 PMA_DB_ENGINE 항목을 찾아서 mariadb로 변경


d) db 설정 변경

필요하다면 .env 파일에서 MARIADB 항목을 찾아서 생성할 db, user, password등을 변경한다.

여기에서는 default 설정을 그대로 이용하기로 한다.




2. Laravel 설치


~/project/php/ 경로에 작업할 Laravel 프로젝트를 생성한다.

여기서는 laradock의 예제와 같이 project-1, project-2 을 만들어본다.


composer, php-mbstring, php-xml을 설치해야 할 수도 있다.

docker와 별개로 laravel을 다운받기 위해 필요하다.

내 경우는 php 7.0이 설치되어 있어서 php7.0-mbstring, php7.0-xml, php7.0-mysql을 설치했다.


sudo apt install php7.0-mbstring php7.0-xml php7.0-mysql


composer create-project --prefer-dist laravel/laravel project-1

composer create-project --prefer-dist laravel/laravel project-2




3. hosts 수정


브라우저에서 아래의 url로 테스트하기 위함이다.

http://project-1.test

http://project-2.test


a) hosts 파일 수정


sudo vi /etc/hosts


127.0.0.1  project-1.test
127.0.0.1  project-2.test


위 내용을 추가한다.

저장 완료하고 hosts 적용


sudo /etc/init.d/networking restart



b) 접속 확인

127.0.0.1로 ping이 가는지 확인해본다.


ping project-1.test

ping project-2.test





4. nginx 설정 수정


프로젝트 경로와 테스트 호스트를 연결한다.


laradock/nginx/sites/ 에서 laravel.conf.example을 복사해서 project-1.conf, project-2.conf 파일을 생성한다.


cp laravel.conf.example project-1.conf

cp laravel.conf.example project-2.conf


각각의 conf 파일을 열어서


server_name project-1.test;

root /var/www/project-1/public;

server_name project-2.test;
root /var/www/project-2/public;


와 같이 수정한다.




5. docker 실행


a) docker 설치


https://docs.docker.com/install/linux/docker-ce/ubuntu/#prerequisites



b) docker-compose 설치


https://docs.docker.com/compose/install/#install-compose



c) docker 실행


~/project/php/laradock/ 에서


sudo docker-compose up -d nginx mariadb phpmyadmin redis workspace


docker나 docker-compose의 버전이 낮다면 설치가 제대로 안될 수가 있다.
a)의 문서 보고 가급적 최신 버전으로 설치한다.


6. phpmyadmin 접속 확인

웹브라우저를 열어서 http://localhost:8080  으로 접속해본다.


server : mariadb

username : root

password : root



7. project-1 설정


~/project/php/project-1 에서 작업



cp .env.example .env

vi .env


laradock의 설정을 변경하지 않았으면 기본으로 default database가 생성되나 이 데이터베이스를 이용해본다.

.env 파일을 열어서 아래의 내용과 같이 추가하거나 수정한다.


APP_URL=http://project-1.test


DB_HOST=mariadb

DB_DATABASE=default

DB_USERNAME=default

DB_PASSWORD=secret


REDIS_HOST=redis


QUEUE_HOST=beanstalkd


8. 사이트접속 확인


웹브라우저를 열어서


http://project-1.test/


사이트가 접속이 되는지 확인한다.

키설정을 하지 않았으니 당연히 오류가 발생할 것이다.


php artisan key:generate

env DB_HOST=127.0.0.1 php artisan migrate



다시 접속해서 laravel 초기 페이지가 제대로 열리는지 확인해본다.



+ Recent posts