오늘은 온프레미스 방식이 아닌 Docker-Compoese를 활용해서 Nextcloud 및 OnlyOffice를 설치해보겠습니다.
먼저 Docker와 Docker-compose를 설치해주세요
Docker 설치
Docker-compose 설치
git clone https://github.com/ONLYOFFICE/docker-onlyoffice-nextcloud
cd docker-onlyoffice-nextcloud
디렉토리는 아래와 같이 구성되어 있고
vi docker-compose.yml
저는 DB를 MariDB를 사용할 예정이므로 아래와 같이 db부분을 추가해줍니다.
version: '3'
services:
db:
container_name: mariadb-server
image: mariadb
command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
restart: always
ports:
- 3306:3306
volumes:
- mysql_data:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD={패스워드}
- MYSQL_PASSWORD={패스워드}
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
app:
container_name: app-server
image: nextcloud:fpm
restart: always
expose:
- '80'
- '9000'
volumes:
- app_data:/var/www/html
onlyoffice-document-server:
container_name: onlyoffice-document-server
image: onlyoffice/documentserver:latest
restart: always
expose:
- '80'
- '443'
volumes:
- document_data:/var/www/onlyoffice/Data
- document_log:/var/log/onlyoffice
nginx:
container_name: nginx-server
image: nginx
restart: always
ports:
- 80:80
- 443:443
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf
- app_data:/var/www/html
volumes:
document_data:
document_log:
app_data:
mysql_data:
docker-compose up -d
http://IP로 접속하면 아래와 같은 창이 뜹니다.
원하는 사용자 이름 암호를 입력하고
데이터 베이스 설정은 MySQL/MariaDB로 선택후
[데이터베이스 사용자] nextcloud
[데이터베이스 암호] docker-compose.yml에서 설정한 암호
[데이터베이스 이름] nextcloud
[mariaDB컨테이너 이름] mariadb-server
설치 완료 버튼을 클릭합니다.
localhost로 입력할 경우 아래와 같은 오류가 발생합니다.
"관리자 생성을 시도하는 동안 오류가 발생했습니다: 데이터베이스에 연결하지 못했습니다: 드라이버에서 예외가 발생했습니다: SQLSTATE[HY000][2002] 연결이 거부되었습니다."
"Error while trying to create admin user: Failed to connect to the database: An exception occured in driver: SQLSTATE[HY000][2002] Connection refused"
아래와 같은 화면이 나온다면 설치 완료 입니다.
다시 프로젝트 폴더로 이동해 아래 스크립트를 실행합니다.
cd docker-onlyoffice-nextcloud
bash set_configuration.sh
이제 Nextcloud에서 OnlyOffice를 활용할 수 있습니다.