[oss] Nextcloud 설치

joyful·2022년 7월 7일
0

oss

목록 보기
13/14
post-custom-banner

1. 기능

  • 클라우드 스토리지 프로그램
  • 유사한 프로그램
    • 구글드라이브
    • 드롭박스

2. 필요 환경

  • mariadb
  • Apache

3. 설치

3.1 Apache 서버 설치

$ sudo apt update
$ sudo apt install apache2

$ sudo systemctl start apache2.service
$ sudo systemctl enable apache2.service
  • 설치 확인 :: 80번 포트 수정 방안 필요

    ## curl or IP:80 브라우저 접속
    $ curl localhost:80
  • 포트 번호 변경

    ## Listen 80이라고 설정된 포트를 원하는 포트로 변경
    $ sudo vi /etc/apache2/ports.conf
    
    $ sudo systemctl restart apache2.service

3.2 mariadb 설치

$ sudo apt-get install mariadb-server mariadb-client

$ sudo systemctl start mariadb.service
$ sudo systemctl enable mariadb.service
  • mysql 접속 방법
    $ sudo mysql -u root -p

3.3 PHP 관련 모듈 설치

3.4 NextCloud DB 세팅

  • 설치한 mysql에 접속

    $ sudo mysql -u root -p
  • nextcloud에 사용될 DB구성 설정

    CREATE DATABASE DB명;
    CREATE USER '유저명'@'localhost' IDENTIFIED BY '비밀번호';
    
    ## 계정에 권한 설정
    GRANT ALL ON DB명.* TO '유저명'@'localhost' IDENTIFIED BY '비밀번호' WITH GRANT OPTION;
    FLUSH PRIVILEGES;

3.5 최신 nextcloud 다운로드

  • composer 다운로드
    • PHP 소프트웨어와 필요 라이브러리의 의존성을 관리하기 위한 표준 포맷을 제공하는 PHP 프로그래밍 언어의 패키지 관리자
    $ curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
  • nextcloud 다운로드
    $ cd /var/www/html
    $ sudo git clone --branch stable21 https://github.com/nextcloud/server.git nextcloud
    $ cd /var/www/html/nextcloud
    $ sudo composer install
    $ sudo git submodule update --init
  • 권한 관련 오류를 방지하기 위해 폴더의 권한 수정
    $ sudo chown -R www-data:www-data /var/www/html/nextcloud/
    $ sudo chmod -R 755 /var/www/html/nextcloud/

3.6 Apache 설정

  • /etc/apache2/sites-available

    • 서버에서 운영할 사이트의 설정파일을 저장하는 폴더
    $ sudo vi /etc/apache2/sites-available/nextcloud.conf
    <VirtualHost *:80> ## 3.1에서 변경한 port로 수정 필요
         ServerAdmin 이메일주소 ## 수정 필요
         DocumentRoot /var/www/html/nextcloud/
         ServerName 서버 아이피 또는 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>
  • 모듈 활성화

    • a2ensite *.conf 로 설정된 값을 Apache2가 인식할 수 있도록 sites-enable 디렉토리에 심링크 추가
    $ sudo a2ensite nextcloud.conf
    $ sudo a2enmod rewrite
    $ sudo a2enmod headers
    $ sudo a2enmod env
    $ sudo a2enmod dir
    $ sudo a2enmod mime
    
    $ sudo systemctl restart apache2.service
profile
기쁘게 코딩하고 싶은 백엔드 개발자
post-custom-banner

0개의 댓글