Docker httpd + mysql + laraval install
- 안내말 입니다.
- 개인적으로 남기는 글입니다. 아래의 경우를 미리 공지합니다.
- 높임말은 없는 경우가 있습니다.
- 영어, 일본어, 베트남어를 공부하고 있습니다. 경우에 따라서 사용됩니다.
- 보기 거북하다면 뒤로가기 해주세요.
이야기 시작-
backend 공부를 위해서 가지고 있는 NAS 서버에 laraval을 설치 해보려한다.
시작
먼저 아래의 파일을 생성 적당한 위치에 저장을 하고 나중에 서버로 복사한다.
예시)
/volume1/docker/laraval/mysql_db/my.cnf
my.cnf
[mysqld]
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
[client]
default-character-set=utf8mb4
MySQL 기본 패키지는 character set 이 latin1 로 설정되어있습니다.
character set 을 utf8 로 설정하여 한글 및 다른 언어가 께지는 것을 처리해야합니다.
때로는 utf8mb4 로 설정하는 경우도 있는데 utf8mb4는 emoji를 데이터베이스에 저장할 수 있습니다.
emoji는 4byte 문자이기 때문에 utf8 의 상위 호환인 utf8mb4를 사용해야 저장할 수 있습니다.NOTE: character set 이 utf8 인 상태에서 emoji를 데이터베이스 저장하려면 error 가 발생합니다.
인용 : https://inma.tistory.com/100
시놀로지에 폴더 구조를 만든다.
예시)
/volume1/docker/laraval
/volume1/docker/laraval/mysql_db/data
portainer에 접속하여 Stacks 에 내용을 넣는다.
Stacks 내용
version: '3.9'
services:
apache:
image: httpd:latest
container_name: laraval_project
ports:
- '18183:80'
volumes:
- /volume1/docker/laraval:/usr/local/apache2/htdocs
db:
image: mysql:5.7
container_name: laravel_project_db
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: laravel_db
MYSQL_USER: useruser
MYSQL_PASSWORD: passpass
TZ: 'Asia/Seoul'
command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
volumes:
- /volume1/docker/laraval/mysql_db/data:/var/lib/mysql
- /volume1/docker/laraval/mysql_db/my.cnf:/etc/mysql/conf.d/my.cnf
ports:
- 13306:3306
쉽게 하기 위해서 portainer안에서
bash 에 접속하여 아래의 순서로 진행한다. ( 왠만하면 ssh 를 이용해서 접속하자. )
apt update
apt install php php-dom php-xml php-curl libapache2-mod-php composer
주의 여기서 php8.2-curl 부분의 버전은 필자의 시스템에서 에러 나서 붙인것임.
laraval install
조건 위에 bash에 접속 중!
composer create-project laravel/laravel backend1
시간이 소요됩니다. 하지만 중간에 php-curl등에서 에러 발생하면 상황에 맞게 수정해야한다.
이후,
1. 해당 폴더를 로컬 시스템에 복사하고 backend 작업을 마무리 한뒤에서 업로드
2. 시놀로지 역방향 프록시 지정해서 서브 도메인연결
3. flutter등에서 사용하면 끝.
사용된 리눅스 명령어
docker ps docker container ID를 알 수 있다.
docker exec -it Container_ID /bin/bash
rm -rf 폴더명 리눅스 폴더 삭제
END
'Synology > Docker(in Synology)' 카테고리의 다른 글
시놀로지 Docker transmission+ VPN + telegram (갱신 24.04.08) (57) | 2024.04.08 |
---|---|
[Docker] File Browser with metube (0) | 2024.03.10 |
Docker Let's encrypt발급받자(와일드카드 포함) (2) | 2023.11.24 |
[Docker] Transmission 에 Telegram bot 으로 상태 확인 하자 (56) | 2023.08.13 |
Plex 자막이 안 나올 때 조치방법 (56) | 2023.07.22 |