Ubuntu 22.04에 ownCloud를 설치하는 방법


이 페이지에서

  1. 전제 조건
  2. 종속성 설치
  3. PHP 7.4 설치
  4. Apache2 웹 서버 설치
  5. MariaDB 서버 설치
  6. OwnCloud 소스 코드 다운로드
  7. ownCloud용 Apache2 가상 호스트 설정\n
  8. ownCloud 설치 마법사 시작하기\n
  9. ownCloud 성능 조정
  10. 결론

ownCloud는 Google 드라이브 및 DropBox와 같은 파일 호스팅 서비스를 만들기 위한 소프트웨어입니다. 자체 서버에서 자체 호스팅 파일 호스팅을 설정할 수 있는 무료 오픈 소스 파일 호스팅 소프트웨어입니다. ownCloud는 서버 애플리케이션(ownCloud 소프트웨어 제품군의 주요 구성 요소)과 Linux, Windows, macOS, Android 및 iOS와 같은 여러 운영 체제에 설치할 수 있는 클라이언트 애플리케이션을 제공합니다.

ownCloud는 주로 PHP, JavaScript 및 Go로 작성됩니다. 또한 캘린더 이벤트를 쉽게 동기화하고 아카이브, 이미지 및 모든 파일 형식을 저장할 수 있습니다. 또한 작업, 주소록 등을 구성할 수 있습니다. ownCloud는 그 위에 추가 애플리케이션을 설치할 수 있는 확장 가능한 애플리케이션입니다.

이 튜토리얼에서는 Ubuntu 22.04 서버에 ownCloud를 설치하고 구성하는 방법을 보여줍니다. 또한 Ubuntu 서버에서 LAMP 스택(Linux, Apache2, MariaDB 및 PHP)의 일부 기본 설치 및 구성도 다룹니다.

전제 조건

이 가이드에는 다음 전제 조건이 필요합니다.

  • Ubuntu Server 22.04 에디션.
  • 루트 관리자 권한이 있는 루트가 아닌 사용자.\n
  • 도메인 이름은 서버 IP 주소를 가리키고 확인됩니다.\n

종속성 설치

ownCloud 설치를 시작하기 전에 openssl, redis-server, smbclient 등과 같은 패키지를 포함하는 일부 기본 패키지 종속성을 서버에 설치해야 합니다.

먼저 아래의 apt 명령을 사용하여 Ubuntu 리포지토리를 최신 버전으로 업데이트합니다.

sudo apt update

그런 다음 아래 명령을 사용하여 패키지 종속성을 설치하십시오.

sudo apt install smbclient redis-server unzip openssl rsync imagemagick

Y를 입력하여 설치를 확인하고 ENTER를 눌러 시작하십시오. 모든 종속성 설치가 완료되면 다음 단계로 이동합니다.

PHP 7.4 설치

이제 Ubuntu 서버에 자신의 클라우드 설치를 위한 PHP 종속성을 설치하게 됩니다.

최신 버전의 Ubuntu 22.04 리포지토리는 최신 버전의 PHP 8.1 패키지를 제공합니다. 그러나 ownCloud의 경우 PHP 8.1 대신 PHP 7.4가 필요합니다. 현재 상태에서 ownCloud는 여전히 PHP 8.1에서 완전히 지원되지 않습니다.

이제 타사 저장소 "ppa:ondrej/php"에서 최신 Ubuntu 22.04 서버로 PHP 7.4를 설치하게 됩니다.

다음 명령을 실행하여 PHP 패키지용 PPA 리포지토리를 추가합니다. 다음 명령은 또한 Ubuntu 리포지토리를 자동으로 업데이트하고 새로 고칩니다.

sudo add-apt-repository ppa:ondrej/php -y

다음으로 아래의 apt 명령을 실행하여 Ubuntu 시스템에 PHP 7.4를 설치합니다. 또한 다음 명령은 일부 PHP 8.1 패키지도 설치하지만 Ubuntu에서 기본 PHP 버전을 설정할 수 있으므로 걱정하지 마십시오.

