라라독(laradock) 사용하기 > Docker

Docker

라라독(laradock) 사용하기 정보

라라독(laradock) 사용하기

본문

PHP 애플리케이션을 개발하려고 할 때 ​XAMPP​​ , ​WAMP​​ , ​Laragon​​과 같은 로컬 웹 서버 솔루션을 실행할 수 있습니다.

XAMPP: 이것은 PHP 웹 애플리케이션 개발의 초보자라면 가장 먼저 사용하게 될 것입니다. XAMPP는 웹 서버로 ​Apache2​​, 데이터베이스 서버로 ​MySQL​​, 그리고 아마도 ​phpMyAdmin​​과 같은 데이터베이스 관리자인 PHP 웹 애플리케이션을 위한 가장 기본적인 서비스만을 제공합니다.

WAMP: XAMPP와 비슷하지만 로컬 웹사이트 URL을 사용자 정의하고 더 예쁘게 보이게 하는 데 사용할 수 있는 가상 호스트 관리자가 있습니다.

Laragon: WAMP와 비슷하지만 ​Redis​​, ​Memcached​​, 메일 캐처 등과 같이 개발을 지원하는 일부 최신 서비스가 추가되었습니다. 이것은 내가 이 포스트에서 말하고자 하는 모든 것 중 두 번째로 가장 완벽한 로컬 웹 서버 솔루션입니다.

이러한 로컬 웹 서버 솔루션은 좋지만 더 원하면 어떻게 해야 합니까?

A ready to use Docker-based solution

​​Docker​​ 기반의 완전한 PHP 개발 환경인 Laradock을 만나보세요. 사전 구성되어 바로 사용할 수 있습니다. ​Elasticsearch​​, ​Selenium​​, ​Sonarqube​​와 같은 최신 서비스를 컴퓨터에서 로컬로 사용하는 것은 더 이상 꿈이 아닙니다.

Setting Up Laradock for Local Development

​​Laradock​​을 사용하기 전에 ​docker​​와 ​docker-compose​​가 컴퓨터에 설치되어 있는지 확인하십시오. 모든 운영 체제(Linux, Windows, MacOS)는 도커를 지원해야 합니다.

자신만의 멋진 Laravel 애플리케이션이 있고 이 애플리케이션이 ​projects​​라는 디렉토리에 있다고 가정해 보겠습니다.

 


mkdir projects
cd projects
git clone https://github.com/gnuboard/gnuboard5
cd gnuboard5
mkdir data
cd ..


- projects
  |_ gnuboard5

 

2000813730_1666154152.9802.png

 

이제 공식 github 페이지에서 최신 ​Laradock​​ 프로젝트를 가져오거나 ​git​​을 사용하여 복제하고 ​projects​​ 디렉토리에 배치합니다.

 


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


- projects
  |_ gnuboard5
  |_ laradock
  |_ sql

 

2000813730_1666154230.3519.png

 

​​laradock​​ 디렉토리 안에 ​.env.example​​ 파일이 있습니다. ​.env​​라는 새 파일로 복제

 


copy laradock\.env.example laradock\.env


- projects
  |_ gnuboard5
  |_ sql
  |_ laradock
    |_ ...
    |_ .env.example
    |_ .env

우리는 멋진 Laravel 앱을 위한 필수 컨테이너를 사용할 것입니다. 그것들은 ​nginx​​, ​mysql​​ 그리고 아마도 ​phpMyAdmin​​일 것입니다.

Setting up Nginx

​​laradock​​ > ​nginx​​ > ​sites​​ 디렉토리로 이동합니다. ​app.conf.example​​을 찾아 ​gnuboard5.test.conf​​라는 새 파일에 복제합니다(이 파일에 원하는 이름을 지정할 수 있지만 ​.conf​​로 끝나는지 확인하십시오).

 

​
- projects
  |_ gnuboard5
  |_ sql
  |_ laradock
    |_ ...
    |_ nginx
      |_ sites
        |_ ...
        |_ gnuboard5.test.conf
        |_ app.conf.example
    |_ .env.example
    |_ .env

​​gnuboard5.test.conf​​ 파일 내에서 ​server_name​​을 원하는 도메인 URL로 변경하고 ​root​​를 멋진 gnuboard5 앱 공용 폴더 경로로 변경하십시오.


cd laradock\nginx\sites
copy app.conf.example gnuboard5.test.conf
cd ..\..


server {
 
  ...
 
  server_name gnuboard5.test;
  root /var/www/gnuboard5;
  index index.php index.html index.htm;
 
  ...
 
}

그것이 ​nginx​​를 위한 것입니다!

Setting up MySQL and PhpMyAdmin

여기에서 설정할 필요가 없습니다 ...

여기에서 사용할 수 있는 사전 구성된 사용자는 다음과 같습니다.


* Root User:
​  * username: ​root​​ | password: ​root​​
​
* Non-Root User:
​  * username: ​default​​ | password: ​secret​​
​

​​

Setting up your awesome Gnuboard5 app ​.env​​ file

​​laradock/.env​​ 파일을 올바르게 구성하지 않으면 앱이 실행되지 않습니다. 이상한 것은 ​DB_HOST​​로, 그 값은 ​localhost​​ 대신 ​mysql​​이어야 합니다. 확인해야 하는 환경 매개변수는 다음과 같습니다.


DATA_PATH_HOST=../sql
# 원하는 PHP버전: 8.1 - 8.0 - 7.4 - 7.3 - 7.2 - 7.1 - 7.0 - 5.6
PHP_VERSION=7.4

 

Running the containers

​​8080, 80, 3306​​ 포트를 사용하는 머신에서 ​apache2​​ 또는 ​mysql​​과 같은 서비스를 사용하는 경우 laradock의 컨테이너를 실행하기 전에 먼저 해당 서비스를 중지하십시오. (laragon의 서버가 동작되 있다면 Stop해 주세요.)

좋아하는 명령줄 인터페이스(저는 cmder를 사용하고 있습니다. 멋진 CLI입니다)를 사용하여 ​laradock​​ 디렉토리로 이동하여 이 docker-compose 명령을 실행합니다:


cd laradock
docker-compose up -d nginx mysql phpmyadmin

 

위의 명령은 사용된 컨테이너(nginx, mysql, phpmyadmin)와 ​workspace​​라는 기본 laradock 컨테이너만 가져와서 빌드합니다. 풀 및 빌드 프로세스는 처음으로 시간이 오래 걸립니다(인터넷 연결도 포함).

☕☕☕☕☕☕☕☕☕☕☕☕☕☕☕☕☕☕☕☕☕☕☕☕☕☕☕☕☕

 

2000813730_1666156698.5696.png

모든 작업이 완료되면 다음을 실행하여 컨테이너가 실행 중인지 여부를 확인할 수 있습니다.


docker-compose ps

 

2000813730_1666156661.9067.png

이제 컴퓨터의 ​hosts​​ 파일에 ​gnuboard5.test​​ 도메인을 추가하기만 하면 됩니다. Windows의 경우 ​C:\Windows\System32\drivers\etc\hosts​​에 있어야 하고 Linux 기반의 경우 ​/etc/hosts​​에 있어야 합니다.


 
...
 
127.0.0.1 gnuboard5.test
 
...
 

이제 브라우저에서 http://gnuboard5.test를 열어 멋진 그누보 앱에 액세스할 수 있습니다.

Creating database using phpMyAdmin

phpMyAdmin을 사용하여 ​gnuboard5​​를 만드는 것을 잊지 마십시오. http://localhost:8081 에서 액세스할 수 있어야 합니다. 위의 주어진 사용자 자격 증명을 사용하여 로그인할 수 있으며 ​localhost​​ 대신 ​mysql​​로 ​server​​ 양식을 채우는지 확인하십시오.

 

2000813730_1666157890.0684.png

 

gnuboard5 라는 데이타베이스를 만듭니다.

2000813730_1666157986.5274.png

 

최근에 작업 공간에서 이미 8081 포트를 사용하는 오류가 발생하면 ​laradock/.env​​ 파일에서 ​PMA_PORT=8080​을 설정하고 ​docker-compose restart phpmyadmin​​을 사용하여 컨테이너를 다시 시작한 다음 http://localhost:8080을 엽니다.

Entering the Workspace Container bash

gnuboard 앱에 필요한 모든 명령줄 유틸리티가 있는 작업 공간에 bash를 사용할 수 있습니다. bash를 입력하려면 CLI의 'laradock' 디렉토리에 있는지 확인하고 다음 docker-compose 명령을 실행합니다.


docker-compose exec --user=laradock workspace bash

 

2000813730_1666158557.8856.png

 

디렉토리 시작점은 ​/var/www/​​에 있어야 하고 그누보드도 여기에 있어야 합니다. 

새로운 프로젝트 생성은 

1. git clone https://github.com/gnuboard/gnuboard5 new-project

  ** data 디렉토리 만들어 주시요.  깃에 data/.gitkeep 하나 넣어주세요

2. nginx/sites에서 new-project.test.conf 파일로 카피후 안에 변경

3. hosts 파일에 등록

4.


docker-compose stop
docker-compose up -d nginx mysql phpmyadmin

즐거운 시간 보내세요!

 

1. Redis 서버 추가 @명랑폐인 님 https://sir.kr/g5_plugin/3261 플러그인 테스트

2. ffmpeg동작시켜서, @thisgun 님 https://sir.kr/g5_plugin/7476 플러그인 테스트

3. 메일서버도 넣어서 메일 주고 받기(?)

4. thumbor를 사용해서 이미지 변환하기

5. caddy 서버도 적용하기 https://sir.kr/so_server?sca=&sfl=wr_subject%7C%7Cwr_content&stx=caddy

6. Traefik 적용해서 api 서버만들기

7. elasticsearch 사용해서 그누보드 검색하기

 

실력은 많이 부족하고, 시간도 부족하고, 머리도 잘 안돌고.. 

 

그래도 해보고 싶은 것은 많네요.  보시고 원하는 것 있으면 알려주세요.  그것부터 공부해 보겠습니다.

 

 

추천
1

댓글 2개

어드민 화면이 깨지고 있네요.  css, js 파일 로드 에러도 안 보이는데...

gnuboard5.test/adm/ 과 gnuboard5.test/shop/ 처럼 서브디렉토리로 접속했을 때, css, js를 제대로 못 가져오는 것 같습니다.

apache와 nginx의 conf 파일의 옵션을 찾아 보고 있습니다.
전체 23 |RSS
Docker 내용 검색

회원로그인

진행중 포인트경매

  1. 참여68 회 시작24.04.19 15:40 종료24.04.26 15:40
(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT