ownCloudサーバーのインストールと設定方法

白い背景のデスクトップコンピュータの写真。

OwnCloudは、Linux用の強力なウェブベースの個人ストレージソリューションです。これは、標準のLinux-Apache-MySQL-PHP (LAMP) ソフトウェアスタックをインタラクティブなウェブアプリケーションに変換することで、どこからでもアクセスできるようにします。

この記事では、Ubuntu 22.04にownCloudサーバーをインストールするプロセスを示します。それだけでなく、SSLサポートを有効にすることでセキュリティを強化する方法も紹介します。なお、ownCloudはWindowsにもインストールできます。

目次

  • ownCloudを使用する理由
  • ownCloudのインストール
  • Nginxリバースプロキシの作成
  • ownCloud用のSSL証明書の取得
  • よくある質問

ヒント: 自分のクラウドストレージをインストールするのが面倒ですか?代わりにこれらのクラウドストレージプロバイダーをチェックして、どれが最適か見てみましょう。

ownCloudを使用する理由

ownCloudを使用する最大の利点は、従来のウェブホスティングスタックに依存していることです。その結果、512MBのRAMでほぼすべてのLinuxインストールでownCloudインスタンスを実行することが可能です。

ownCloudのデフォルトランディング画面のスクリーンショット。

それに加えて、ownCloudスイート全体は無料でオープンソースです。これは、マシンにデプロイしても、プロプライエタリな代替品に比べて最新のセキュリティアップデートを迅速に受け取ることができることを意味します。

ownCloudのGitHubページのスクリーンショット。

最後に、ownCloudはGoogle Driveに似た専用クライアントも提供しています。ファイルマネージャー内で個人クラウドドライブのファイルに簡単にアクセスできます。

ownCloudデスクトップクライアントのスクリーンショット。

ヒント: ownCloudのファンではありませんか?NextCloudをチェックして、ownCloudとの比較を見てみましょう!

ownCloudのインストール

以下の手順は、Ubuntu 22.04にownCloudサーバーをインストールする方法を示しています。他のUbuntuバージョンやLinuxディストリビューションでも手順は似ています。

  1. ownCloudをインストールする最初のステップは、マシンに完全修飾ドメイン名があることを確認することです。これにより、サーバーは適切にリクエストをリダイレクトできます:
sudo hostnamectl set-hostname "your-domain-name"

デモサーバーのホスト名を表示するターミナル。

  1. ドメイン(またはサブドメイン)をサーバーのIPアドレスにポイントするように設定します。これを行うには、レジストラのウェブサイトにアクセスし、マシンのIPv4アドレスで「A」レコードを追加します。

デモサーバーのDNSレコードのスクリーンショット。

  1. 完了したら、システム全体を更新します:
sudo apt update  
sudo apt upgrade

DockerとDocker Composeのインストール

  1. Dockerプロジェクトのサードパーティリポジトリキーをインストールします:
sudo install -m 0755 -d /etc/apt/keyrings  
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg  
sudo chmod a+r /etc/apt/keyrings/docker.gpg
  1. Docker用の新しいaptリポジトリファイルを「/etc/apt/sources.list.d/」に作成します:
sudo nano /etc/apt/sources.list.d/docker.list
  1. 新しい「docker.list」ファイルに以下の行を挿入します:
deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu jammy stable
  1. ファイルを保存し(キーボードショートカットCtrl + Oを使用)、テキストエディタを終了します。

UbuntuのDockerリポジトリ情報を表示するターミナル。

  1. 次のコマンドでシステムのaptリポジトリを更新します:
sudo apt update
  1. 次のコマンドでDockerとその必要なユーティリティをインストールします:
sudo apt install wget openssl docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-buildx-plugin

注意: 効果を得るためにシステムを再起動する必要があるかもしれません。

ownCloudコンテナのためのシステムの準備

  1. サーバーのDockerファイル用の新しいディレクトリを作成します:
mkdir ./owncloud-server  
cd ./owncloud-server

FYI: 今日はLOMPスタックを構築して高性能のウェブホスティングプラットフォームを作成する方法を学びましょう。

  1. 開発者のウェブサイトからownCloud Docker Composeテンプレートをダウンロードします:
wget https://raw.githubusercontent.com/owncloud/docs-server/master/modules/admin_manual/examples/installation/docker/docker-compose.yml
  1. Dockerコンテナのフォルダ内にDocker環境ファイルを作成します:
