본문 바로가기
SW 프로그래밍/nextcloud

Wind PC(MSI)로 개인클라우드(NextCloud) 만들기(2)

by N2info 2017. 6. 9.

이전 글에서 nextcloud를 설치하기위한 사전준비에 대해 포스팅했습니다.


이번글에는 nextcloud 패키지를 설치하고, 실행하는 것을 따라할 예정입니다.

단계 및 방법은 SPACE XIAN님의 블로그를 그대로 따라했습니다.


SPACE XIAN님의 클라우드에 대한 설명 및 주요기능은 클라우드 스토리지 를 참조하세요


바로 들어갑니다.


넥스트클라우드 설치 준비


SPACE XIAN님의 글에 따르면 다음의 순서로 진행됩니다.

  1. Nextcloud의 한글 관련 최적화
    • Apache2 UTF8 설정
    • PHP UTF8 설정
    • MariaDB UTF8 설정
  2. Apache2 기본 디렉터리 설정 변경
  3. PHP 모듈 설치
  4. MariaDB 환경설정 값 변경
자세히 보고 따라해야 합니다.(이 부분은 정확해야 하기 때문에 SPACE XIAN님의 글을 그대로 옮깁니다.)
저의 환경에 맞게 제가 수정한 부분은 이렇게 표시하였습니다.

1. nextcloud의 한글관련 최적화

1) Apache2 UTF8 설정

다음 명령어를 입력하여 apache2.conf 파일을 수정합니다.

파일 맨 아래에 다음 내용을 추가합니다.

2) PHP UTF8 설정

다음 명령어를 입력하여 php.ini 파일을 수정합니다.
(PHP 7.1버전일 경우 7.0을 7.1로 변경합니다)

(PHP 7.2버전일 경우 dom, XMLReader 모듈이 없다는 메시지가 나타납니다. 7.1로 설치하세요)

파일을 열고 [mbstring]  부분을 찾습니다. 거의 마지막 부분에 있다.

[mbstring]  부분에서 다음 문자열을 찾아 값을 모두 UTF-8로 변경해주고 ; 을 제거해 주석 처리를 풀어줍니다.

이 부분을 다음과 같이 변경해야 합니다.

3) MariaDB UTF8 설정

먼저 MariaDB에 접속하여 DB 입출력 문자 집합을 알아봅시다. MariaDB에 root 계정으로 접속하는 명령어는 다음과 같습니다.

root 계정의 암호를 입력하면 다음과 같이 MariaDB에 접속됩니다.

다음 명령어를 입력하여 MariaDB의 입출력 관련 설정 상태를 확인합니다.

다음과 같이 설정 값들이 출력됩니다.

utf8로 설정된 것들이 보이기는 하지만 database, server 값은 utf8이 아닙니다.
exit 명령어로 MariaDB를 빠져나갑니다.

다음 명령어를 입력하여 my.cnf 파일을 수정합니다.

한 군데만 수정해주면 됩니다. [mysqld]  부분을 찾아 바로 다음 줄에 다음 내용을 추가합니다.

(UTF-8 이 아니라 utf8입니다. 즉 "-"가 없습니다.  계속 에러가 생기길래 확인한 결과 입니다. 

vi를 빠져나와 다음 명령어로 MariaDB를 재시작합니다.

다시 MariaDB에 접속하여 설정 값을 확인합니다.


제가 수정한 결과 화면입니다.

이제 utf8로 잘 설정되었습니다.

2. Apache2 디렉터리 설정

* 넥스트클라우드 관련 포스트에서는 /var/www/nextcloud 디렉터리와 xiancloud.tk 도메인을 연결시킬 것입니다. 다음 내용은 Apache 서버에서 Nextcloud를 위한 디렉터리를 추가하는 작업입니다.

보안과 접근성을 위하여 apache2.conf 파일을 수정해야 합니다.

다음과 같은 부분을 찾아서

바로 밑에 똑같이 하나 더 써줍니다.
Directory에는 자신이 Nextcloud를 설치할 경로를 써주고, Options에서 Indexes를 삭제하고, AllowOverride에서 None을 All로 변경합니다.

수정하는 김에 /var/www/의 내용도 Options에서 Indexes를 삭제하고, AllowOverride에서 None을 All로 변경해 줍니다.

제가 수정한 결과 화면입니다.


혹시 몰라서 아파치를 재시작했습니다.



3. PHP 모듈 설치

nextcloud를 설치하기 위해서는 몇 가지 PHP 모듈이 더 필요합니다. 다음 명령어로 설치 후 Apache2 서버를 재시작합니다.

(PHP 7.1버전일 경우 7.0을 7.1로 변경합니다)

(PHP 7.2버전일 경우 dom, XMLReader 모듈이 없다는 메시지가 나타납니다. 7.1로 설치하세요)

제가 수정한 결과 화면입니다.



4. MariaDB 환경설정 값 변경

마지막으로 작업할 것이 하나 있습니다. MariaDB의 binlog_format 기본 값은 STATEMENT인데, Nextcloud에서는 binlog_format의 설정 값이 MIXED가 아니면 설치도 안 되고, 임시로 변경하여 설치했다 하더라도 다시 STATEMENT로 되돌아가기 때문에 귀찮은 일이 발생합니다. 따라서 아예 binlog_format의 설정 값을 MIXED로 고정시켜야 합니다.

다음 명령어로 mysql의 설정 파일을 엽니다.

[mysqld]항목에 다음 내용을 추가하고 저장합니다.

MariaDB를 재시작합니다.


이렇게 Nextcloud를 설치하기 위한 준비는 모두 끝이 났습니다.