Docker

[Docker] 도커에 Laravel 개발환경 세팅

먹세 2020. 8. 29. 17:29

순서 : 

- docker에서 ubuntu container 실행

- ubuntu container 에 php-fpm 설치

- laravel 설치

- nginx 설치 및 세팅

 

1. docker에서 ubuntu container 실행

- docker container를 실행할 폴더로 가서 shift+우클릭 -> 여기에PowerShell창 열기 클릭

- 아래 명령어 차례로 입력

PS C:\docker> docker pull ubuntu:latest
PS C:\docker> docker run -it -p 80:80 --name docker_laravel_demo1 ubuntu bash

- 그럼 docker_laravel_demo1 이라는 ubuntu container가 생성된다

- docker dashboard에서 확인할 수 있다

 

2. php-fpm 설치 (PHP 7.3)

- ubuntu bash 명령어로 shell로 입장 후,

- php7.3을 설치하려면 타사 레포지토리를 먼저 추가 해야한다

- 레포지토리 추가 후 php7.3-fpm 설치

$ apt-get install software-properties-common
$ add-apt-repository ppa:ondrej/php
$ apt-get update
$ apt-get install php7.3-fpm
$ php-fpm7.3 -v

- composer 설치

$ apt-get install -y curl
$ curl -sS https://getcomposer.org/installer | php

- composer 전역사용 설정

$ mv composer.phar /usr/bin/composer

- composer 설치 확인을 위해 composer를 입력해본다

 

3. laravel 설치

- laravel에 필요한 php extension 설치 (php 버전에 맞게 설치해야함)

# laravel 설치에 필요
$ apt-get install -y php7.3-zip

# laravel 실행시 필요
$ apt-get install php7.3-mbstring
$ apt-get install php7.3-xml

- composer를 이용해 laravel 설치

$ composer global require laravel/installer

- laravel 명령어를 사용할 수 있게 PATH 지정

$ export PATH=$PATH:~/.composer/vendor/bin/

- 원하는 폴더로 이동해 laravel 명령어를 이용하여 프로젝트를 생성

laravel new 프로젝트명

laravel 프로젝트에 필요한 라이브러리들을 자동으로 다운받는다

#laravel new 프로젝트명
$ laravel new demo1

 

4. nginx 설치 및 세팅

$ apt-get install -y nginx
$ service nginx start
$ service php7.3-fpm start

-vim 에디터 설치

$ apt-get install vim

- nginx default 파일 설정

$ vi /etc/nginx/sites-available/default

- php 관련 세팅

server {
    listen 80 default_server;
    listen [::]:80 default_server;
 
    #laravel 프로젝트는 해당폴더 안에 public 까지 경로를 맞춰서 써줘야함
    root /home/demo1/public;
    index index.php
    server_name dev.com;
    
    
    try_files $uri $uri/ /index.php;   
    
    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/run/php/php7.3-fpm.sock;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO $fastcgi_path_info;
    }
}

- fastcgi_pass 는 자신의 php7.3-fpm.sock 파일경로를 맞게 적어줘야 한다.

이 경로를 확인하기 위해서는 vi 에디터로 아래 파일을 열어서 확인할 수 있다.

$ vi /etc/php/7.3/fpm/pool.d/www.conf

- 아래 빨간 네모부분 경로를 그대로 적어주면 된다.

- 그리고 나서 아까 만들었던 laravel 프로젝트 폴더의 권한을 첫번째 빨간네모의 user 권한으로 준다.

$ cd /home
$ mkdir ./demo1
$ chown -R www-data ./demo1

- nginx 재시작

$ service nginx restart

$ service nginx restart

- 자신의 브라우저 주소창에 localhost 입력

세팅완료!

반응형