글 작성자: drizzle_
728x90

하는 작업의 특성상 사람들과 파일을 공유할 일이 많고, 구글 드라이브를 쓰자니 용량이 너무 적고 왜인지는 모르겠지만 속도가 너무 안나와서 VPS에 Owncloud로 개인 클라우드를 구축하기로 하였다.


Owncloud

OwnCloud는 서비스 및 기능이 DropBox 및 Google Drive에서 제공하는 것과 유사한 서비스를 제공하는 최고의 오픈 소스 파일 공유 및 클라우드 협업 플랫폼이다. 그러나 Dropbox와 달리 OwnCloud에는 호스팅 파일을 저장할 데이터 센터 용량이 없다(직접 구축해야 한다). 또한 문서, 이미지 및 비디오와 같은 파일을 공유하여 사람 언급하고 스마트폰(0.99달러), 태블릿 및 PC와 같은 여러 장치에서 액세스 할 수 있다.


구축하기

1. 패키지 업데이트하기

apt커맨드로 시스템 패키지를 업데이트한다.

sudo apt update -y && sudo apt upgrade -y

2. Apache2와 PHP7.2를 설치하기

Owncloud가 PHP 7.4를 지원하지 않기에, 7.2를 설치해야한다.

sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt update
sudo apt install apache2 libapache2-mod-php7.2 openssl php-imagick php7.2-common php7.2-curl php7.2-gd php7.2-imap php7.2-intl php7.2-json php7.2-ldap php7.2-mbstring php7.2-mysql php7.2-pgsql php-smbclient php-ssh2 php7.2-sqlite3 php7.2-xml php7.2-zip

설치가 완료되었다면, Apache를 실행한다.

sudo systemctl start apache2
sudo systemctl enable apache2

2-1. 방화벽 설정

sudo firewall-cmd --zone=public --permanent --add-port=80/udp
sudo firewall-cmd --reload 

2-2. 접속해보기

http://서버아이피 로 접속해본다.

이런 페이지가 뜨면 성공이다.

2-3. PHP가 정상적으로 설치되었는지 확인하기

 php -v

3. MariaDB를 설치하기

MariaDB는 개발자, 데이터베이스 애호가 및 프로덕션 환경에서 널리 사용되는 인기있는 오픈 소스 데이터베이스 서버다. MySQL보다 발전한 DB이며 Oracle이 MySQL을 인수 한 이후 MySQL보다 선호되었다.

sudo apt install mariadb-server

기본적으로 MariaDB는 보안되지 않으며 보안 침해가 발생하기 쉽다. 따라서 MariaDB 서버를 강화하기 위해 추가 단계를 수행해야한다. MySQL 서버 보안을 시작하려면 다음 명령을 실행한다.

sudo mysql_secure_installation

설정할 비밀번호를 물어보면 비밀번호를 입력하고, 되도록 물어보는것마다 Y를 입력한다.

 

모든게 끝났다면 이제 MariaDB의 보안 설정이 완료된것이다.

3-1. DB에 Owncloud DB를 설정하기.

설치 중 및 설치 후 파일을 저장하기 위해 Owncloud 용 데이터베이스를 만들어야한다. MariaDB에 로그인한다.

sudo mysql -u root -p
MariaDB [(none)]> CREATE DATABASE owncloud_db;
MariaDB [(none)]> GRANT ALL ON owncloud_db.* TO ‘owncloud_user’@’localhost’ IDENTIFIED BY ‘비밀번호’;
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

4. Owncloud를 Ubuntu에 다운로드하기

DB를 만든 후에, Owncloud를 설치해야한다. Wget을 이용해 Owncloud를 다운받는다.

먼저, 이곳에 들어간 후  최신 버전을 확인한 후 Download ZIP을 우클릭하여 링크를 복사한다.

복사한 링크를 입력하고, 다운로드한다.

sudo wget https://download.owncloud.org/community/owncloud-10.4.1.zip

다운로드가 완료되었다면, /var/www 경로에 압축을 해제한다. (압축파일이름은버전마다다름)

sudo unzip owncloud-10.4.1.zip -d /var/www/

그리고, 혹시 모를 충돌을 방지하기 위해 chmod로 권한을 설정한다.

sudo chown -R www-data:www-data /var/www/owncloud/
sudo chmod -R 755 /var/www/owncloud/

 

4-1. Apache 설정하기

이제 Apache를 설정한다. 새 파일을 생성한다.

sudo nano /etc/apache2/conf-available/owncloud.conf

해당 파일에 아래 설정을 붙여넣는다.

Alias /owncloud "/var/www/owncloud/"

<Directory /var/www/owncloud/>
  Options +FollowSymlinks
  AllowOverride All

 <IfModule mod_dav.c>
  Dav off
 </IfModule>

 SetEnv HOME /var/www/owncloud
 SetEnv HTTP_HOME /var/www/owncloud

</Directory>

파일을 저장하고 닫는다.

다음으로 아래 명령을 실행하여 필요한 모든 Apache 모듈과 새로 추가 된 구성을 활성화해야한다.(혹시 오류가 발생해도 그냥 넘어가면 된다.)

sudo a2enconf owncloud
sudo a2enmod rewrite
sudo a2enmod headers
sudo a2enmod env
sudo a2enmod dir
sudo a2enmod mime

모든 모듈을 활성화 했다면, Apache를 재시작한다.

sudo systemctl restart apache2

5. 우분투에서 Owncloud설치를 마무리하기

필요한 모든 구성이 완료되면 남은 부분은 브라우저에 OwnCloud를 설치하는 것이다. 브라우저로 가서 서버 주소와 / owncloud를 입력한다.

관리자 아이디와 비밀번호를 설정한다.

바로 아래에서 '스토리지 및 데이터베이스'를 클릭한다. '데이터베이스 구성'섹션에서 'MySQL / MariaDB'를 선택하고 데이터베이스 사용자, 데이터베이스 사용자의 비밀번호 및 데이터베이스 이름에 대한 데이터베이스를 작성하는 동안 정의한 데이터베이스 정보를 채운다.

만약 오류가 난다면, SQLite를 사용해도 된다.(사용하게 된다면 DB에 오류가 나서 파일이 날라갈 수 있기에 수시로 백업을 해야한다.)

 

설치가 완료되었다면, 아까 설정한 관리자 아이디와 비밀번호를 입력하고 로그인한다.

필요하면 모바일 앱들을 다운로드한다. (안드로이드앱은 0.99달러)

정상적으로 작동하는지 테스트 하기 위해 업로드/다운로드를 해본다.

아무 오류가 안난다면, 성공한거다.


글을마치면서

모바일 앱이 유료인게 아쉬웠지만, 이렇게 설치가 쉬운 클라우드는 NextCloud(Owncloud개조버전)과 Owncloud밖에 없는것같다. 원한다면 로그인 화면(/core/img/background.jpg)커스텀이 가능하다.

 

다음에는 모바일 앱이 무료인 NextCloud를 설치해보려 한다.

2020.07.06 - [개발,서버/Linux] - Ubuntu에 NextCloud로 개인 클라우드 구축하기

728x90
Email: b1@yeonw.me / 여기를 눌러 다른 연락 수단들 알아보기