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

1. Nextcloud 설치할 위치 선택

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

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

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

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

1) Nextcloud Server 다운로드

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

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

2) 압축 해제

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

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

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

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

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

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

소유자와 소유 그룹이 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를 위한 설정 파일을 만들어 줍니다.

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

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

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

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

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

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

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

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

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

Nextcloud 설치 끝.

Share.

About Author

대학교에서는 컴퓨터공학을 전공하고, 대학원에서는 신학을 전공하였습니다. 제 블로그에서는 제 전공과 관련한 것들을 포스팅합니다.

댓글 21 개

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

댓글 남기기