Ubuntu 20.04에 nextcloud 설치.

Ubuntu 20.04 (raspberry pi 4)에 nextcloud 설치하기

Raspberry Pi 4를 이용해서 사용할만한 cloud storage를 찾아보다가 IOS와 데스크탑 클라이언트가 제공되는 pydio cells 와 nextcloud를 후보(?)로 올렸다.
pydio cells는 ARM 용으로 컴파일된 패키지를 제공하지 않아서 소스코드를 다운로드 받아 컴파일했으나, 결과가 좋지 않았다.
컴파일은 잘 되었으나, mysql8을 이용한 로그인 과정에서 문제 발생했으며, mysql5.7 버전으로 변경해서 설치했으나 로그인 후 사용이 불가능할 정도로 오류가 발생해서 포기했다.

반면, nextcloud는 시험 사용중에 특별한 문제는 발생하지 않았고, 성능도 크게 떨어지지 않았다.

* 작업환경
Hardware: raspberry pi 4 4GB
OS: ubuntu server 20.04

* 사전 설치
웹서버: apache2
데이타베이스: mysql-8
PHP: 7.4
기타 : nextcloud가 요구하는 php 모듈(https://docs.nextcloud.com/server/20/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation)

1. NextCloud 다운로드
apache2, php7.4, 기타 필요한 패키지는 apt로 설치하였으며, 여기서는 생략한다.

먼저 nextcloud를 설치할 디렉토리를 만들고 다운로드한다. 여기서는 /home/cloud 를 사용한다.

압축을 해제한다.

압축해제한 디렉토리 이름을 웹서버에서 설정할 디렉토리 이름으로 변경한다. 여기서는 public_html 로 변경한다.

웹서버가 접근가능하도록 소유권을 변경한다.

2. 데이타베이스 설정.

3. apache2 웹서버 설정
/etc/apache2/sites-available 디렉토리에 virtual hos 설정파일을 만든다.

설정한 사이트를 활성화하고, 추가 모듈을 활성화 해 준다.(이미 활성화 되어 있을 수도 있다.)

웹 서버를 재 실행한다.

4. 설치

이제 웹브라우저에서 설정한 url을 입력하면 설치를 진행 할 수 있다. (그림)

nextcloud install

명령어로 설치하려면 아래 명령어를 입력하면 된다. (xxxx 부분은 실제 비밀번호를 사용)
occ는 nextcloud 파일들이 있는 위치에 존재한다(여기서는 /home/cloud/public_html/occ

설정파일에서 호스트네임을 추가해 준다. localhost 아래 부분 추가함.

이제, 웹브라우저에서 admin 계정으로 로그인하면 사용 할 준비가 끝나며, 아래와 같은 화면을 볼 수 있다.

nextcloud initial login

아래 부터는 사용에 필수사항은 아니다.

5. 깔끔한 URL 사용하기.

깔끔한 url을 사용하기 위해서는 apache 서버의 mod_env 와 mod_rewrite를 활성화 해야한다.

config.php에 아래 내용을 수정하고, 추가해준다.

아래 명령으로 설정을 적용한다.

6. Let’s encrypt 적용하기.

snap 명령어로 certbot을 설치한다.

설치후, certbot 명령어를 아래처럼 링크걸어둔다.

인증서를 설치한다.

let’s encrypt 인증서의 유효기간은 3개월이다. 따라서 3개월마다 갱신해 주어야 한다.
아래 명령을 실행하면 cron에 자동으로 등록된다.

systemctl list-timers 명령으로 확인해 보면, 두번째 항목에 등록된 것이 보인다.

이제, apache 웹서버를 재실하여 변경사항을 적용하고, 확인한다.

* 사용

사용은 매우 직관적이라 크게 어려움이 없다.

답글 남기기

Your email address will not be published.

%d bloggers like this: