NextCloud
NextCloud는 구글 드라이브나 Mega와 같은 프로그램으로
웹이나 애플리케이션을 통해서 파일을 사용하고, 공유하고, 업로드 하고
휴대시기기에서 촬영한 사진을 자동으로 백업하는 등 많은 기능을 사용할 수 있습니다.
위의 데모 사이트에서 전체적인 기능을 미리 사용해 볼 수 있습니다.
서브도메인 만들기
NextCloud를 접속하기 위한 서브도메인을 만들어 줍니다.
cloud.example.com을 만들었다는 것으로 가정하여 강좌를 이어갈 것입니다.
도메인과 서브도메인에 대한 내용은 5강. DNS와 도메인을 참고해 보세요.
TLS 인증서
https의 보안연결을 위해서는 TLS인증서를 발급 받아야 합니다.
앞선 강좌부터 차례로 했다면 TLS 인증서는 발급되어 있을 것입니다.
TLS 인증서 발급과 관해서는 6강. TLS 인증서을 참고해 보세요.
이 방법으로 인증서를 발급 받으면 와일드카드 서브도메인 인증서가 발급됩니다.
그래서 발급받은 이 인증서를 가지고 여러 서브도메인에 사용가능합니다.
Nginx와 php 설치 및 설정
NextCloud를 운영할 웹 서버 프로그램으로는 Nginx로 할 것입니다.
Nginx의 설치와 관련된 내용은 7강. Nginx 설치를 참고해 보세요.
NextCloud는 php를 통하여 작동하게 되어 있습니다.
그래서 php를 설치해 주어야 합니다.
$ sudo apt update
$ sudo apt install php-fpm
기본적으로 php를 설치하게 되면 Apache 웹 서버가 설치됩니다.
하지만 우리는 Nginx를 사용하기 위해서 php-fpm을 설치해 주어야 합니다.
이것을 설치해 주어야 php설치시 Apache웹 서버가 설치되지 않습니다.
$ sudo apt install php php-apcu php-bz2 php-curl php-gd php-gmp php-imagick php-imap php-intl php-json php-ldap php-mbstring php-mysql php-smbclient php-xml php-zip
위 명령줄을 통하여 php를 설치해 줍니다.
라즈베리파이에서는 php 7.0버전이 기본으로 설치됩니다.
설치가 완료되었다면 php를 설정해 줍니다.
sudo nano /etc/php/7.0/fpm/php.ini
위 설정파일을 편집기를 통하여 열었다면
Ctrl+W 를 통하여 아래 내용을 찾기를 한 뒤 값을 적절히 조정해 줍니다.
memory_limit = 1024M
post_max_size = 131200M
upload_max_filesize = 128G
max_file_uploads = 100
max_execution_time = 14400
max_input_time = 14400
date.timezone = Asia/Seoul
mbstring.language = UTF-8
mbstring.internal_encoding = UTF-8
mbstring.http_input = UTF-8
mbstring.http_output = UTF-8
opcache.enable=1
opcache.enable_cli=1
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.revalidate_freq=1
opcache.save_comments=1
memory_limit는 php가 사용할 최대 메모리 용량으로 에러가 난다면 나중에 올려주면 됩니다.
기본값은 128M로 되어 있습니다.
(라즈베리파이파이 3 B+에는 1024M의 메모리를 가지고 있습니다.)
post_max_size는 php를 통해서 만들어지는 게시글의 최대 용량입니다.
이는 게시글에 있는 첨부파일까지 용량에 포함되기 때문에
upload_max_filesize 부분보다 큰 값을 주어야합니다.
upload_max_filesize는 php를 통해서 업로드 되는 파일의 최대 용량을 의미합니다.
클라우드 스토리지를 통하여 대용량 파일을 넣기 위해 용량을 넉넉히 잡아줍니다.
max_file_uploads는 한번에 업로드 할 수 있는 파일의 개수입니다.
max_execution_time은 php스크립트가 실행되는 최대 시간을 의미하는데,
대용량 파일을 업로드할 때 걸리는 시간을 고려하여 넉넉하게 납아줍니다.
max_input_time은 스크립트가 입력을 기다리는 시간으로 이 시간이 지나면
스크립트는 자동으로 종료됩니다.
그 뒤 아래 설정들은 주석 ';'이 있다면 제거하고 위와 같이 설정해 주면 됩니다.
저장하고 편집기에서 나와 줍니다.
이제 www.conf 파일을 수정해 줍니다.
편집기로 열어서 아래 env 항목의 앞에 있는 주석 ';'를 지워줍니다.
env[HOSTNAME] = $HOSTNAME
env[PATH] = /usr/local/bin:/usr/bin:/bin
env[TMP] = /tmp
env[TMPDIR] = /tmp
env[TEMP] = /tmp
편집이 끝났다면 저장하고 나온 뒤 php-fpm을 재시작해 줍니다.
$ sudo systemctl restart php7.0-fpm
다음 강좌에서는 DB 설치와 Nextcloud 다운, 설정을 하겠습니다.
'Develop > Server' 카테고리의 다른 글
[Raspberry Pi] 10. Raspberry Pi 3 B+ 나스 만들기 - 프린트서버 만들기 (CUPS) (0) | 2019.01.31 |
---|---|
[Raspberry Pi] 9. Raspberry Pi 3 B+ 나스 만들기 - NextCloud 설치(2) (1) | 2019.01.30 |
[Raspberry Pi] 7. Raspberry Pi 3 B+ 나스 만들기 - Nginx 설치 (0) | 2019.01.24 |
[Raspberry Pi] 6. Raspberry Pi 3 B+ 나스 만들기 - TLS 인증서 (1) | 2019.01.23 |
[Raspberry Pi] 5. Raspberry Pi 3 B+ 나스 만들기 - DNS와 도메인 (0) | 2019.01.22 |