작성일 댓글 31개

자작NAS – Nextcloud 설치

* 반드시 이전 글인 “Nextcloud 설치 준비”의 과정을 거치고 나서 설치해야 합니다.

1. Nextcloud 설치할 위치 선택

우선 Nextcloud를 설치할 위치를 정합니다.

아파치 서버의 기본 디렉토리는 /var/www/html 입니다. 여기에 설치해도 되고, /var/www/nextcloud 와 같은 다른 위치나 아니면 자신의 홈 디렉토리 하위에 넣어도 관계는 없습니다(제가 실제로 사용하는 서버에서는 홈디렉토리 안에서 모든 자료와 웹서버 파일을 관리합니다). 기본 디렉토리에 설치하든 다른 위치에 설치하든 소유자와 권한, 아파치 가상호스트 설정만 제대로 되어 있다면 도메인주소로 접속할 수 있습니다.

여기서는 /var/www/nextcloud 위치에 설치하는 것으로 설명하겠습니다. /var/www로 이동합니다.

$ cd /var/www

2. Nextcloud 다운로드 및 압축 해제

1) Nextcloud Server 다운로드

Nextcloud Server 파일을 다운로드합니다. 3월 21일 기준으로 11.0.2가 최신입니다. 최신 버전은 넥스트클라우드 다운로드 페이지에서 확인할 수 있습니다.

$ sudo wget https://download.nextcloud.com/server/releases/nextcloud-11.0.2.tar.bz2

명령어를 입력하면 파일을 해당 위치에 다운로드 받습니다.

2) 압축 해제

다음 명령어를 이용해 압축을 풉니다.

$ sudo tar -xvf nextcloud-11.0.2.tar.bz2

압축된 파일과 폴더가 주욱 나오면서 압축이 풀립니다.
제대로 풀렸나 조회를 하려면 ls  명령어를 입력합니다.
nextcloud-11.0.2.tar.bz2를 압축 해제하여 nextcloud 디렉터리가 보일 것입니다.

3) Nextcloud 디렉터리 소유자 및 권한 변경

다시 한번 ls 명령어를 입력해 줍니다. 이번에는 옵션을 같이 입력하겠습니다.

$ ls -l

ls는 디렉터리 안의 파일과 디렉터리를 보여주는 명령어입니다. -l 옵션은 자세한 정보를 출력하라는 뜻입니다.

소유자도 없고 소유 그룹도 없는 nextcloud 디렉터리가 보입입니다. 웹브라우저를 통해 해당 디렉터리에 접근하려면 소유자와 소유 그룹이 www-data 여야 합니다. 그리고 권한을 drwxrwxr-x로(775)로 변경해 줍니다. 다음 명령어를 순서대로 입력해 줍니다.

$ sudo chown -R www-data:www-data nextcloud
$ sudo chmod -R 775 nextcloud
$ ls -l

소유자와 소유 그룹이 www-data로, 권한이 drwxrwxr-x로 변경된 것을 확인할 수 있습니다.

3. Nextcloud를 위한 DB 생성

Nextcloud에서 사용할 데이터베이스를 생성할 차례입니다.

1) phpMyAdmin에 접속하여 root 계정으로 로그인합니다.

2) 상단 탭에서 데이터베이스를 클릭합니다.

3) 새 데이터베이스 만들기 밑의 데이터베이스명 입력 칸에 “nextcloud”를 입력하고 만들기를 클릭합니다.

데이터베이스명은 꼭 nextcloud가 아니어도 되지만 식별할 수 있는 것이어야 합니다.
이제 막 생성됐기 때문에 아무 테이블도 없습니다.

4) 왼쪽 트리 구조의 New를 클릭하여 데이터베이스 목록을 확인합니다.

데이터정렬방식이 utf8_general_ci로 생성되었습니다.

3. Apache2 서버에 도메인 등록하기

아파치 서버의 기본 디렉터리인 /var/www/html에 Nextcloud의 파일을 집어넣었다면 따로 설정할 필요 없이 도메인 주소를 입력하면 바로 접속될 것입니다.
하지만 /var/www/nextcloud 에 설치하였기 때문에 추가로 설정을 해줘야 합니다.

다음 명령어를 순서대로 입력하여 Nextcloud를 위한 설정 파일을 만들어 줍니다.