sudo apt install php7.4 php7.4-intl php7.4-mysql php7.4-mbstring \
       php7.4-imagick php7.4-igbinary php7.4-gmp php7.4-bcmath \
       php7.4-curl php7.4-gd php7.4-zip php7.4-imap php7.4-ldap \
       php7.4-bz2 php7.4-ssh2 php7.4-common php7.4-json \
       php7.4-xml php7.4-dev php7.4-apcu php7.4-redis \
       libsmbclient-dev php-pear php-phpseclib

다음으로 다음 명령을 실행하여 시스템에 기본 PHP 버전을 설정하십시오.

sudo update-alternatives --config php

PHP 버전 7.4의 번호를 입력하고 ENTER를 눌러 확인합니다. 이 예에서 PHP 7.4는 번호 "2"에서 사용할 수 있습니다.

이제 다음 명령을 사용하여 PHP 버전을 확인하십시오. 그리고 ownCloud 설치에 필요한 PHP의 기본 버전이 PHP 7.4로 변경된 것을 볼 수 있습니다.

php --version

이제 다음 명령을 실행하여 다른 PHP 도구 버전을 PHP 7.4로 설정합니다.

sudo update-alternatives --set phar /usr/bin/phar7.4
sudo update-alternatives --set phar.phar /usr/bin/phar.phar7.4
sudo update-alternatives --set phpize /usr/bin/phpize7.4
sudo update-alternatives --set php-config /usr/bin/php-config7.4

다음으로 PEAR를 ownCloud용 최신 안정 버전으로 업데이트해야 합니다. 현재 PEAR의 최신 안정 버전은 v1.10.13이며 수동으로 업그레이드할 수 있습니다.

다음 명령을 사용하여 새 임시 디렉토리 /tmp/pear/cache를 생성합니다.

sudo mkdir -p /tmp/pear/cache

아래의 pear 명령을 사용하여 PEAR 버전을 1.10.13으로 업그레이드하십시오.

sudo pear upgrade --force \
      --alldeps http://pear.php.net/get/PEAR-1.10.13

이제 아래의 pear 명령을 실행하여 캐시를 지우고 채널을 업데이트하고 모두 업그레이드하십시오.

sudo pear clear-cache
sudo pear update-channels
sudo pear upgrade --force
sudo pear upgrade-all

업그레이드 프로세스가 완료되면 다음 명령어를 사용하여 배 버전을 확인합니다. 그리고 PEAR 버전이 v1.10.13으로 업그레이드된 것을 볼 수 있습니다.

pear version

Apache2 웹 서버 설치

이제 ownCloud용 Apache2 웹 서버를 설치할 차례입니다. 또한 ownCloud에 필요한 모듈도 활성화합니다.

아래의 apt 명령을 사용하여 Apache2 웹 서버를 설치합니다.

sudo apt install libapache2-mod-php7.4 apache2

Y를 입력하여 설치를 확인하고 ENTER를 눌러 설치를 시작하십시오.

이제 모든 설치가 완료되면 아래의 a2enmod 명령을 실행하여 ownCloud에 필요한 일부 Apache2 모듈을 활성화합니다.

sudo a2enmod rewrite env dir mime unique_id headers ssl

새 변경 사항을 적용하려면 Apache2 서비스를 다시 시작하십시오.

sudo systemctl restart apache2

MariaDB 서버 설치

PHP 7.4 및 Apache2 웹 서버를 설치했으면 이제 MariaDB 서버를 설치할 차례입니다. 기본적으로 ownCloud는 MySQL/MariaDB, SQLite, PostgreSQL 및 Oracle과 같은 여러 RDBMS를 지원합니다. ownCloud 배포에 권장되는 가장 쉬운 무료 방법은 MySQL/MariaDB 데이터베이스를 사용하는 것입니다.

아래의 apt 명령을 실행하여 MariaDB 서버 패키지를 설치합니다.

sudo apt install mariadb-server

