NAS_NextCloud(1)_NextCloud 구축
프로젝트/NAS_NextCloud

NAS_NextCloud(1)_NextCloud 구축

 

 

NAS_NextCloud(0)_라즈비안 설치

프로젝트 진행 스펙은 아래와 같습니다. PC : Raspberry Pi 4 Model B (4GB) / 포스트에서는 vm ware pro 사용 OS : Raspberry Pi OS Lite 5.10 SD Card : 32GB HDD : WD 4TB ※ nextcloud는 굳이 라즈비안을 사..

rebugui.tistory.com

 

NextCloud 구축

프로젝트 진행 스펙은 아래와 같습니다.

PC : Raspberry Pi 4 Model B (4GB) / 포스트에서는 vm ware pro 사용

OS : Raspberry Pi OS Lite 5.10

SD Card : 32GB

HDD : WD 4TB

※ nextcloud는 굳이 라즈비안을 사용하지 않아도 편하신 대로 ubuntu, centOS를 사용하셔도 됩니다. 

 

1. 기본 설정

sudo apt update
sudo apt upgrade
sudo apt install openssh-server

라즈베리파이에서 직접 작업하기 불편해서 openssh-server 사용.

 

2. Apache 서버설치

sudo apt install apache2

2-1. Apache를 설치한 후, 서버 재시작시 Apache를 자동으로 실행

sudo systemctl stop apache2.service
sudo systemctl start apache2.service
sudo systemctl enable apache2.service

2-2. 방화벽 설정 및 테스트

sudo apt install ufw
sudo ufw allow 80

자신의 ip로 80번 포트 접속시 아래와 같은 페이지가 뜨면 Apache설치 완료

 

 

3. MariaDB 설치하기

sudo apt-get install mariadb-server mariadb-client

3-1. MariaDB 설치 이후, 서버 재시작시 MariaDB를 자동으로 실행

sudo systemctl stop mariadb.service
sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service

3-2. Mysql 기본 보안 명령어 실행

sudo mysql_secure_installation

3-3. 정상 설치 테스트

sudo mysql -u root -p 해당 명령어를 입력 후 아래와 같은 화면이 뜨면 설치 완료

 

4. PHP 7.2와 모듈들 설치하기

※nextcloud 공식 문서에는 PHP 7.3과 PHP 7.4를 권장하고 있으며 각종 커뮤니티를 확인해본 결과 PHP 8.0을 사용하여 nextcloud 구동이 가능하나 호환성이 좋지 않아 오류가 있다고 한다.

4-1. PHP 구버전 설치를 위한 명령어

sudo apt-get install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt update

4-2. PHP 7.2 설치

sudo apt install php7.2 libapache2-mod-php7.2 php7.2-common php7.2-gmp php7.2-curl php7.2-intl php7.2-mbstring php7.2-xmlrpc php7.2-mysql php7.2-gd php7.2-xml php7.2-cli php7.2-zip

4-3. Apache 재시작

sudo service apache2 restart

 

5. NextCloud DB만들기

5-1. Maria DB에 접속.

sudo mysql -u root -p

5-2. nextcloud CREATE DATABASE.

CREATE DATABASE nextcloud;

5-3. nextclouduser CREATE USER.

CREATE USER 'nextclouduser'@'localhost' IDENTIFIED BY '비밀번호';

5-4. nextcloud 유저에게 모든 권한을 준다.

GRANT ALL ON nextcloud.* TO 'nextclouduser'@'localhost' IDENTIFIED BY '비밀번호' WITH GRANT OPTION;

5-5. 저장 후 탈출

FLUSH PRIVILEGES;
EXIT;

 

6. nextcloud 다운로드 및 설치

6-1. 최신 git과 composer를 다운

sudo apt install curl git
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer

6-2. nextcloud 다운

cd /var/www/html
sudo git clone --branch stable13 https://github.com/nextcloud/server.git nextcloud
cd /var/www/html/nextcloud
sudo composer install
sudo git submodule update --init

6-3 nextcloud 폴더 권한 설정

sudo chown -R www-data:www-data /var/www/html/nextcloud/
sudo chmod -R 755 /var/www/html/nextcloud/

 

7. Apache 설정하기

NextCloud에 대한 Apahce2 config 파일을 구성해야한다. 

이 파일은 사용자가 NextCloud 컨텐츠에 액세스하는 방법을 제어한다. 

 

7-1. apache 폴더에 nextcloud.conf 파일을 만든다.

sudo nano /etc/apache2/sites-available/nextcloud.conf

7-2. nextcloud.conf 파일 안에 아래 내용 작성

<VirtualHost *:80>
     ServerAdmin 이메일주소
     DocumentRoot /var/www/html/nextcloud/
     ServerName 서버 아이피 또는 URL
     ServerAlias 서버 아이피 또는 URL
  
     Alias /nextcloud "/var/www/html/nextcloud/"
 
     <Directory /var/www/html/nextcloud/>
        Options +FollowSymlinks
        AllowOverride All
        Require all granted
          <IfModule mod_dav.c>
            Dav off
          </IfModule>
        SetEnv HOME /var/www/html/nextcloud
        SetEnv HTTP_HOME /var/www/html/nextcloud
     </Directory>
 
     ErrorLog ${APACHE_LOG_DIR}/error.log
     CustomLog ${APACHE_LOG_DIR}/access.log combined
 
</VirtualHost>

7-3 모듈 활성화 및 Apache 재시작

sudo a2ensite nextcloud.conf
sudo a2enmod rewrite
sudo a2enmod headers
sudo a2enmod env
sudo a2enmod dir
sudo a2enmod mime

sudo systemctl restart apache2.service

 

8. NextCloud 사용

서버아이피/nextcloud 접속하여 nextcloud 사용

 

 

 

 

-- 참고

 

nextcloud config 파일 경로는 아래와 같습니다.

sudo nano /var/www/html/nextcloud/config/config.php

nextcloud log파일은 config에 설정을 추가해야 로깅됩니다. 

참고 링크: Nextcloud Logfile

 

간단한 access.log는 아래 경로에서 확인

sudo nano /var/log/apache2/access.log 

 

 

 

 

 

더보기

※해당 포스팅은 개인 공부 목적으로 제작된 포스트이며 아래 링크들을 참고하여 제작하였습니다. 

Ubuntu에 NextCloud로 개인 클라우드 구축하기 (tistory.com)

 

'프로젝트 > NAS_NextCloud' 카테고리의 다른 글

NAS_NextCloud(2)_NextCloud data폴더 변경  (2) 2021.04.27
NAS_NextCloud(0)_라즈비안 설치  (0) 2021.04.25