mapoo's blog에 owncloud를 올리는 과정을 설명한다.

기존 CentOS 7 + APM 기반으로 wordpress가 돌고 있는 나의 블로그 서버에 설치하였다.

아래 사이트는 wordpress 설치에 대한 글이다.

WordPress migration – CentOS 6 to CentOS 7

해당 포스트에도 기재했다시피 기존 PHP는 CentOS 7의 기본 PHP 5.4 버전을 사용하였다.

1. 패키지 설치

1.1 rpm 저장소 업데이트

rpm 저장소 업데이트

  • php 5.6 으로 업데이트 설치를 위함 (기존 php 버전이 5.4 임. owncloud 10.1.1-1.2는 php 5.6 이상을 요구함)

기타 rpm 저장소 업데이트

(1.1.1 php 5.6만 설치한다면 1.1.1 rpm 저장소만 업데이트해도 된다.)

1.2 web service 중단

1.3 php 패키지 업데이트

php-5.4 패키지 삭제

php-5.6 설치

1.4 owncloud 설치

yum repo 추가

owncloud install

위 1.4.1, 2 과정을 생략하고 아래와 사이트에서 직접 rpm 파일을 다운받아 설치해도 된다.

http://download.owncloud.org/download/repositories/production/CentOS_7/

2. 데이터 저장 폴더 설정

mapoo's blog는 Linux OS를 최소한의 사이즈를 유지하기도 하거니와 owncloud 저장소를 윈도우에서 바로 확인하고자,
owncloud를 통해 저장되는 data 디렉토리를 cifs 를 통해 연결된 윈도우 PC의 공유폴더로 지정하였다.

2.1 윈도우 공유 폴더 설정

디렉토리 생성

윈도우 PC에 아래와 같이 디렉토리를 생성
D:\6_FTP\mapoo7\OwnCloud

공유 설정

위 디렉토리를 - administrator 계정으로 읽기/쓰기/지우기 모든 권한 설정

2.2 linux에서 공유폴더 마운트

cifs 툴 설치

-> mount.cifs 바이너리를 설치하기 위함

마운트 포인트 디렉토리 생성

마운트

apachec 디렉토리의 UID, GID 확인

아래와 같이 마운트

-> apache UID:48 GID:48 적용

rc.local에 추가

-> mount에 대해서 fatab에 추가할 수 도 있다. 여기서는 rc.local 에 추가.


3. mariadb 설정

3.1 my.cnf 설정

# vim /etc/my.cnf
[mysqld]
.
.
# added 2019.04.21 - for owncloud
character-set-client-handshake=FALSE
init_connect="SET collation_connection = utf8_general_ci"
init_connect="SET NAMES utf8"
character-set-server = utf8
collation-server = utf8_general_ci

# added 2019.04.21 - for owncloud
[client]
default-character-set = utf8

[mysqldump]
default-character-set = utf8

[mysql]
default-character-set = utf8

3.2 mariadb 구동

# systemctl start mariadb

3.3 DB 및 계정 생성

db 접속

owncloud 관리자 계정 생성

-> 만약 localhost 외에선 DB 접근할 경우가 없다면 'owncloud'@'%' 는 만들지 않아도 된다.

DB 생성 및 권한 설정

-> 만약 owncloud 관리자 계정 생성 시 localhost관련 계정만 생성했다면 owncloud'@'% 에 대한 grant 설정은 하지 않아도 된다.

DB 및 User 확인

-> 만약 localhost 용만 owncloud 계정을 만들었다면 user 부분에서 owncloud가 한개만 보일 것임.

4 apache 설정 및 구동

4.1 호스트 설정

4.2 apache 구동

5. OwnCloud 접속

5.1 OwnCloud  설치 마무리

웹브라우저로 접근

http://mapoo.net/ftp

설치 마무리

  • 관리자 계정 : owncloud 브라우저 내에서 사용할 관리자 계정임
  • 데이터 폴더 : 데이터가 저장될 공간임. 기본은 owncloud 프로그램 디렉토리내의 data 디렉토리임.
    위에서 설정한 cifs로 연동한 /OwnCloud-Data 를 지정
  • 데이터베이서 설정 : 'MySQL/MariaDB' 선택 (SQLite 가 기본임)
  • 그 아래는 MariaDB 설정 시 적용하였던 db 계정/암호, db명을 입력한다. localhost는 그대로 둔다.
  • 위 화면에는 짤려서 안보이지만 스크롤해서 밑으로 내리면 '설치완료' 버튼이 보인다. 그것을 누르면 반영되고 설치가 마무리 됨.

접속

관리자 계정 / 비번 (map55-odmin / passwd) 입력

아래와 같이 유정의 기본 디렉토리가 확인된다.

업로드 가능 용량 증설하기

만약 대용량 파일 업로드 시 업로드 실패가 된다면 아래와 같이 수정.

php.ini 수정

위 값을 찾아 위와 같이 수정

.htaccess 파일 생성(또는 수정, 추가)

하지만 테스트 시 별도 수정 없이 10G 이상의 파일도 업로드 가능하였음.

확인해 보니 /tmp 디렉토리에 phpFN46Ws 형태의 임시 파일명으로 아래와 같은 동작을 순환하며 파일을 받아들인다.

'/tmp에 임시파일 생성, 데이터를 채움 -> /data(OwnCloud-Data) 디렉토리의 임시파일로 옮김 -> /tmp의 임시 파일 지움'

그리고 파일을 모두 받아들인 뒤 붙이기 작업을 하는 것으로 보인다. (진행바에 Processing files…  메시지가 보일 때)

따라서 owncloud data 디렉토리에 업로드 시 메모리가 증가하지 않는 구조로 동작을 한다.

/tmp/systemd-private-e4f59575eedc4f2f99198b62549b0a5d-httpd.service-jpdVnj/tmp/phpFN46Ws

하지만 /tmp와 /data가 다른 파티션에 있다거나, 특히 data 디렉토리가 나처럼 네트워크 저장 공간에 설정 하였다면 I/O 성능이 떨어질 것으로 예상된다.

6. 기타

6.1 백업

백업대상

1) config/ directory (/var/www/html/owncloud/config)
2) data/ directory (OwnClound-Data)
3) owncloud database (ownclouddb)

6.2 연결 실패

브라우저에서 연결이 되지 않고 '신뢰하지 않은 Domain 연결'이라고 메시가 출력될 땐 아래처럼 config.php 파일에 반영

6.3 삭제하기

owncloud 패키지 삭제

db 삭제

- 먼저 기존 DB를 백업

포맷 : mysqldump --single-transaction -h [server] -u [username] -p[password] [db_name] > /tmp/owncloud-dbbackup_date +"%Y%m%d".dump

- db 및 계정 삭제

-> 기존에 localhost 접근 계정만 만들었을 경우 'owncloud'@'localhost' 만 삭제하면 됨.

참고문서

OwnCloud 설치 경로 변경하기

https://hancho1111.tistory.com/134

OwnCloud Install

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다