[Linux] Nextcloud - 1

haryun·2023년 1월 9일
0

Linux

목록 보기
9/16
post-thumbnail

한동안 졸업준비와 자격증 시험 공부를 하느라 포스팅이 많이 밀렸다ㅜㅜ,,
밀린 내용은 부지런히 올려야지,,😞

Nextcloud로 파일 공유 서버 구축하기

1. VM 준비

지난 미디어 위키 서버는 centOS에서 진행하였으니 이번엔 ubuntu 22.04 live-server 이미지를 준비했다! 매번 그렇지만 새 VM을 생성하는 과정이 제일 재밌다 히히..

2. Nextcloud란 무엇인가?

Nextcloud는 다양한 종류의 문서를 저장, 편집, 활용할 수 있는 스토리지 기능은 물론 음성 및 화상 통화 호스팅과 같은 서비스를 제공하는 오픈 소스 소프트웨어다. nextcloud

드롭박스나 구글 드라이브를 떠올리면 될 것 같다. 프로젝트에 활용하는 경우 민감한 데이터를 내부에 저장하여 보호하거나, 개발시 넥스트클라우드 서버를 프론트단에 배치하여 클라이언트가 미디어에 접근하는 방식을 제어할 수 있다고 한다!

(ubuntu에서 설치할 경우 snap 패키지 관리자를 통해 nextcloud 서버를 바로 설치하고 작동시킬 수 있다.)

3. LAMP 서버 구축

# apt install lamp-server^

이번엔 lamp 패키지로 한번에 뚝딱 설치할 것이다.
설치시 unable to locate package <...> 라는 에러메세지가 나오면

  • apt update 명령 실행
  • sources.list에 레포지토리 추가 등의 방법으로 해결할 수 있다!
    참고링크


LAMP 설치 후 mySQL 보안도구를 설치하여 패스워드 설정을 하는데 계속 오류가 발생했다. 찾아보니 root 권한으로 패스워드를 설정하지 않아서 오류가 발생하는 것이라는데 초기 설정과정에서 왜 이런 에러가 나는건지 모르겟다;; 아무튼 여기를 보고 해결했다..

📌 리눅스에서 패키지의 개념

패키지란 리눅스 시스템에서 소프트웨어를 설치하는데 필요한 파일의 묶음이다. 그리고 이러한 패키지를 설치할 때 사용하는 것이 패키지 관리 도구이다. (apt나 yum 같은..) 리눅스를 사용하다보면 저수준 패키지 관리도구고수준 패키지 관리도구로 나누어지는 것을 알 수 있는데, 간단히 말해 소프트웨어 설치시의 의존성 문제를 해결한 것이 고수준 패키지 관리 도구이다. 고수준 패키지 관리 도구는 설치하려는 패키지의 의존성을 파악하고 필요한 경우 선행 패키지를 설치해준다. 패키지 참고링크

📌 메타 패키지

메타 패키지는 여러 프로그램을 동시에 설치할 수 있도록 패키지를 그룹화한 묶음이다. 여기에 직접 메타 패키지를 만드는 방법이 나와있다.

4. Apache 설정

# a2enmod rewrite
# a2enmod headers

아파치 서버와 넥스트클라우드를 연동하기 위해 rewriteheaders 모듈을 활성화한다.

  • rewite 모듈은 호출된 URL을 특정 규칙에 의해 변경한 뒤 호출하는 기능
  • headers 모듈은 HTTP 요청 헤더와 응답 헤더를 조절하고 수정하는 기능

그리고 보안을 위해 /var/www/nextcloud 디렉토리에 데이터 파일을 보관하도록 지정한다.
/etc/apache2/sites-available/000-default.conf 파일에 설정 항목을 추가하면 된다! (들어오는 트래픽을 도큐먼트 루트 디렉토리가 아닌 별도의 nextcloud 어플리케이션으로 전달)

5. Nextcloud 다운로드

Nextcloud에서 파일을 다운받아 /var/www/nextcloud 디렉토리에 저장하고 설정파일을 추가한다.

  • /etc/apache2/sites-available/nextcloud.conf 파일 추가
  • /etc/apache2/sites-available/000-default.conf에 내용 추가
# chown -R www-data:www-data /var/www/nextcloud

그리고 보안을 위해 nextcloud 디렉토리의 소유자와 소유그룹을 www-data로 변경한다.

📌 www-data

보안을 위해 웹 서버에서 지정하는 특정 사용자의 권한. 참고링크

6. Nextcloud 시작


접속하자마자 친절한 에러 화면을 보여준다 ㅎㅎ.. 모두 설치한 뒤에 재실행하면 관리자 계정을 생성하는 화면이 나온다. 아까 설정했던 MariaDB의 사용자명과 패스워드를 입력하면 완료~

0개의 댓글