지난 강의에서는 ownCloud를 설치하고 PC에서와 모바일에서 사용하는 방법을 알아봤다. 이번 강의에서는 ownCloud를 업데이트 하는 방법을 알아본다.
사족을 달면, ownCloud가 출시된지 벌써 꽤 시간이 지났는데도 국내에 많이 알려지지 않았기 때문에 (아니면 알려졌음에도 불구하고 한글로 된 자료가 별로 없어서 그런지) 활성화된 커뮤니티가 없다. 블로그를 뒤져도 설치나 특히 업데이트에 대한 정보가 별로 없다. owncloud.org가 제공하는 문서가 있지만, 영어라서 눈에 잘 안들어온다. 여튼 업데이트를 해보자.
업데이트 알림
ownCloud를 설치하고 쓰다보면 다음과 같은 상단 배너가 떠서 업데이트가 존재함을 알려준다.
ownCloud 백업
언제나 업데이트를 하기 전에는 반드시 해야할 것이 있는데, 바로 백업이다.
사실 잘 안하게 되는데, FM대로 하면 백업은 필수다. SSH로 작업한다.
백업해야 할 항목은 두 가지다.
- ownCloud 파일
- ownCloud 데이터베이스
이때 여기서 사용자 데이터는 백업하지 않는다. 용량이 클 경우 너무 오랜 시간이 걸리기 때문이다.
ownCloud 파일 백업
다음 명령어로 데이터 폴더를 제외한 ownCloud 파일들을 백업한다.
~$ tar czfp ~/oc-file-backup.tar.gz --exclude [ownCloud가 설치된 경로/data] [owncloud가 설치된 경로]
괄호는 빼고 ownCloud가 설치된 경로를 입력한다.
~$ mysqldump --lock-tables -u[아이디] -p[암호] owncloud-db-name > ~/oc-db-backup.sql
-u와 -p 다음에 아이디와 암호를 입력할 때는 띄어쓰기 없이 붙여쓴다. owncloud-db-name에는 자신의 ownCloud 데이터베이스 이름을 쓰면 된다.
이제 자신의 홈 폴더에 oc-file-backup.tar.gz와 oc-db-backup.sql 두 개의 파일이 생겼을 것이다. 백업 완료.
업데이트 센터
이제 업데이트 센터로 들어가야 한다. 7.0부터인지 업데이트 센터 기능을 제공한다. 콘솔에서 명령어로 작업하지 않아도 돼서 많이 편리해졌다.
오른쪽 상단의 계정 정보에 마우스를 대면 드롭다운 메뉴가 펼쳐진다. [관리자]를 눌러 설정 화면으로 들어간다.
그리고 중간쯤 해서 업데이트 센터로 가는 링크가 존재한다. 왼쪽 메뉴에서 [업데이트]를 눌러도 나온다. [업데이트 센터 열기]를 누른다.
업데이트 실행
다음이 [업데이트 센터]다. [업데이트]를 눌러서 업데이트를 진행한다.
순서대로, 1. 기존의 파일들을 백업하고(데이터 파일이 아닌 ownCloud 파일들), 2. 최신 패키지를 다운로드한 후, 3. 기존 ownCloud의 파일들을 최신버전으로 교체한다.
데이터베이스 업그레이드
3단계의 작업이 모두 끝나면, 데이터베이스 업그레이드를 해야 한다. [진행]을 누른다.
다음과 같은 화면이 나오는데, [업데이트 시작]을 눌러준다.
업데이트 성공! 이 아니라 다음과 같은 에러 메시지가 뜰 것이다. 뭐라고 하는지 잘 모르겠다. 여튼 문제가 되는 것은 SQL의 설정 값이 BINLOG_FORMAT = STATEMENT 라서 바이너리 로그를 기록할 수 없다는 것이다.
*만약 에러 메시지가 발생하지 않느다면, 다음 부분인 에러 해결방법은 건너띄면 된다. 8.0.2에서만 발생하는 것인지도 모른다.
데이터베이스 업그레이드 에러 해결방법
이 강의 시리즈에서는 MariaDB를 설치했는데, MySQL도 동일하다.
터미널로 작업
나스 서버의 MariaDB에 접속하여 작업한다.
mysql -u root -p owncloud-db-name 입력해 MariaDB의 ownCloud 데이터베이스에 바로 접속한다.
(owncloud-db-name은 자신이 정한 owncloud의 데이터베이스 이름을 적으면 된다)
비밀번호를 입력하면 다음과 같이 나온다.
$ mysql -u root -p owncloud-db-name
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 114057
Server version: 5.5.42-MariaDB-1~trusty-log mariadb.org binary distribution
Copyright (c) 2000, 2015, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [owncloud-db-name]>
SET GLOBAL binlog_format = ‘MIXED’; 를 이용해 binlog_format의 값을 바꿔준다.
다음과 같이 나오면 된 것이다.
MariaDB [owncloud-db-name]> SET GLOBAL binlog_format = 'MIXED';
Query OK, 0 rows affected (0.00 sec)
MariaDB [owncloud-db-name]>
phpMyAdmin으로 작업
터미널 SSH로 작업한 것이 어렵다면 웹에서 작업해보자. phpMyAdmin은 저번에 설치 했을 것이다. 웹브라우저에서 phpMyAdmin에 접속하여 로그인한다.
IP주소/phpmyadmin 이나 도메인주소/phpmyadmin 으로 접속하면 된다.
로그인하면 다음과 같이 뜰텐데, 메인화면 상단의 메뉴 중에서 [환경설정값]에 들어간다.
그리고 [포함하고 있는 단어] 입력 창에 [binlog format]을 입력하면, 목록에 binlog format만 뜰 것이다.
마우스 커서를 목록 가운데 쯤 위치시키면 [수정]이라고 뜬다. 클릭해서 값을 “MIXED”로 변경해주면 끝이다.
업데이트 재개
이제 문제가 해결되었다. 자신의 owncloud에 다시 접속하면 업데이트를 다시 시도할 수 있다. [업데이트 시작]을 누른다.
이제 뭔가 제대로 돌아가는 것 같다.
업데이트 성공!
서드파티 앱들은 자동으로 비활성화 된다. 사용하려면 다시 활성화 시켜줘야 한다.
업데이트된 버전 확인
[관리자] 설정에 들어가서 스크롤을 맨 밑으로 내리면 버전 항목이 나온다.
ownCloud 8.0.4 업데이트가 정상적으로 됐다.