nano ./.env
  1. ownCloudインスタンスで使用する基本的な環境変数を追加します。以下は例のテンプレートです:
OWNCLOUD_VERSION=10.12  
OWNCLOUD_DOMAIN=YOUR-DOMAIN-NAME  
OWNCLOUD_TRUSTED_DOMAINS=localhost,YOUR-DOMAIN-NAME  
ADMIN_USERNAME=YOUR-ADMIN-USERNAME-HERE  
ADMIN_PASSWORD=YOUR-ADMIN-PASSWORD-HERE  
HTTP_PORT=8080

「your-domain-name」を自分のドメイン名に変更する必要があります。また、管理者のユーザー名とパスワードはOwnCloudのログイン管理者を指しており、システム管理者アカウントではありません。

ownCloud Docker Compose環境変数ファイルの簡単なターミナル。

注意: システムの「/dev/urandom」デバイスファイルを使用して安全なパスワードを生成できます:cat /dev/urandom | tr -dc 'A-Za-z0-9' | fold -w 64 | head -n 1

  1. 「.env」ファイルを保存して終了します。

  2. コンテナのディレクトリでDocker Composeを実行します:

docker compose up -d

ownCloudのDockerコンテナを構築するプロセスを表示するターミナル。

Nginxリバースプロキシの作成

この時点で、部分的に機能するownCloudインストールがあります。接続を受け入れるためには、内部インスタンスを外部向けのウェブサーバーにリンクするリバースプロキシを作成する必要があります。

  1. aptを使用してNginxウェブサーバーをインストールします:
sudo apt install nginx
  1. ownCloudリバースプロキシのサイト設定ファイルを作成します:
sudo nano /etc/nginx/sites-available/owncloud
  1. ポート80でリッスンするリバースプロキシブロックを書きます。以下は、私のサーバーのサブドメインで動作するように修正したシンプルなボイラープレートコードです:
server {  
    listen 80;  
    listen [::]:80;  
  
    root /var/www/html;  
    server_name owncloud.myvpsserver.top;  
  
    location / {  
        proxy_set_header   X-Forwarded-For $remote_addr;  
        proxy_set_header   Host $http_host;  
        proxy_pass         http://localhost:8080;  
}  
}
  1. 完了したら、新しいサイトファイルのシンボリックリンクを作成します:
sudo ln -s /etc/nginx/sites-available/owncloud /etc/nginx/sites-enabled/owncloud
  1. Nginxの設定をテストします。すべてが正常であれば、変更を適用するためにNginxを再起動します。
sudo nginx -t  
sudo systemctl reload nginx

ownCloud用のSSL証明書の取得

ownCloudをHTTP経由で使用することは可能ですが、すべての接続が暗号化されていないため、非常に安全ではありません。これを解決する方法の1つは、ownCloudサーバーにSSLを有効にすることです。

  1. システムのsnapdインストールを更新します:
sudo snap install core  
sudo snap refresh core
  1. certbot snapパッケージをインストールします:
sudo snap install --classic certbot
  1. certbot snapパッケージとシステムのバイナリパスとの間にシンボリックリンクを作成します:
sudo ln -s /snap/bin/certbot /usr/bin/certbot
  1. 新しいcertbotインストールをElectronic Frontier Foundationに登録します:
sudo certbot register --agree-tos --email [email protected]
  1. サーバーのドメイン(またはサブドメイン)に対してcertbotコマンドを実行します:
sudo certbot --nginx -d owncloud.myvpsserver.top

Nginxのための自動certbot SSL証明書発行プロセスを表示するターミナル。

  1. 完了したら、ブラウザにドメイン名を入力すると、新しいownCloudログインページが表示されるはずです。

SSL経由で動作しているownCloudインスタンスを表示するスクリーンショット。

知っておくと良いこと: 自分の自己署名証明書を作成することで、SSLを通じてインターネット上でデータがどのように暗号化されるかを学びましょう。

よくある質問

ownCloudに通常のユーザーを追加することは可能ですか?

はい。新しいユーザーを追加するには、ownCloud管理アカウントに移動し、ページの右上隅にある管理者名をクリックします。次に、「ユーザー」ボタンをクリックしてサーバーの現在のユーザーリストを開きます。そこに、ユーザー名とメールアドレスを提供することで新しいユーザーを追加できます。

画像クレジット: Quaritsch Photography via Unsplash (背景) および Wikimedia Commons (ロゴ)。すべての変更とスクリーンショットはRamces Redによるものです。