프로그램 분류
Sulinux17 에서 Owncloud 설치 및 기본운영
작성자 정보
- 웹관리자 작성
- 작성일
컨텐츠 정보
- 14,403 조회
- 0 추천
-
목록
본문
<1. 개요>
Owncloud 는 PHP로 개발된 웹 기반 파일 저장/공유 서비스로, 사용자들이 관리하는 서버에 비용없이 설치하여 사용 가능합니다.
PHP,SQLite, Mysql, PostSQL DB와 연동이 가능하며, 이를 지원 하는 모든 시스템에 설치할수 있습니다.
웹 기반으로 서버 시스템의 운영체제에 묶여있지 않은 부분이 장점이며
파일매니저나 그룹웨어 프로그램을 통해 관리가 가능합니다.
상용 버전 (엔터프라이즈 버전)은 모바일을 통한 관리와 파일 검색 등 다양한 기능이 추가됩니다.
설치 방법은 통합 패키지 설치 (RPM, yum)를 이용하거나 Docker 를 이용하는 방법이 있지만,
Sulinux17 설치 후 소스 파일을 이용해 연결하는 사례를 설명해보려 합니다. 아래는 설치 전 환경 입니다.
- OS : SULinux 2017 64x
- Apache 2.4.6
- PHP 5.4
- mysql 5.5.56-MariaDB
※ Owncloud 사용시 php5.6 / php 7.0 버전 이상을 권장하기 때문에,
이번 사례에서는 기존에 설치되어있는 php 5.4 버전을 삭제 후 php 7.0 버전 설치를 진행하겠습니다.
PHP 버전 업데이트시 기존에 작동되고 있는 프로그램/모듈과 충돌 할 수 있기 때문에
삭제 전 의존성 / 충돌 확인을 해주신 후 진행해 주시기 바랍니다.
<2. 설치>
- php 7.0 다운로드를 위해 epel 레파지토리를 설치합니다.
yum install epel-release
cd /etc/yum.repos.d/
wget http://rpms.famillecollet.com/enterprise/remi.repo
- 기존에 설치되어있는 php 5.4 버전을 삭제합니다.
yum remove php-*
yum remove php-common mod_php php-cli
- yum 으로 php 7 버전과 추가 모듈들을 설치합니다.
yum install php70w
yum install php70w-cli php70w-common php70w-dba php70w-devel php70w-fpm php70w-gd php70w-imap php70w-ldap php70w-mbstring php70w-mcrypt php70w-mysqlnd php70w-odbc php70w-opcache php70w-pdo php70w-pdo_dblib php70w-pear php70w-pecl-imagick php70w-pecl-imagick-devel php70w-pgsql php70w-phpdbg php70w-process php70w-snmp php70w-soap php70w-tidy php70w-xml php70w-xmlrpc
- 설치 후 PHP 버전을 확인합니다.
php -v
- PHP 설치가 완료되었다면 owncloud 소스 파일을 다운 받은 후 압축을 해제합니다.
작성일 기준 최신버전인 owncloud 10.0.7 버전을 설치하겠습니다.
wget https://download.owncloud.org/community/owncloud-10.0.7.tar.bz2
tar xvfj owncloud-10.0.7.tar.bz2
- 압축 해제 후 사용하는 웹서버 계정으로 소유권을 설정합니다.
이번 사례에서는 apache를 사용하고 있으니, apache 계정으로 소유권을 설정하겠습니다.
mv ./owncloud-10.0.7 ./owncloud
chown -R apache:apache ./owncloud
- 사용을 위해 웹페이지 웹사이트 홈 디렉토리로 파일들을 이동시키겠습니다.
mv ./owncloud /var/www/html/
- 이제 owncloud를 사용할 DB와 계정을 생성하겠습니다. DB 연동을 위해 접속계정과 권한이 필요합니다.
아래 예를 참조하셔서 접속대상,계정이름,비밀번호/권한을 설정해주시길 바랍니다.
mysql -uroot -p
비밀번호 입력
create database owncloud;
alter database owncloud default character set utf8;
insert into user(host,user,authentication_string,ssl_cipher,x509_issuer,x509_subject) values('localhost','oc_admin',password('Password'),'','','');
update user set password=password('Password') where user='oc_admin';
insert into db (Host,Db,User,Select_priv,Insert_priv,Update_priv,Delete_priv,Create_priv,Drop_priv,Grant_priv,References_priv,Index_priv,Alter_priv) values ('localhost','owncloud','oc_admin','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');
flush privileges;
- DB 접근을 위해 방화벽 설정이 필요합니다. Sulinux17 에서는 firewalld 를 사용하며,
외부 접속을 위해 DB 포트가 열려있는지 확인해야 합니다 (열려 있다면 다음으로 넘어가주시면 됩니다)
netstat -nlp | grep mysqld
( mysql 포트번호 확인)
ps -ef | grep mysqld
firewall-cmd --zone=public --add-port=3306/tcp --permanent
( mysql 접속을 위해 3306 포트 개방. public 존 영구반영)
firewall-cmd --reload
(방화벽 설정 갱신)
iptables -nL
- 아파치 설정파일에서 접근허용 설정을 해 줍니다.
Sulinux2017 설치 직후 아파치 설정파일의 기본경로는 /etc/httpd/conf/httpd.conf 입니다.
vi httpd.conf
–--------------------------------------------------
DocumentRoot "설치할 웹페이지 디렉토리"
<Directory "설치할 웹페이지 디렉토리">
AllowOverride All // 접근 허용. 새로운 인증방식 우선 적용
Require all granted // 모든 요청 허용
Options FollowSymLinks // 심볼링크 허용 (브라우저에서 링크파일 경로 확인가능)
</Directory>
–--------------------------------------------------
- 설정파일의 내용에 잘못된 부분이 있는지 확인한 후 아파치를 재시작 해 줍니다.
apachectl -t
systemctl restart httpd
- 이제 웹 브라우저에서 owncloud 를 DB에 연동하겠습니다.
위에서 지정한 클라우드 서버로 이용할 서버의 IP나 도메인명 을 입력해봅시다.
- 설정에 문제가 없다면 관리자 계정 설정 화면이 뜹니다.
DB 설정시 생성한 계정/비밀번호 입력 후 아래 DB 설정에서 mysql/mariadb 을 선택 해 주신 후,
DB 정보 및 localhost:DB포트번호 를 입력해 줍시다.
※ 연결불가 시 에러코드를 확인할 수 있습니다. 주로 뜨는 에러 사례와 해결방법은 아래와 같습니다.
> Php-intl 관련 에러 => php 확장모듈이 설치되어 있지 않아 발생합니다.
해당 모듈 설치 후 (yum install php-intl) php에서 모듈이 호출되는지 확인해 봅시다.
> access 에러 => DB에서 계정/권한 생성이 제대로 되지 않은 사례입니다.
DB에서 접속가능한 외부연결 도메인/계정/권한/방화벽 설정을 확인해 봅시다.
- 설정한 계정/PW 입력 시 관리자 페이지로 접속이 가능합니다.
<3. 사용 방법>
- 상단에 있는 + 버튼을 클릭하면 업로드가 가능하며, 파일 클릭시 다운로드를 할 수 있습니다.
파일명 우측에 있는 버튼 클릭 시 공유 설정과 상세 설정(파일명 변경/삭제 등)이 가능합니다.
※ 기본적으로 Deleted files 라는 앱이 실행되고 있어, 웹에서 파일을 삭제하더라도
서버내의 파일은 /웹문서디렉토리/data/관리자계정/files_trashbin 에 보관됩니다.
설정을 해제하고 싶으시다면 아래 관리자-앱 설정에서 사용 해제가 가능합니다.
- 우측 상단의 계정 이름을 클릭하면 설정 및 사용자 계정 편집이 가능합니다.
웹 브라우저 상에서 어떤 설정이 가능한지 간략하게 확인해보겠습니다.
1. 개인 - 일반 : owncloud 계정 추가와 상세정보 (이름/사진/이메일설정/암호 등...) 변경이 가능합니다.
상단에 현재 사용하고 있는 용량을 확인하실 수 있습니다.
이 설정은 php.ini 에서의 설정값 (upload_max_filesize 등) 에 영향을 받지 않습니다.
업로드 용량제한은 무제한으로 설정되어있으나
업로드한 파일들은 설치한 웹페이지 디렉토리/data/계정명/files 디렉토리에 저장됩니다.
파일 업로드시 오류가 발생한다면 서버의 디스크 용량과 디렉토리 권한을 확인해주길 바랍니다.
2. 개인 - 저장소 : 관리자-저장소에서 설정한 외부 저장소 확인이 가능합니다.
3. 개인 – 보안 : 신용할수 있는 웹사이트 설정, 연결된 브라우저 확인, 모바일 앱 접속시 사용할 비밀번호를 설정합니다.
4. 관리자-앱 : 웹 환경에서 사용할 추가 모듈을 설정합니다.
Market 승인 시 기본 내장된 모듈과 여러 앱들의 설치 및 사용을 설정할 수 있습니다.
좌측 상단의 메뉴-Market 에서 설치된 앱들의 설정이 가능합니다.
5. 관리자-일반 : 크론 / 메일서버 / 로그 설정이 가능합니다.
6. 관리자-저장소 : 외부 저장소 활성화 및 마운트 설정이 가능합니다.
7. 관리자-암호화 : 중요한 파일을 저장할 경우 업로드 할 파일을 암호화 할 것을 권장합니다.
'암호화 사용' 기능을 활성화 하기 전에, 관리자-앱 메뉴에서 암호화 모듈을 사용 활성화 시켜야 적용됩니다.
8. 관리자-공유 : 생성한 계정 별로 업로드한 파일들의 공유에 대한 설정이 가능합니다.
이상으로 Owncloud의 간단한 설치 및 운영에 대해 간단히 알아보았습니다.
연동되는 앱들의 종류가 다양하지 않으며 모바일 연동이 유료인 점은 아쉬웠지만,
설치 및 조작이 간단하고 웹 환경으로 구성되어 화면이 직관적이며 파일 업/다운로드 속도가 빠른 점이 만족스러웠습니다.
대부분의 프로젝트에서 클라우드를 사용하는 요즘 추세에서
무료로 유용하게 사용할 수 있는 프로그램이라 생각됩니다.
감사합니다.
"무단배포금지: 클라우드포털(www.linux.co.kr)의 모든 강좌는 저작권에 의해 보호되는 콘텐츠입니다. 무단으로 복제하여 배포하는 행위는 금지되어 있습니다."
관련자료
-
이전
-
다음
댓글 0
등록된 댓글이 없습니다.