도커로 라이믹스를 편하게 설치하는 방법 (Ubuntu20.04, CentOS8)
기존에 적었던 내용을 합치고, HTTPS 환경 또는 로컬(localhost), SSL 없는 환경에 설치하는 방법에 대해 알려드리겠습니다.
조건
1. 서버 : Ubuntu 20.04 LTS 또는 CentOS 8
2. 도메인 설정에서 네임서버 설정을 해줍니다.
위와 같이 www, port(도커관리도구 portainer 접속용), pma(phpmyadmin 접속용) 도 추가로 해줍니다.
3. 80, 443 포트는 열어줍니다. 클라우드 서버에서는 서버 뿐만 아니라 웹패널에서도 열어줘야 합니다.
4. sudo 권한이 있는 계정으로 진행해주세요. (root 는 보안상 추천하지 않습니다.)
Ubuntu 20.04 LTS
(1) SSL 인증서 자동발급 및 https 환경 구축
위 명령어로 패키지 리스트를 업데이트하고, 필수 패키지를 설치합니다.
위 명령어로 소스를 받고 스크립트를 실행합니다.
몇가지 입력사항이 있습니다. 입력이 끝나면 자동으로 설치가 됩니다.
(2) 로컬(localhost) 또는 SSL 없는 환경 구축(IP 기반도 가능) - > 포트를 따로 지정하여 포트로 접속
위 명령어로 패키지 리스트를 업데이트하고, 필수 패키지를 설치합니다.
위 명령어로 소스를 받고 스크립트를 실행합니다.
몇가지 입력사항이 있습니다. 입력이 끝나면 자동으로 설치가 됩니다.
CentOS 8
(1) SSL 인증서 자동발급 및 https 환경 구축
위 명령어로 패키지 리스트를 업데이트하고, 필수 패키지를 설치합니다.
위 명령어로 소스를 받고 스크립트를 실행합니다.
몇가지 입력사항이 있습니다. 입력이 끝나면 자동으로 설치가 됩니다.
(2) 로컬(localhost) 또는 SSL 없는 환경 구축(IP 기반도 가능) -> 포트를 따로 지정하여 포트로 접속
위 명령어로 패키지 리스트를 업데이트하고, 필수 패키지를 설치합니다.
위 명령어로 소스를 받고 스크립트를 실행합니다.
몇가지 입력사항이 있습니다. 입력이 끝나면 자동으로 설치가 됩니다.
설치사항
Rhymix latest(including rewrite configuration) : 라이믹스 최신버전 다운로드 및 짧은 주소 설정 완료
Php7.4 latest docker image(alpine) : php7.4 최신버전
MariaDB latest docker image : mariadb 최신버전
Nginx latest docker image(alpine) : nginx 최신버전
Certbot latest docker image : Let's Encrypt SSL 발급 최신버전
Redis latest docker image(alpine) : Redis 최신버전
Phpmyadmin latest docker image(fpm-alpine) : phpmyadmin 최신버전
Portainer latest docker image : 도커 관리도구 Portainer 최신버전
설치사항에 있듯이,
SSL 인증서 자동 발급 및 자동 갱신
Redis 설치로, 라이믹스 캐시 Redis 설정 가능(Host:redis, port:6379)
FFMPEG 설치로, GIF움짤 MP4 변환가능
참고링크
상세설명 : https://www.wsgvet.com/ubuntu/125
소스 : https://github.com/woosungchoi/docker-rhymix
PS. 기존 글은 삭제하였습니다. 양해바랍니다.
댓글 18
해보구 다시 질문 드리겠습니다.
감사합니다.
도메인이 없다면 로컬에서도 가능합니다
SSL까지 설치가 완료되다니!! 최고네요 ㅎㅎ
SSH에서 DB명이랑 입력다하고
라이믹스 설치할때 입력한 DB명이랑 비밀번호를 입력하니깐
이런 에러 메시지가 뜨는데 해결방법이 있을까요?
DB ERROR 2002 : No such file or directory
DB server address : db
DB server port : 3306
DB ID : 설치할때 지정했던 DB유저 이름
DB Password : DB 비밀번호
DB name : DB이름
이렇게 셋팅하면 됩니다.
phpmyadmin은 지정했던 DB명으로 접속이 되는데 라이믹스 설치할때는 동일한 DB명으로 안됩니다.
phpmyadmin 접속시 SSL적용이 안됩니다.
phpmyadmin은 되는데 라이믹스는 안된다니...
cat .env 해보면 직접 입력했던 값이 뜹니다.
해당 내용으로 해보시겠어요?
phpmyadmin 접속할때 https가 안붙는다는 말인가요?
아니면 주소창에는 붙는데 phpmyadmin 상에 표시가 https가 안된다고 뜨는지?
우분투인가요? 센토스인가요?
오라클 클라우드 무료티어
우분트 20.04 (미니멀 아님)
도메인 연결 후 ssh로 우성짱님께서 남겨주신 명령어 2줄 순차적으로 입력 후 도메인으로 접속하니 라이믹스 설치화면은 나왔습니다. 설치진행 과정에서 DB ID, 패스워드, DB명 입력 후 "다음"을 눌렀으나 에러 2002가 떳습니다.
공용ip로 접속을 하니 phpmyadmin으로 연결 되더라구요.
거기서 DB ID, 패스워드 입력하니 로그인이 됩니다.
phpmyadmin을 아이피 주소로 접속해서 그런지 https가 안떠서 보안에 취약하다는 메시지가 브라우저에 떳습니다.
DB server address : db
위와 같이 입력하셨나요? localhost가 아닙니다.
2. pma.domain.com 처럼 주소로 접속이 안되나요? 왜 IP로 접속하신건가요?
3. port.domain.com 접속은 되나요?
그게 문제였나 봅니다.
라이믹스 설치할려구 ip주소로 접속을 했더니 phpmyadmin으로 접속이 되더라구요.
그래서 도메인으로 접속을 하니 라이믹스 설치화면으로 떴습니다.
다시 한번 시도해보겠습니다.
설치는 db 입력하면 될거구요.
pma.도메인이나
port.도메인은 접속 되나요?
라이믹스 설치 성공했습니다 ㅎ
pma.도메인.com
port.도메인.com
모두 SSL 적용된 상태로 정상접속 됩니다.
아까전에 phpmyadmin 접속시 SSL 적용 안된다는건
아이피 주소로 접속하니깐 그렇게 되네요.
pma.도메인.com으로 접속했을때는 정상적으로 됩니다 ㅎㅎ
정말 감사드립니다.
저도 오라클 클라우드에서 잘쓰고 있어요~
아이피 주소로 접속했을때 사이트 도메인주소로 이동하게 하고 싶습니다.
제일 처음 도메인 설정할때 pma, port, www 설정시 TTL은 모두 600으로 해서 그런걸까요?
위 파일을 만들고
server {
listen 80;
server_name xxx.xxx.xxx.xxx;
location / {
rewrite ^ https://domain.com;
}
}
server {
listen 443 ssl http2;
server_name xxx.xxx.xxx.xxx;
location / {
rewrite ^ https://domain.com;
}
include conf.d/ssl-conf;
}
위 내용을 넣으면 됩니다.
xxx.xxx.xxx.xxx 에는 IP 주소
domain.com 은 가고 싶은 도메인 주소입니다.
그 후에
sudo docker-compose up -d --force-recreate --no-deps nginx
위와 같이 재생성해주면 됩니다.
감사합니다.