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はGoogle Driveに似た専用クライアントも提供しています。ファイルマネージャー内で個人クラウドドライブのファイルに簡単にアクセスできます。

ヒント: ownCloudのファンではありませんか?NextCloudをチェックして、ownCloudとの比較を見てみましょう!
ownCloudのインストール
以下の手順は、Ubuntu 22.04にownCloudサーバーをインストールする方法を示しています。他のUbuntuバージョンやLinuxディストリビューションでも手順は似ています。
- ownCloudをインストールする最初のステップは、マシンに完全修飾ドメイン名があることを確認することです。これにより、サーバーは適切にリクエストをリダイレクトできます:
sudo hostnamectl set-hostname "your-domain-name"
- ドメイン(またはサブドメイン)をサーバーのIPアドレスにポイントするように設定します。これを行うには、レジストラのウェブサイトにアクセスし、マシンのIPv4アドレスで「A」レコードを追加します。

- 完了したら、システム全体を更新します:
sudo apt update
sudo apt upgradeDockerとDocker Composeのインストール
- 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- Docker用の新しいaptリポジトリファイルを「/etc/apt/sources.list.d/」に作成します:
sudo nano /etc/apt/sources.list.d/docker.list- 新しい「docker.list」ファイルに以下の行を挿入します:
deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu jammy stable- ファイルを保存し(キーボードショートカットCtrl + Oを使用)、テキストエディタを終了します。

- 次のコマンドでシステムのaptリポジトリを更新します:
sudo apt update- 次のコマンドでDockerとその必要なユーティリティをインストールします:
sudo apt install wget openssl docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-buildx-plugin注意: 効果を得るためにシステムを再起動する必要があるかもしれません。
ownCloudコンテナのためのシステムの準備
- サーバーのDockerファイル用の新しいディレクトリを作成します:
mkdir ./owncloud-server
cd ./owncloud-serverFYI: 今日はLOMPスタックを構築して高性能のウェブホスティングプラットフォームを作成する方法を学びましょう。
- 開発者のウェブサイトからownCloud Docker Composeテンプレートをダウンロードします:
wget https://raw.githubusercontent.com/owncloud/docs-server/master/modules/admin_manual/examples/installation/docker/docker-compose.yml- Dockerコンテナのフォルダ内にDocker環境ファイルを作成します:
nano ./.env- 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のログイン管理者を指しており、システム管理者アカウントではありません。

注意: システムの「/dev/urandom」デバイスファイルを使用して安全なパスワードを生成できます:cat /dev/urandom | tr -dc 'A-Za-z0-9' | fold -w 64 | head -n 1。
「.env」ファイルを保存して終了します。
コンテナのディレクトリでDocker Composeを実行します:
docker compose up -d
Nginxリバースプロキシの作成
この時点で、部分的に機能するownCloudインストールがあります。接続を受け入れるためには、内部インスタンスを外部向けのウェブサーバーにリンクするリバースプロキシを作成する必要があります。
- aptを使用してNginxウェブサーバーをインストールします:
sudo apt install nginx- ownCloudリバースプロキシのサイト設定ファイルを作成します:
sudo nano /etc/nginx/sites-available/owncloud- ポート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;
}
}- 完了したら、新しいサイトファイルのシンボリックリンクを作成します:
sudo ln -s /etc/nginx/sites-available/owncloud /etc/nginx/sites-enabled/owncloud- Nginxの設定をテストします。すべてが正常であれば、変更を適用するためにNginxを再起動します。
sudo nginx -t
sudo systemctl reload nginxownCloud用のSSL証明書の取得
ownCloudをHTTP経由で使用することは可能ですが、すべての接続が暗号化されていないため、非常に安全ではありません。これを解決する方法の1つは、ownCloudサーバーにSSLを有効にすることです。
- システムのsnapdインストールを更新します:
sudo snap install core
sudo snap refresh core- certbot snapパッケージをインストールします:
sudo snap install --classic certbot- certbot snapパッケージとシステムのバイナリパスとの間にシンボリックリンクを作成します:
sudo ln -s /snap/bin/certbot /usr/bin/certbot- 新しいcertbotインストールをElectronic Frontier Foundationに登録します:
sudo certbot register --agree-tos --email [email protected]- サーバーのドメイン(またはサブドメイン)に対してcertbotコマンドを実行します:
sudo certbot --nginx -d owncloud.myvpsserver.top
- 完了したら、ブラウザにドメイン名を入力すると、新しいownCloudログインページが表示されるはずです。

知っておくと良いこと: 自分の自己署名証明書を作成することで、SSLを通じてインターネット上でデータがどのように暗号化されるかを学びましょう。
よくある質問
ownCloudに通常のユーザーを追加することは可能ですか?
はい。新しいユーザーを追加するには、ownCloud管理アカウントに移動し、ページの右上隅にある管理者名をクリックします。次に、「ユーザー」ボタンをクリックしてサーバーの現在のユーザーリストを開きます。そこに、ユーザー名とメールアドレスを提供することで新しいユーザーを追加できます。
画像クレジット: Quaritsch Photography via Unsplash (背景) および Wikimedia Commons (ロゴ)。すべての変更とスクリーンショットはRamces Redによるものです。