딜미의 잡다한 IT 이야기...

Centos7에 NextCloud16 설치 하기 본문

Storage/구성자료

Centos7에 NextCloud16 설치 하기

딜미 2019. 8. 29. 15:04

1. DB설치(MariaDB)

혹시라도 설치되어 있을 기존 DB 삭제

sudo yum remove mariadb-server

 

DB 설치 파일을 다운 받기위한 저장소 지정(10.4버전으로 설치하기 위해)

cat <<EOF | sudo tee /etc/yum.repos.d/MariaDB.repo

[mariadb]

name = MariaDB

baseurl = http://yum.mariadb.org/10.4/centos7-amd64

gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB

gpgcheck=1

EOF

 

yum clean 진행

sudo yum makecache fast

 

MariaDB 설치

sudo yum -y install MariaDB-server MariaDB-client

 

설치된 DB정보 확인

rpm -qi MariaDB-server

 

DB 바로 등록

sudo systemctl enable --now mariadb

 

DB설정

# mysql_secure_installation

처음에 나오는 2개만 n으로 지정하고 나머지는 y로 설정

 

DB사용자 생성

# mysql -u root -p

CREATE USER 'nextcloud'@'localhost' IDENTIFIED BY "nextcloud유저에대한 패스워드"; (DataBase 유저생성)

CREATE DATABASE nextcloud; (DataBase이름)

GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextcloud'@'localhost'; (모든 권한 부여)

FLUSH PRIVILEGES;

QUIT

 

2. 웹서버 설정

 

PHP 7.3 버전으로 설치를 진행 한다

sudo yum -y install epel-release yum-utils

sudo yum -y install http://rpms.remirepo.net/enterprise/remi-release-7.rpm

 

기본적으로 설치되어 있는 PHP 5.4 버전을 disable 하고 신규로 설치되는 7.3버전을 enable 해준다.

sudo yum-config-manager --disable remi-php54

sudo yum-config-manager --enable remi-php73

 

웹서버 설치를 위한 RPM들을 설치 해준다.

sudo yum -y install httpd php php-cli php-mysqlnd php-zip php-devel php-gd php-mcrypt php-mbstring php-curl php-xml php-pear php-bcmath php-json php-pdo php-pecl-apcu php-pecl-apcu-devel

 

php -v 명령어로 설치된 버전 확인

 

기본 80port를 사용하나 외부와 통신을 위해 포트 변경이 필요한 경우 아래 내용이 변경되어야 함

 

vi /etc/httpd/conf/httpd.conf 수정

 

Listen 변경할 포트번호(기본은 80으로 되어 있슴)

 

3. Nextcloud 설치

 

설치파일을 다운 받고 압축을 풀기위한 rpm설치

sudo yum -y install wget unzip

 

wget명령어로 16버전 다운로드

cd /tmp

wget https://download.nextcloud.com/server/releases/latest-16.zip

 

설치 파일 압축 해제 후 삭제

unzip latest-16.zip

rm -f latest-16.zip

 

압축해제된 폴더 웹서비스 경로로 이동

sudo mv nextcloud/ /var/www/html/

 

데이터를 저장할 경로 생성

sudo mkdir /var/www/html/nextcloud/data

 

권한 주기 전 데이터가 저장될 곳을 /var/www/html/nextcloud/data로 마운트 작업이 필요

 

웹서비스를 위한 apache권한 지정

sudo chown apache:apache -R /var/www/html/nextcloud/data

sudo chown apache:apache -R /var/www/html/nextcloud

 

서비스를 위한 설정파일 생성

sudo vi /etc/httpd/conf.d/nextcloud.conf

 

<VirtualHost *:80>(기본은 80이나 Port변경시 변경된 Port번호 기입)

  ServerName files.example.com(서버 이름 지정)

  ServerAdmin admin@example.com(메일 주소 지정)

  DocumentRoot /var/www/html/nextcloud

  <directory /var/www/html/nextcloud>

    Require all granted

    AllowOverride All

    Options FollowSymLinks MultiViews

    SetEnv HOME /var/www/html/nextcloud

    SetEnv HTTP_HOME /var/www/html/nextcloud

  </directory>

</VirtualHost>

 

웹서비스 등록 및 실행

sudo systemctl enable --now httpd

 

방화벽 설정 진행(기본 80,443포트 사용시)

sudo firewall-cmd --add-service={http,https} --permanent

sudo firewall-cmd --reload

 

방화벽 설정 진행(서비스 port가 변경된 경우)

sudo firewall-cmd --permanent --zone=public --add-port=포트번호/tcp

sudo firewall-cmd --reload

 

4. 초기 구성

 

서비스ip:port 로 접속

 

관리자 계정정보 생성

 

                관리DB 계정 연동

DB생성시 만들었던 정보를 기입하면 됩니다.

 

5. 외부 연동시 config.php ip등록

 

해당경로에서 config.php 편집

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

 

<?php

$CONFIG = array (

  'instanceid' => 'oc2s8rfb3kav',

  'passwordsalt' => 'chEAhOrS2vGeu/BMiC0mabUiQRqUz/',

  'secret' => '+ITE9C5Dx9TEwrruu0iq6Z1Yo4bPkm9h3S5Tzu0NnqrZcu1T',

  'trusted_domains' =>

  array (

    0 => '로컬ip:포트번호',

    1 => '외부ip:포트번호', (외부에서 접속되는 ip를 기입해준다.)

  ),

  'datadirectory' => '/var/www/html/nextcloud/data',

  'dbtype' => 'mysql',

  'version' => '16.0.4.1',

  'overwrite.cli.url' => 'http://로컬ip:포트번호',

  'dbname' => 'nextcloud',

  'dbhost' => 'localhost',

  'dbport' => '',

  'dbtableprefix' => 'oc_',

  'mysql.utf8mb4' => true,

  'dbuser' => 'nextcloud',

  'dbpassword' => 'DB패스워드',

  'installed' => true,

);

 

 

 

'Storage > 구성자료' 카테고리의 다른 글

DELL PS EQL 패스워드 리셋 방법  (0) 2017.03.29
Comments