Y를 입력하여 설치를 확인하고 ENTER를 눌러 시작하십시오. 이제 설치가 시작됩니다.

MariaDB 설치가 완료되면 다음 명령을 실행하여 MariaDB 배포를 설정하고 보호합니다.

sudo mysql_secure_installation

그리고 아래의 몇 가지 기본 MariaDB 구성을 묻는 메시지가 표시됩니다.

  • 새 MariaDB 루트 암호를 입력하고 반복합니다.\n
  • 선택적으로 인증을 unix_socket 인증으로 전환하려면 Y를 입력합니다.\n
  • Y를 입력하여 MariaDB 서버 배포에서 기본 익명 사용자를 제거합니다.\n
  • Y를 입력하여 MariaDB 루트 사용자의 원격 로그인을 비활성화합니다.\n
  • Y를 다시 입력하여 MariaDB 시스템에서 기본 데이터베이스 "test"를 제거합니다.\n
  • 마지막으로 Y를 다시 입력하여 모든 테이블 권한을 다시 로드하고 새로운 변경 사항을 MariaDB 서버에 적용합니다.\n

MariaDB 서버 배포를 완료한 후 아래의 mysql 명령을 실행하여 MariaDB 셸에 로그인합니다.

mysql -u root -p

다음 쿼리를 실행하여 ownCloud에 대한 새 MariaDB 데이터베이스 및 사용자를 생성합니다. 이 예에서 사용자 및 데이터베이스 이름은 "owncloud"이고 암호는 "owncloudpass"입니다.

CREATE DATABASE owncloud;
CREATE USER IF NOT EXISTS 'owncloud'@'localhost' IDENTIFIED BY 'owncloudpass';
GRANT ALL PRIVILEGES ON owncloud.* TO 'owncloud'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;

이제 다음 쿼리를 사용하여 MariaDB 사용자 "owncloud"에 대한 권한을 확인합니다. "owncloud" 사용자에게 "owncloud" 데이터베이스에 대한 액세스 및 권한이 있는지 확인하십시오.

SHOW GRANTS FOR 'owncloud'@'localhost';

OwnCloud 소스 코드 다운로드

이 시점에서 ownCloud 설치를 위한 LAMP 스택(Linux, Apache2, MariaDB 및 PHP)의 기본 구성을 완료했습니다. 이제 ownCloud 소스 코드를 시스템에 다운로드하게 됩니다.

먼저 다음 명령을 사용하여 /var/www/ 디렉토리로 이동합니다.

cd /var/www/

이제 아래의 wget 명령을 사용하여 검증을 위한 최신 버전의 ownCloud 소스 코드와 체크섬 파일을 다운로드하십시오. 그러면 ownCloud 소스 코드에 대한 새 파일 "owncloud-complete-latest.tar.bz2"과 "owncloud-complete-latest.tar.bz2.sha25가 표시됩니다. 6\ 체크섬 파일용.

wget https://download.owncloud.com/server/stable/owncloud-complete-latest.tar.bz2
wget https://download.owncloud.com/server/stable/owncloud-complete-latest.tar.bz2.sha256

그런 다음 아래 sha256sum 명령을 사용하여 확인을 실행합니다. 확인이 성공하면 "OK"와 같은 출력 메시지가 표시됩니다.

sudo sha256sum -c owncloud-complete-latest.tar.bz2.sha256 < owncloud-complete-latest.tar.bz2

그런 다음 아래 명령을 사용하여 ownCloud 소스 코드를 추출하십시오. 그리고 이름이 "owncloud"인 새 디렉터리가 표시되어야 합니다. 이 디렉터리는 ownCloud 설치 "/var/www/owncloud의 DocumentRoot/WebRoot 디렉터리로 사용됩니다. \.

tar -xf owncloud-complete-latest.tar.bz2

마지막으로 다음 명령을 사용하여 "owncloud" 디렉토리의 소유권을 "www-data"로 변경합니다.

sudo chown -R www-data:www-data owncloud

