このチュートリアルでは、Ubuntu 16.04をインストールしたAlibaba Cloud Elastic Compute Service (ECS)にNextcloudをインストールして設定します。
本ブログは英語版からの翻訳です。オリジナルはこちらからご確認いただけます。一部機械翻訳を使用しております。翻訳の間違いがありましたら、ご指摘いただけると幸いです。
#前提条件
- Alibaba Cloud Elastic Compute Service (ECS)を有効にし、有効な支払い方法を確認する必要があります。新規ユーザーの場合は、新規アカウントで300ドル~1200ドル相当のAlibaba Cloudクレジットを獲得できます。ECSインスタンスのセットアップ方法がわからない場合は、このチュートリアルまたはクイックスタートガイドを参照してください。ECSインスタンスには、少なくとも1GBのRAMと1つのCoreプロセッサが必要です。
- Alibaba Cloudから登録されたドメイン名。すでにAlibaba Cloudまたは他のホストからドメインを登録している場合は、そのドメインネームサーバーレコードを更新することができます。
- ドメイン名は、あなたのAlibaba Cloud ECSのIPアドレスを指している必要があります。
- Alibaba CloudのVNCコンソールまたはPCにインストールされているSSHクライアントにアクセスします。
- サーバーのホスト名を設定し、root権限を持つユーザーを作成します。
#サーバーの設定
パッケージのインストールを進める前に、以下のコマンドを使用してUbuntuシステムをアップデートしてください。このコマンドを実行するには、root 以外のユーザから sudo 権限でログインすることを忘れないでください。
# sudo apt update && sudo apt upgrade
Docker CEのインストールに対応したファイルを取得するためには、software-properties-commonパッケージが必要です。software-properties-commonをインストールするには、コマンドを実行します。
# sudo apt-get install software-properties-common -y
Docker CEのインストールには、apt-transport-httpsが必要です。apt-transport-httpsをインストールするには、コマンドを実行します。
# sudo apt-get install apt-transport-https -y
Docker CEのインストールにはca-certificatesが必要です。ca-certificatesをインストールするには、コマンドを実行します。
# sudo apt-get install ca-certificates -y
Docker CEのインストールにはcurlが必要です。curlをインストールするには、コマンドを実行します。
# sudo apt-get install curl -y
#Docker CEのインストール
Dockerコミュニティ版をインストールするには、以下の手順に従います。
ステップ1:
以下のコマンドを実行して、Docker用のGPGキーを追加します。
# curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add –
ステップ2:
以下のコマンドを実行して、GPGキーのフィンガープリントを確認します。
# sudo apt-key fingerprint 0EBFCD88
ステップ3:
以下のコマンドを実行してDockerリポジトリを追加します。
# sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable”
ステップ4:
以下のコマンドを実行してシステムをアップデートし、追加されたリポジトリをロードします。
# sudo apt update
ステップ5:
以下のコマンドを実行してDockerをインストールします。
# sudo apt install docker-ce
ステップ6:
以下のコマンドを実行して、ユーザ名をdockerグループに追加します。
# sudo adduser aareez docker
ステップ7:
現在のシェルセッションを閉じて、新しいセッションを開始します。そうしないと、dockerを実行することができず、パーミッションエラーが表示される可能性があります。
ステップ8:
以下のコマンドを実行して、dockerが正しく実行されているかどうかを確認します。
# docker run hello-world
#NextCloudのインストール
NextCloudとTalkをインストールするには、以下の手順に従ってください。
ステップ1:
次のコマンドを実行して、NextCloudをDockerにダウンロードしてインストールします。
# docker run -d -p 8080:80 nextcloud
###Docker composeをインストール
アップグレードによるデータの一貫性を保ち、再起動時にすべてのコンテナを自動的に処理するために、Docker composeを使用することができます。データベースコンテナとパーシステントボリュームを分けて設定を起動するのが簡単です。Docker composeをダウンロードしてインストールするには、以下の手順に従ってください。
ステップ1:
以下のコマンドを実行して、最新版のdocker composeをダウンロードしてインストールします。
# sudo curl -L https://github.com/docker/compose/releases/download/1.21.2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
ステップ2:
以下のコマンドでファイルのパーミッションを設定します。
# sudo chmod +x /usr/local/bin/docker-compose
ステップ3:
以下のコマンドで起動したコンテナの一覧を取得します。
# docker container ls —all
8080番ポートを使用しているコンテナを停止させます。そのためには、コンテナIDを取得し、以下の8baab990c424に置き換えてコマンドを実行します。
# docker stop 8baab990c424
ステップ4:
###オプション1 - SSLなし
SSL証明書をインストールしたい場合は、以下の手順をスキップして、オプション2 - SSLを使用して、本項の手順5から進めます。
docker-compose.yamlファイルを作成し、設定用の以下のテキストを貼り付けて保存します。テキストを貼り付ける前に、データベース名、パスワード、ユーザーを忘れずに設定してください。
# sudo nano docker-compose.yaml
version: '2'
volumes:
nextcloud:
db:
services:
db:
image: mariadb
restart: always
volumes:
- db:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=654321Ab
- MYSQL_PASSWORD=654321Ab
- MYSQL_DATABASE=ncdb
- MYSQL_USER=aareez
app:
image: nextcloud
ports:
- 8080:80
links:
- db
volumes:
- nextcloud:/var/www/html
restart: always
以下のコマンドを実行して、Docker Composeの設定を起動します。
# docker-compose up -d
###オプション2 - SSLを使用した場合
ファイアウォールとポートの設定
ファイアウォールを有効にしている場合は、クラウドサーバーの Alibaba Cloud セキュリティグループで、ポート 80/tcp と 443/tcp の例外を追加するルールを定義する必要があります。ECSインスタンスを作成する際にこれらのポートを有効にすることができますが、これらのポートのブロックを解除し忘れた場合は、このガイドの手順に従うことができます: https://www.alibabacloud.com/help/doc-detail/25471.htm
リバースプロキシの設定
以下のコマンドで起動したコンテナの一覧を取得します。
# docker container ls --all
8080番ポートを使用しているコンテナを停止させます。そのためには、コンテナIDを取得し、以下の8baab990c424に置き換えてコマンドを実行してください。
# docker stop 8baab990c424
このステップでは、NextCloud Talkにアクセスするためのリバースプロキシを設定して、アドレスの末尾にポートを使わずにドメイン名でアクセスできるようにします。そのためには、docker-compose.ymlファイルを以下のテキストで更新する必要があります。
# sudo nano docker-compose.yml
次に、開いたファイルに以下のテキストを追加して保存します。
version: '3'
services:
db:
image: mariadb
command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
restart: always
volumes:
- db:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=654321Ab
- MYSQL_PASSWORD=654321Ab
- MYSQL_DATABASE=ncdb
- MYSQL_USER=aareez
app:
image: nextcloud:apache
restart: always
volumes:
- nextcloud:/var/www/html
environment:
- VIRTUAL_HOST=softpedia.xyz
- LETSENCRYPT_HOST=softpedia.xyz
- LETSENCRYPT_EMAIL=arslan@gmail.com
- MYSQL_HOST=db
- MYSQL_PASSWORD=654321Ab
- MYSQL_DATABASE=ncdb
- MYSQL_USER=aareez
depends_on:
- db
networks:
- proxy-tier
- default
proxy:
build: ./proxy
restart: always
ports:
- 80:80
- 443:443
labels:
com.github.jrcs.letsencrypt_nginx_proxy_companion.nginx_proxy: "true"
volumes:
- certs:/etc/nginx/certs:ro
- vhost.d:/etc/nginx/vhost.d
- html:/usr/share/nginx/html
- /var/run/docker.sock:/tmp/docker.sock:ro
networks:
- proxy-tier
letsencrypt-companion:
image: jrcs/letsencrypt-nginx-proxy-companion
restart: always
volumes:
- certs:/etc/nginx/certs
- vhost.d:/etc/nginx/vhost.d
- html:/usr/share/nginx/html
- /var/run/docker.sock:/var/run/docker.sock:ro
networks:
- proxy-tier
depends_on:
- proxy
volumes:
db:
nextcloud:
certs:
vhost.d:
html:
networks:
proxy-tier:
ここで、proxy という名前のディレクトリを作成します。
# sudo mkdir proxy
作成されたプロキシディレクトリに移動します。
# cd proxy
ここでDockerfileというファイルを作成し、開いたファイルに以下のテキストを貼り付けて保存します。
# sudo nano Dockerfile
FROM jwilder/nginx-proxy:alpine
COPY uploadsize.conf /etc/nginx/conf.d/uploadsize.conf
今すぐuploadsize.confを作成し、開いたファイルに以下のテキストを貼り付けて保存します。
# sudo nano uploadsize.conf
client_max_body_size 10G;
ホームディレクトリに移動します。
# cd ~
これでDocker composeの設定を起動します。
# sudo docker-compose up -d
ステップ5:
ブラウザを開き、http://your_domain.tld:8080 または http://ecs_ip_address:8080 に移動します。ページの読み込み中にエラーが表示された場合は、ファイアウォールの設定セクションに移動し、ポート8080を有効にします。リンクにアクセスすると、以下のような画面が表示されます。
ステップ6:
以下のフォームに必要事項を入力して、管理者アカウントを作成します。
ステップ7:
ストレージとデータベースのドロップダウンをクリックして、データベース情報を入力します。ホスト値を使用してください:db
データを入力したら、「セットアップを完了する」をクリックします。これでNextCloudのダッシュボードにリダイレクトされます。
#Talkをインストール
Talkは、テキストとビデオチャットを行うために提供しています。それはあなたが通話をするのに役立ちます。そのためには、以下の手順に従ってください。
ステップ 1:
右上のプロフィール写真のアイコンに移動すると、ドロップダウンメニューが開きます。下図のように+Appsをクリックします。
ステップ2:
ソーシャル&コミュニケーションセクションに移動します。アプリのリストが表示されます。下図のように開いたリストからトークを選択します。ダウンロードして有効にするオプションをクリックして、インストールを待ちます。
正常にインストールされた後、上部のメニューバーに新しいアイコンが表示されますので、それをクリックしてください。
以下のような画面が表示されます。左側に追加されたユーザーの一覧が表示されます。電話をかけたり、チャットをしたりすることができます。
アリババクラウドは日本に2つのデータセンターを有し、世界で60を超えるアベラビリティーゾーンを有するアジア太平洋地域No.1(2019ガートナー)のクラウドインフラ事業者です。
アリババクラウドの詳細は、こちらからご覧ください。
アリババクラウドジャパン公式ページ