내 데이타는 내 통제하에 - 나만의 클라우드 ownCloud 를 RHEL/CentOS 에 설치
소개
ownCloud 는 PHP 로 개발된 웹 기반 파일 공유 서비스이다. Dropbox 나 Google Drive, One Drive 같은 역할을 수행하며 서버용 소프트웨어가 공개되어 있고 내가 소유한 서버에서 구동할 수 있으므로 개인 자료나 민감한 데이타를 올려야 할 좋은 대안이 될 수 있다.
RHEL/CentOS 6 에서 설치하는 방법에 대해서 정리해 보자.
사전 작업
PHP 로 개발 되었으니 PHP 인터프리터가 필요하다. 최소한의 PHP 버전은 5.4 이며 7 이상을 권장하고 있다. RHEL/CentOS 6 은 PHP 5.3.3 이므로 다른 repository 에서 높은 버전의 PHP 를 설치해야 한다.
PHP 설치
ownCloud 가 필요로 하는 패키지를 설치한다.
yum install php56w-gd php56w-process php56w-xml
yum install php70w-gd php70w-process php70w-xml
- PHP 의 upload 파일 크기 제한을 변경한다.(php POST max upload size 조정)
DBMS 설치
SQLite, MySQ, MariaDB 를 지원하지만 SQLite 는 혼자 쓰지 않는 이상 동시성 제어와 확장성 이슈가 있으므로 MySQL 이나 MariaDB 를 설치 하는게 좋다.
DBMS 설치후에 owncloud 가 사용할 계정을 만들어 주자.
CREATE DATABASE owncloud CHARACTER SET utf8 COLLATE utf8_bin; GRANT ALL PRIVILEGES ON owncloud.* TO 'owncloud'@'localhost' IDENTIFIED BY 'my_password';
Server 설치
패키지 설치
안정버전 다운로드
wget https://download.owncloud.org/community/owncloud-10.0.6.tar.bz2 tar jxvf owncloud-10*tar.bz2 -C /var/www/owncloud
설정 폴더 소유자를 웹 서버 계정으로 변경하고 파일 저장 폴더 생성 및 권한 조정
chown -R apache:apache config/ apps/ mkdir data chown -R apache:apache data/
chown -R nginx:nginx config/ apps/ mkdir data chown -R nginx:nginx data/
웹서버 연동
웹서버 설정
아파치 웹서버 설정 파일에 다음 내용을 추가한다.
<Directory /var/www/html/owncloud> AllowOverride All </Directory>
AllowOverride 가 All 이므로 .htaccess 를 사용하겠다는 의미이므로 실제 설정은 /var/www/html/owncloud/.htaccess 에 있다.
conf/httpd.conf 에 다음 가상호스트 내용을 넣어주고 아파치를 재구동하면 브라우저로 연결할 수 있다.
<VirtualHost *:80> ServerName owncloud.example.com ErrorLog logs/owncloud-error_log CustomLog logs/owncloud-access_log common DocumentRoot "/var/www/html/owncloud/" </VirtualHost>
아파치 웹서버 재구동
service httpd restart
- 브라우저로 연결하면 다음과 같은 화면이 표시 된다.
- 사용자 이름과 암호를 설정하고 하단의 "스토리지 & 데이타 베이스" 를 클릭한다.
- "MySQ/MariaDB" 를 클릭하고 DB 정보를 입력하고 "설치 완료"를 클릭하면 설치가 완료된다.
SSL 로 연결
클라우드 서비스이며 중요한 데이타가 있을 수 있으므로 보안을 위해 HTTPS 로 연결하는 게 좋다. 클라이언트가 HTTP 로 연결할 경우 HTTPS 로 포워딩 하도록 conf/httpd.conf 를 다음과 같이 수정하자.
<VirtualHost *:80> ServerName owncloud.example.com ErrorLog logs/owncloud-error_log CustomLog logs/owncloud-access_log common RewriteEngine on RewriteCond %{HTTPS} !=on RewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [R,L] </VirtualHost>
/etc/httpd/conf.d/ssl.conf 설정하자. SSLCertificateFile, SSLCertificateKeyFile 은 환경에 맞게 수정해야 한다.
<VirtualHost *:443> SSLEngine on SSLCipherSuite SSLv3:TLSv1:+HIGH:!SSLv2:!MD5:!MEDIUM:!LOW:!EXP:!ADH:!eNULL:!aNULL SSLCertificateFile /etc/pki/tls/certs/localhost.crt SSLCertificateKeyFile /etc/pki/tls/private/localhost.key ServerName owncloud.example.com DocumentRoot "/var/www/html/owncloud/" LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b" common_forwarded ErrorLog logs/owncloud-ssl-error.log CustomLog logs/owncloud-sslaccess.log combined </VirtualHost>
아파치 웹서버를 재구동한다.
service httpd restart
Desktop Client 설치
https://owncloud.org/install/ 에서 "Install Desktop Clients" 메뉴에서 사용하는 OS 에 맞는 인스톨러를 다운 받아서 설치하자.
현재 Windows, Mac OS X, Linux 를 지원하고 있다.
같이 보기
Ref
- https://owncloud.org/
- https://doc.owncloud.org/server/10.0/admin_manual/installation/nginx_configuration.html
- http://software.opensuse.org/download/package?project=isv:ownCloud:community&package=owncloud