ownCloud용 Apache2 가상 호스트 설정

이제 ownCloud용 Apache2 가상 호스트를 설정합니다. 이 예에서는 Apache2 웹 서버 위에 보안 HTTPS/SSL이 활성화된 ownCloud 설치에 도메인 이름 "hwdomain.io"를 사용합니다.

nano 편집기를 사용하여 새 가상 호스트 파일 "/etc/apache2/sites-available/owncloud.conf"을 생성합니다.

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

다음 Apache2 구성을 파일에 추가합니다. 또한 자세한 구성으로 SSL 인증서의 도메인 이름과 경로를 변경해야 합니다. 이 구성을 사용하면 경로 URL "/owncloud"(예: https://hwdomain.io/owncloud)에서 ownCloud 설치를 사용할 수 있습니다.

<VirtualHost *:80>
  ServerName hwdomain.io
  ServerAlias www.hwdomain.io
  Redirect permanent / https://hwdomain.io/
</VirtualHost>

<VirtualHost *:443>
  ServerName hwdomain.io
  DocumentRoot /var/www
  ServerAlias www.hwdomain.io

  Protocols h2 http:/1.1

  <If "%{HTTP_HOST} == 'www.hwdomain.io'">
    Redirect permanent / https://hwdomain.io/
  </If>
 
  ErrorLog ${APACHE_LOG_DIR}/hwdomain.io-error.log
  CustomLog ${APACHE_LOG_DIR}/hwdomain.io-access.log combined

  SSLEngine On
  SSLCertificateFile /etc/letsencrypt/live/hwdomain.io/fullchain.pem
  SSLCertificateKeyFile /etc/letsencrypt/live/hwdomain.io/privkey.pem
 
  SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384

  SSLProtocol All -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
  SSLCompression off

  Header always set Strict-Transport-Security "max-age=63072000"

  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>
 
</VirtualHost>

이제 완료되면 파일을 저장하고 닫습니다.

그런 다음 아래 명령을 사용하여 가상 호스트 구성 "owncloud.conf"을 활성화합니다.

sudo a2ensite owncloud.conf

아래 명령을 사용하여 Apache2 구성을 확인하고 확인합니다. 구성이 올바르면 "구문: OK"와 같은 출력 메시지가 표시됩니다.

sudo apachectl configtest

마지막으로 아래 명령을 실행하여 Apache2 웹 서버를 다시 시작하고 새 가상 호스트 구성 "owncloud.conf"를 적용합니다. 이제 웹 브라우저에서 ownCloud 설치 마법사를 시작할 준비가 되었지만 선택적으로 명령줄에서 ownCloud 설치 마법사를 시작할 수도 있습니다.

sudo systemctl restart apache2

ownCloud 설치 마법사 시작하기

ownCloud 설치를 완료하려면 ownCloud 설치 마법사에 액세스하고 ownCloud에 대한 세부 정보 데이터베이스 및 관리 사용자를 설정해야 합니다. 이는 웹 브라우저를 사용하거나 터미널 서버의 명령줄을 사용하는 두 가지 방법으로 수행할 수 있습니다.

이 예에서는 터미널 서버에서 명령줄을 통해 ownCloud 설치 마법사에 액세스합니다.

작업 디렉터리를 ownCloud DocumentRoot 디렉터리 "/var/www/owncloud"로 변경합니다.

cd /var/www/owncloud

이제 다음 명령을 실행하여 ownCloud 설치를 완료하십시오. 데이터베이스 세부 정보와 새 관리 사용자 및 암호를 변경해야 합니다. 모두 완료되면 터미널 화면에 "ownCloud가 성공적으로 설치되었습니다"와 같은 출력 메시지가 표시됩니다.

sudo -u www-data /var/www/owncloud/occ maintenance:install \
   --database "mysql" \
   --database-name "owncloud" \
   --database-user "owncloud"\
   --database-pass "owncloudpass" \
   --admin-user "admin" \
   --admin-pass "adminpassowncloud"

다음으로 nano 편집기를 사용하여 ownCloud 구성 "/var/www/owncloud/config/config.php"도 편집해야 합니다.

sudo nano /var/www/owncloud/config/config.php

아래와 같이 "trusted_domains" 구성에 자신의 클라우드 설치 도메인을 추가합니다. 이 예에서 ownCloud 설치 도메인 이름은 \hwdomain.io\입니다.

  'trusted_domains' =>
  array (
    0 => 'localhost',
    1 => 'hwdomain.io',
  ),

완료되면 파일을 저장하고 닫습니다.

다음으로 웹 브라우저를 열고 주소 표시줄에 자신의 ownCloud 설치 도메인 이름(예: https://hwdomain.io/owncloud/)을 입력합니다. 이제 ownCloud 로그인 페이지가 표시됩니다.

자신의 클라우드 설치를 위한 관리 사용자 및 암호를 입력하고 "로그인"을 클릭합니다.

사용자 이름과 암호가 정확하면 이제 ownCloud 사용자 대시보드가 표시됩니다. 이는 Ubuntu 서버에 ownCloud를 성공적으로 설치했음을 의미합니다.

ownCloud를 위한 성능 조정

이 시점에서 ownCloud가 실행 중입니다. 그러나 더 나은 성능을 얻으려면 몇 가지 추가 구성을 추가해야 합니다. 이제 cron을 사용하여 ownCloud에 대한 백그라운드 작업을 설정하고 Redis를 사용하여 캐싱 시스템을 설정합니다.

다음 명령을 실행하여 ownCloud 백그라운드 작업을 "cron"으로 변경합니다.

sudo -u www-data /var/www/owncloud/occ background:cron

다음으로 아래 명령을 사용하여 ownCloud에 대한 새 크론 구성을 생성합니다. 시스템에 기본 편집기가 없는 경우 사용할 편집기를 선택하라는 메시지가 표시됩니다.

sudo crontab -u www-data -e

사용하려는 편집기를 선택하고 아래와 같이 cron 구성을 추가하십시오.

*/15  *  *  *  * /usr/bin/php -f /var/www/owncloud/occ system:cron

완료되면 파일을 저장하고 닫습니다.

다음으로 ownCloud에 대한 캐싱 시스템을 설정하려면 ownCloud 구성 config.php를 수정해야 합니다.

nano 편집기를 사용하여 "/var/www/owncloud/config/config.php" 파일을 편집합니다.

sudo nano /var/www/owncloud/config/config.php

이제 파일에 다음 구성을 추가합니다.

<?php>
....
....

    'filelocking.enabled' => true,
    'memcache.local' => '\OC\Memcache\APCu',
    'memcache.locking' => '\OC\Memcache\Redis',
    'redis' => [
        'host' => 'localhost',
        'port' => 6379,
    ],

....
....
);

완료되면 파일을 저장하고 닫습니다.

구성을 확인하려면 ownCloud 대시보드에서 "관리자 > 설정" 메뉴로 이동할 수 있습니다.

왼쪽의 "일반" 메뉴로 이동하여 "보안 및 설정 경고" 섹션을 확인하십시오. "모든 확인을 통과했습니다."와 같은 메시지가 표시되면 ownCloud 설치 및 구성이 올바르고 완료된 것입니다. 그러나 경고가 있는 경우 해당 경고를 해결하기 위한 링크 권장 사항이 포함된 구성에 대한 자세한 정보가 표시되어야 합니다.

결론

축하합니다! 이제 LAMP 스택을 사용하여 Ubuntu 22.04에 ownCloud를 성공적으로 설치했습니다. 또한 ownCloud 설치 마법사의 기본 "occ" 명령도 배웠습니다. 마지막으로 기본 백그라운드 작업을 Ajax에서 Cron으로 전환하고 ownCloud에서 Redis로 캐싱 시스템을 설정하여 ownCloud 설치에 대한 일부 성능 튜닝을 구성했습니다.