$ cd /etc/apache2/sites-available
$ sudo vi nextcloud.conf

vi 사용에 익숙치 않다면 vi 간단 사용법을 참고하세요.
빈 파일의 내용에 다음 내용을 입력합니다.

<VirtualHost *:80>

    ServerName 자신의 도메인 주소
    ServerAdmin 자신의 이메일 주소

    ServerAlias 자신의 도메인 주소
    DocumentRoot 넥스트클라우드 파일이 있는 경로

</VirtualHost>

저장한 후 설정 파일을 아파치 서버에 등록합니다.

$ sudo a2ensite nextcloud.conf

추가로 .htaccess 활성화해야 합니다. 활성화 하지 않을 경우 “.htaccess 파일이 처리되지 않아서 데이터 디렉터리와 파일을 인터넷에서 접근할 수 없을 수도 있습니다. 올바르게 서버를 구성하는 방법에 대한 자세한 내용은 설명서를 참조하시기 바랍니다.” 라는 경고 문구가 뜨게 됩니다.
다음 명령어를 입력해 줍니다.

$ sudo a2enmod rewrite

모두 마쳤으면 아파치 서버를 재시작합니다.

$ sudo service apache2 restart

4. 웹브라우저에서 설치 마무리

자신의 도메인 주소에 접속하면 다음과 같은 화면이 뜹니다.

  • 관리자 계정 만들기 – 관리자 계정을 만드는 부분입니다. 관리자의 ID와 비밀번호를 입력합니다.
  • 데이터 폴더 – nextcloud가 설치된 디렉터리의 하위 디렉터리가 기본 설정이지만 다른 곳을 정할 수도 있습니다.
    예를 들면 /home/사용자 이름/data로 변경 가능합니다. 이때 해당 폴더가 생성되어 있어야 하고 권한과 소유자 소유 그룹이 제대로 지정되어 있어야 제대로 동작합니다.
    지금은 기본 상태로 진행합니다. 나중에 데이터 폴더 변경도 다룰 것입니다.
  • 데이터베이스 사용자와 암호 – root 계정 정보를 입력하면 됩니다.
  • 데이터베이스 이름 – nextcloud라는 데이터베이스를 만들었으므로 nextcloud를 입력합니다.
    다른 이름으로 했다면 그 이름을 입력합니다. 생각이 안 나면 phpmyadmin에 접속하여 데이터베이스 목록을 확인합니다.
  • localhost – 변경하지 않습니다.

다 입력했다면 [설치 완료] 버튼을 눌러줍니다. 생각보다 시간이 오래 걸릴 수 있습니다. 느긋하게 기다려 봅니다.

설치가 완료되면 다음과 같은 화면이 나타납니다.

Nextcloud 설치 끝.

