라라독(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
이제 공식 github 페이지에서 최신 Laradock 프로젝트를 가져오거나 git을 사용하여 복제하고 projects 디렉토리에 배치합니다.
git clone https://github.com/laradock/laradock
mkdir sql
- projects
|_ gnuboard5
|_ laradock
|_ sql
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 컨테이너만 가져와서 빌드합니다. 풀 및 빌드 프로세스는 처음으로 시간이 오래 걸립니다(인터넷 연결도 포함).
☕☕☕☕☕☕☕☕☕☕☕☕☕☕☕☕☕☕☕☕☕☕☕☕☕☕☕☕☕
모든 작업이 완료되면 다음을 실행하여 컨테이너가 실행 중인지 여부를 확인할 수 있습니다.
docker-compose ps
이제 컴퓨터의 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 양식을 채우는지 확인하십시오.
gnuboard5 라는 데이타베이스를 만듭니다.
최근에 작업 공간에서 이미 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
디렉토리 시작점은 /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개
gnuboard5.test/adm/ 과 gnuboard5.test/shop/ 처럼 서브디렉토리로 접속했을 때, css, js를 제대로 못 가져오는 것 같습니다.
apache와 nginx의 conf 파일의 옵션을 찾아 보고 있습니다.