개발환경 : Ubuntu 18.04 Desktop
1. Laradock 설치
Quick Overview에는 mysql을 설치하라고 되어 있으나 8.0.4 이후 버전 이슈로 인해 mariadb로 설치한다.
내 작업경로는 ~/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로 테스트하기 위함이다.
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
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
웹브라우저를 열어서 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
8. 사이트접속 확인
웹브라우저를 열어서
사이트가 접속이 되는지 확인한다.
키설정을 하지 않았으니 당연히 오류가 발생할 것이다.
php artisan key:generate
env DB_HOST=127.0.0.1 php artisan migrate
다시 접속해서 laravel 초기 페이지가 제대로 열리는지 확인해본다.
'Programming > PHP' 카테고리의 다른 글
MySQL 8.0.4 이상에서 2054 The server requested authentication method unknown to the client 오류 (0) | 2018.10.17 |
---|