DB 설치 및 설정
NextCloud를 사용하기 위해서는 DB를 만들어 주어야 합니다.
그 DB프로그램으로 MariaDB를 골랐고, MariaDB를 설치해 줍니다.
$ sudo apt update
$ sudo apt install mariadb-server
MariaDB를 처음 설치했기 때문에 기본적인 보안 설정을 해줍니다.
$ sudo mysql_secure_installatioin
위 명령줄을 실행하면 몇가지 질문을 통하여 보안설정을 합니다.
Enter current password for root:
MariaDB를 처음 설치했기 때문에 그냥 엔터를 통해 넘어가 줍니다.
Ser root password?
Y를 입력하여 루트 비밀번호를 설정합니다.
New password:
사용할 비밀번호를 입력합니다.
Re-enter new password:
위에서 입력한 비밀번호를 한번 더 입력해 줍니다
.
Remove anonymous users?
Y를 입력해 줍니다.
Disallow root login remotely?
Y를 입력해 줍니다.
Remove test database and access to it?
Y를 입력해 줍니다.
Reload privilege tables now?
Y를 입력해 줍니다.
보안설정이 끝났다면 MariaDB의 설정파일을 수정해 주어야합니다.
편집하는 위치가 중요하기 때문에 위 아래의 문구를 보고 옳바른 위치에 입력해 주세요
#
# These groups are read by MariaDB server.
# Use it for options that only the server (but not clients) should see
#
# See the examples of server my.cnf files in /usr/share/mysql/
#
# this is read by the standalone daemon and embedded servers
[server]
# this is only for the mysqld standalone daemon
[mysqld]
transaction-isolation = READ-COMMITTED
#
# * Basic Settings
#
#
# * Logging and Replication
#
# Both location gets rotated by the cronjob.
# Be aware that this log type is a performance killer.
# As of 5.1 you can enable the log at runtime!
#general_log_file = /var/log/mysql/mysql.log
#general_log = 1
#
# Error log - should be very few entries.
#
log_error = /var/log/mysql/error.log
log-bin = /var/log/mysql/mariadb-bin
log-bin-index = /var/log/mysql/mariadb-bin.index
binlog_format = MIXED
#
# Enable the slow query log to see queries with especially long duration
#
# * InnoDB
#
# InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/.
# Read the manual for more InnoDB related options. There are many!
innodb_large_prefix = true
innodb_file_format = barracuda
innodb_file_per_table = 1
#
# * Security Features
#
빨간색으로 하이라이트 된 부분을 추가하변 됩니다.
추가를 완료 했다면 저장후 나와 줍니다.
그 후 설정을 적용하기 위해 MariaDB를 재시작해 줍니다.
$ sudo systemctl restart mariadb
NextCloud가 사용할 DB 생성
$ sudo mysql -u root -p
위 명령줄을 입력하여 MariaDB의 루트 비밀번호를 입력하여 MariaDB에 접속합니다.
CREATE DATABASE nextcloud DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
데이터 베이스를 생성해 줍니다. 데이터 베이스의 이름은 원하는 이름으로 설정합니다.
CREATE USER '사용자명'@'localhost' IDENTIFIED BY '비밀번호';
사용자 명과 비밀번호를 원해는 것으로 설정해 줍니다.
GRANT ALL PRIVILEGES ON nextcloud.* TO '사용자명'@'localhost';
만들어진 사용자가 nextcloud를 편집할 수 있는 모든 권한을 부여해 줍니다.
FLUSH PRIVILEGES;
설정 파일을 반영해 줍니다.
exit;
MariaDB를 나와 줍니다.
NextCloud 다운로드 및 저장경로 설정
이제 NextCloud를 다운받고 설정해 줍니다.
작업의 편리를 위해 /tmp 디렉토리로 이동해 줍니다.
$ cd /tmp
최신 버전의 NextCloud를 다운받아줍니다.
$ wget https://download.nextcloud.com/server/releases/latest.tar.bz2
다운받은 파일의 압축을 풀어줍니다.
$ tar -xjvf latest.tar.bz2
압축을 해제하여 만들어진 nextcloud폴더를 /var/www/경로에 복사해서
NextCloud의 웹사이트 디렉토리를 만들어 줍니다.
$ sudo cp -r nextcloud /var/www/
만들어진 웹사이트 디렉토리와 그 하위 디렉토리의 소유자와 소유그룹이
www-data가 되도록 해줍니다.
$ sudo chown -R www-data:www-data /var/www/nextcloud
이제 NextCloud를 통하여 업로드된 파일이 저장될 경로를 설정해 줍니다.
'3. 하드디스크 연결' 부분에서 우리는 media2에 외장하드를 연결했기 때문에
/media2/NextCloud에 저장을 해 줄것입니다.
$ sudo mkdir -p /media2/NextCloud
이 디렉토리와 하위 디렉토리의 소유자와 소유그룹을 www-data로 설정해 줍니다.
$ sudo chown -R www-data:www-data /media2/NextCloud
이제 /tmp에서 작업한 파일들을 지워줍니다.
$ sudo rm /tmp/latest.tar.bz2
$ sudo rm -rf /tmp/nextcloud
Nginx 설정
sudo nano /etc/nginx/sites-available/cloud.example.com
nginx의 서버 블록파일을 만들어 줍니다.
아래 첨부된 파일에 내용을 적절히 수정한 뒤 서버 블록파일에 붙여 넣어줍니다.
한글로 적혀있는 부분을 수정해 주면 됩니다.
입력이 완료되었다면 편집기를 저장한 후 나온다음
서버 블록파일을 /etc/nginx/sites-enabled/경로에 심볼릭 링크를 만들어 줍니다.
$ sudo ln -s /etc/nginx/sites-available/cloud.example.com /etc/nginx/sites-enabled/
재시작을 하여 서버블록을 적용시켜줍니다.
$ sudo systemctl restart nginx
NextCloud 설치
설정한 도메인으로 연결하면 아래와 같은 설정화면이 나옵니다.
Username
NextCloud의 관리자 ID를 결정해서 입력합니다.
Password
NextCloud의 관리자의 비밀번호를 결정해서 입력합니다.
Data folder
파일이 저장될 경로를 설정해 줍니다.
우리는 /media2/NextCloud로 하기로 했기에
/media2/NextCloud를 입력해 줍니다.
Database user
앞서 만들어 놓은 데이터베이스의 사용자 이름을 입력합니다.
Database password
앞서 생성나 데이터베이스의 사용자 비밀번호를 입력합니다.
Database name
앞서 생성한 데이터베이싀 이름을 입력합니다.
localhost
그대로 localhost로 남겨둡니다.
입력해야할 내용을 정확하게 입력하였다면 Finish setup을 눌러
설정을 완료한뒤 위에서 설정한 관리자 ID로 로그인해 주면 됩니다.
그럼 NextCloud 설치가 완료되었습니다.
이제 이곳에 파일을 업로드하여 사용하면 됩니다.
'Develop > Server' 카테고리의 다른 글
[Raspberry Pi] 11. Raspberry Pi 3 B+ 나스 만들기 - CUPS 외부연결 가능하게 하기 (2) | 2019.02.08 |
---|---|
[Raspberry Pi] 10. Raspberry Pi 3 B+ 나스 만들기 - 프린트서버 만들기 (CUPS) (0) | 2019.01.31 |
[Raspberry Pi] 8. Raspberry Pi 3 B+ 나스 만들기 - NextCloud 설치(1) (0) | 2019.01.25 |
[Raspberry Pi] 7. Raspberry Pi 3 B+ 나스 만들기 - Nginx 설치 (0) | 2019.01.24 |
[Raspberry Pi] 6. Raspberry Pi 3 B+ 나스 만들기 - TLS 인증서 (1) | 2019.01.23 |