NextCloud를 설치하기 전에
NextCloud에서
필요한
MariaDB를 설치해야한다.
예전에는
apt 패키지 인스톨러로
설치했으나
Docker를 설치한 김에
Docker로 설치하고자 한다.
MariaDB?
DBMS의 한 종류이다.
원래 오픈소스 진형에서
MySQL이라는
DBMS가 있었다.
MariaDB는
이 MySQL을 개선한
DBMS라서
사실상
같은 DBMS이다.
중간에
왜 이름을 바꿨는지
모르겠다.
Docker 이미지 검색
MariaDB의 Docker 이미지는
아래 주소에서 받을 수 있다.
https://hub.docker.com/r/linuxserver/mariadb
공식 MariaDB 이미지도 있으나
Linuxserver 커뮤니티의
이미지가
라즈베리파이와 같은
ARM 장비에서
설치하기 더 좋다고 한다.
이미지를 설치할 때는
아키텍처가 호환되는 지
꼭 확인하도록 한다.
라즈베리파이는
ARM64가 지원되야 한다.
MariaDB 컨테이너 생성
Portainer로 접속하여
컨테이너를 추가한다.
아래와 같이
설정한다.
화면 아래에서
추가 설정을
해준다.
설정 내용은
다음과 같다.
Parameter | 설명 |
-p 3306 | MariaDB에서 사용하는 PORT 번호(Default: 3306) |
-e PUID=1000 | 리눅스 사용자의 ID(pi: 1000) |
-e PGID=1000 | 리눅스 사용자의 그룹ID(pi: 1000) |
-e MYSQL_ROOT_PASSWORD=ROOT_ACCESS_PASSWORD | MariaDB 관리자 비밀번호(최소 4글자 이상) |
-e TZ=Europe/London | Timezone(서울: Asia/Seoul) |
-e MYSQL_DATABASE=USER_DB_NAME | 생성할 DB(데이터 저장소) 이름 |
-e MYSQL_USER=MYSQL_USER | MariaDB의 관리 계정 생성(root 안됨) |
-e MYSQL_PASSWORD=DATABASE_PASSWORD | MYSQL_USER의 비밀번호 |
-e REMOTE_SQL=http://URL1/your.sql,https://URL2/your.sql | sql 파일 위치 |
-v /config | DB 및 DB 설정 등 관련 파일을 저장할 위치 |
나는 라즈베리파이의
기본 계정을
변경하였기에
PGID가 1001이다.
또한,
아래 3가지 설정은
나중에
MariaDB에서
SQL Query로
설정할 수 있으며,
데이터베이스에 대한
권한 또한 설정해야하기 때문에
여기서는 제외했다.
따라서 최종 설정은
아래와 같다.
마지막으로,
DB 파일과 DB 설정 파일이
저장될 위치를 지정해 줘야한다.
이 위치는 기본적으로 /config 디렉토리이나,
데이터가 저장되는 실제 경로이기 때문에
해킹을 당했을 때
접근하지 못하도록
컨테이너 내부가 아닌 외부 경로로
분리해야한다.
나는 사용자 홈 디렉터리 아래
app/mariadb/config으로 지정했다.
Container 생성
이제 Deploy the container를 클릭하여
mariadb를 설치한다.
별다른 로그 화면은
없으나,
5분 정도 기다리면
완성된다.
설정에 오타가 있어서
걱정했는데
찰떡같이 알아듣고
생성해줬다.
DB 파일들도 잘 생성됐다.
MariaDB 접속
Portainer는 Web 상에서
Console 접속이 가능하다.
(사실 이런건 WebShell이라는
백도어인데...)
DB 테스트를 위해
접속해본다.
mariadb의 '>_' 버튼을
클릭한다.
Connect를 클릭한다.
아래 명령어로
mariadb에 접속한다.
# mysql -u root -p
Enter password: <DB 관리자 계정의 비밀번호>
끝!
이제 MariaDB 설치까지 끝났으니
다음 글에서는
NextCloud 설치 방법을 소개하겠다.