자작NAS – Nextcloud 설치”에 대한 31개의 의견

  1. 안녕하세요.
    최근 포스트를 보지못하고 네이버 포스트를 따라하느라 작년 여름에 하신 owncloud를 설치했네요ㅜㅜ
    Owncloud가 깔려있는 /var/www/html 폴더와 phpmyadmin에 owncloud db를 지워버리고 이번 포스트부터 따라가도 되나요??

    1. 그리고 네이버에도 질문드렸는데,
      Ssd에 우분투를 설치하고 실제 데이터는 sdb을 사용할 예정인데,
      이럴경우 nextcloud 등등 모든 프로그램들은 sda에 설치하고 새hdd를 마운트 한 후에 그 폴더를 nextcloud에서 불러오면 되나요??

      오늘 owncloud로 시도했는데 permission 문제가 생겨서요ㅜㅜ구글링 했는데 결국 해결하지 못했습니다..
      새 hdd 마운트해서 연결하는 방법도 같이(글만으로라도) 알려주실 수 있나요ㅜㅜ

      올려주신 글들 정말 감사히 잘 읽고 있습니다.

      1. 1. owncloud 설치된 폴더와 db를 삭제하신 후 다시 설치하시면 됩니다.

        2. sda에 nextcloud 설치하시고, sdb에 nextcloud의 data 폴더를 지정해서 사용할 수 있습니다.

        naver는 잘 안들어가서 몰랐네요 죄송합니다~!

        1. 잘 됐습니다!! 정말 감사합니다!!
          추후 hdd를 추가할 경우에는 nextcloud에서 external storage로 세팅하는 방법 밖에는 없나요??

          1. 아뇨 특별한 이유가 없다면 그렇게 할필요 없이 data 폴더만 HDD로 잡아주심 됩니다
            그럼 nextcloud 동작은 SSD에서 되고 data 저장은 HDD에 됩니다

          2. 그러면 기존에 있는 sdb1도 data로 잡고
            sdc1을 추가하게 돼도 data로 마운트하는건가요??
            같은 폴더에 두 개의 hdd마운트가 가능한가요??

            처음으로 클라우드 열어서 잘 사용하고 있습니다! 포스팅 너무 감사합니다ㅜㅜ하나씩 따라하니 정말 재밌네요

          3. data 폴더를 변경하는 법은 추가로 포스팅 하도록 하겠습니다.
            그와 별도로 HDD를 추가하고 마운트 하는 법은 검색하셔서 따로 해두셔야합니다.
            저같은 경우 “/” 즉 root는 sda1이고 “/home”은 sdb1로 잡아놨습니다.
            nextcloud는 home 폴더 밑 제 계정 이름 아래 “/home/username/apps/nextcloud”에 설치했고 nextcloud data 폴더는 “/home/username/nextcloud_data” 로 지정했습니다.

          4. 답변 감사합니다!! 너무 잘 보고있습니다!

  2. 안녕하세요 🙂 외부ip로 접속 까지 설정을 완료해 잘 사용하고 있습니다.
    그런데 오랜만에 집에와서 접속을 해보니 내부ip로의 접속이
    404 Not Found로 나오면서 접속되지 않습니다.

    같은 wifi내에서 nextcloud 접속이 안 되는것 같은데,
    terminal 접속, http://111.111.111.111(ip)/phpmyadmin
    은 접속이 됩니다.

    인터넷을 뒤져도 해결방법을 모르겠네요ㅜㅜㅜㅜ이렇게 또 질문드리게 됐습니다

    1. 헉 혹시 apache2서버에 내부ip도메인 등록이 안 돼서 그런건가요

      1. 해결했습니다!
        ServerName에 도메인주소를 넣고
        ServerAlias에 내부ip주소를 넣었습니다.

        이렇게 해도 되는거겠죠!
        감사합니다!

    2. nextcloud만 접속이 안될 듯 싶네요
      외부에서 주소 입력해서 접속은 되지만요 (그냥 외부 아이피주소 입력해서 접슥하시나요?)
      허용 도메인에 내부 아이피를 등록 시키면 해결 될 것 같습니다.
      nextcloud 설치 디렉터리/config/config.php
      보시면 trusted_domains 있을 건데요 거기에 내부 아이피 주소도 추가해 주시면 됩니다.

    3. 해결 되셨나요?ㅎ
      제가 생각한 원인이랑은 좀 다르지만 해결되셨으면 다행이군요

      trusted domain 추가하는 방법만 덧붙일게요

      ‘trusted_domains’ =>
      array (
      0 => ‘xiancloud.tk’,
      1 => ‘192.168.0.123’,
      ),

      이런 식으로 추가하시면 됩니다.

  3. 열심히 보고 실습해보는 늦깍이 입니다.
    도메인을 만든후, 외부에서 접속하기전에 다른컴에서 접속해보고 싶은데 주소를 어떻게 넣으면 되나요?

    nextcloud 설치 IP : 192.168.0.10

    예) http://192.168.0.10/nextcloud or http://192.168.0.10:90 이렇게 해서 nextcloud 초기화면이
    보이게 할수는 없나요?

    1. 아파치 기본 디렉토리에 설치하셨다면 ip 주소만 입력하면 뜰거에요. 기본 하위 디렉토리에 설치했다면 디렉토리까지 입력하시고요

      1. 계속 시도하는데 안되서 도메인 등록하고 했습니다. 감사합니다.

  4. server name에 ddns 이름을 넣어주는 건가요?

    1. 네 그렇게 했습니다~

  5. 하나하나 따라하면서 나스 구축 중에 있습니다.
    외부망에서는 도메인으로 nextcloud 화면에 접속이 되어지는데,
    내부망에서는 도메인으로 아예 접속이 되지 않고(도메인 아이피로도 안됩니다) , 내부아이피로는 apache2 화면이 나옵니다.
    도와주세요~~

    1. 감사합니다.

    2. nextcloud 설치 경로/config/config.php 열어 보시면, trusted_domains 항목이 있습니다. 거기에 등록이 되지 않으면 접속을 막아서 그럴 겁니다. 해당 내부 아이피를 등록해 보세요.

  6. 좋은 글 보면서 열심히 따라하고 있는 중입니다.
    여러가지 문의사항이 있어서 질문 올리게 되었습니다.
    일단 외부망에서는 도메인으로 nextcloud접속이 잘 됩니다.
    하지만 외부망에서 외부ip로 접속하거나 내부망에서 내부ip로 접속하면 Apache2 Ubuntu Default Page가 나옵니다.
    또한 내부에서 localhost나 127.0.0.1로 접속 시 연결 거부가 뜹니다..
    서치도 해 보고 위에 저랑 비슷한 분듯이 남겨주신 댓글에 남기신 답들도 따라해 보았는데 해결되지 않습니다ㅠㅠ 어떻게 해야 되는 건가요?

    1. 정확한 이유는 모르겠습니다만 defualt-000.conf를 해제해보시면 어떨까요
      sudo a2dissite default-000.conf
      하시면 됩니다..

  7. 안녕하세요? nextclodu data 디렉토리를 따로 설정해 두고 사용 중입니다. 재밌는 건 이 디렉토리 chmod를 변경해도 자동으로 770으로 바뀌더군요. 문제는 plex media 서버를 설치하고 nextcloud data 폴더를 플렉스 미디어 서버의 라이브러리로 설정해 놓으니 chmod 가 자꾸 변경되어 사진이나 동영상 오류가 납니다. 억지로 넥스트클라우드 데이터 디렉토리를 775로 설정하면 되다가도 자동으로 770으로 바뀌니 돌아서면 사진이나 동영상을 볼 수가 없습니다. 넥스트클라우드 데이터 디렉토리 파일 권한을 775로 고정시켜 둘 방법이 없을까요? 감사합니다.

    1. 플렉스 미디어 서버 디렉터리를 넥스트클라우드 데이터 디렉터리로 지정하는건 별로 좋은 생각이 아닙니다..
      사진과 영상 파일들을 분리시키시고 넥스트클라우드에서 외부저장소 기능을 이용하여 삼바나 FTP 같은 것으로 연결시켜주는 것이 좋을 것 같습니다~
      답변이 많이 늦었네요.

  8. 덕분에 한번만에 설치했습니다 감사합니다

  9. 안녕하세요 1년 반 전쯤에 블로그 보고 nextcloud 잘 설치해서 쓰고 있습니다. 감사합니다.
    탐색기에서 폴더처럼 나오게 해주는 데스크탑/mac용 nextcloud를 사용하고 있는데, 파일 이름이 너무 길거나 폴더 이름이 너무 길어지게 되면 업로드/동기화가 되지 않는 것을 발견했는데, 혹시 이런 제한을 풀 수 있는 옵션이 있나요? 아니면 어쩔 수 없는건가요??

  10. 시놀로지에 nextcloud 설치방법 검색하다 왔는데 정말 인터넷에는 좋은 전문가 분들이 많네요. 좋은 글 잘 보고 갑니다. 나중에 도전하다 궁금점 있으면 또 들르겠습니다. 행복한 명절 되세요. ^^

  11. ubuntu 16.04.6 LTS에서 apache2 사용중인데
    그 자작NAS I 에서 아파치 홈 디렉토리 옮긴데에 nextcloud 폴더 만들어서 VirtualHost 설정 등등 문제될게 없는데 403에러가 나는데 어떻게 하면 되나요

    1. apache2.conf에서 오타가 있었네요 죄송합니다

  12. 안녕하세요. 데이터 폴더변경은 언제쯤 올리실지 여쭤봐도 될까요? 제 PC3대를 삼바로 파일 공유한 뒤 /var/www/html/www/nextcloud/data/에서 동기화시키려고 하는데 현재로써는 안 되네요ㅠㅠ

댓글 남기기

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.