開発者ドキュメント

Ubuntu14.04でownCloudインストールをNextcloudに変換する方法

序章

最近、 ownCloud のコア開発チームの大部分が、Nextcloudという新しいプロジェクトを開始するために去りました。 ownCloudは引き続き開発されますが、新しいプロジェクトが提供するものを確認することをお勧めします。 NextcloudとownCloudは共通のコードベースを共有しています。つまり、既存のownCloudインストールをNextcloudに移行するのは簡単な作業です。

このチュートリアルでは、既存のownCloudインストールをNextcloudに移行します。 このプロセスには、コアアプリケーションファイルをNextcloudのファイルと交換し、Nextcloudの組み込みアップデーターに手間のかかる作業を任せることが含まれます。 プロセスは単純ですが、すべてがスムーズに進むように、正しい順序で実行する必要のあることがいくつかあります。

注:ownCloudとNextcloudのインストールを更新できるのは一度に1つのメジャーバージョン番号のみです。 現在ownCloud9を使用している場合は、最初にNextcloud 10に移行してから、Nextcloud11にアップグレードする必要があります。 このチュートリアルでは、このプロセスについて説明します。

前提条件

ownCloudインストールをNextcloudに移行するには、次のものが必要です。

ステップ1—Webサーバーの停止とデータのバックアップ

新しく構成したインストールで作業している場合でも、迅速なバックアップを実行することをお勧めします。 あなたは物事を動かしたり削除したりし始めようとしているので、安全を第一に!

まだ接続していない場合は、ownCloudを実行しているサーバーにログインします。

  1. ssh sammy@your_server_ip

バックアップと移行を実行している間は何も変更されないようにすることが重要です。そのため、ユーザーがownCloudにアクセスできないように、Webサーバーをシャットダウンするのが最も簡単な方法です。 次のコマンドを実行します。

  1. sudo service apache2 stop

Webサーバーが停止したので、サーバーがownCloudを格納しているディレクトリに移動します。 Ubuntu 14.04でownCloudのワンクリックインストールを使用している場合、インストールは/var/www/ディレクトリ内にあります。 次のコマンドを実行してこのディレクトリに切り替え、owncloud/が含まれていることを確認します。

  1. cd /var/www
  2. ls

owncloudフォルダーが表示されます。

Output
html owncloud

次に、tarコマンドを使用してバックアップアーカイブを作成します。画面への出力をerboseします。 新しいアーカイブはowncloud.tar.gzと呼ばれ、owncloud/ディレクトリ全体が含まれます。 次のコマンドを実行します。

  1. sudo tar czfv owncloud.tar.gz owncloud/

次に、アーカイブをホームディレクトリに移動して、安全に保管します。

  1. sudo mv owncloud.tar.gz ~/

:ownCloudファイルはバックアップされますが、内部データストレージオプションの代わりにMySQLまたはその他のデータベースを使用している場合は、データベースのバックアップも作成する必要があります。 MySQLの場合、次のコマンドを実行してバックアップを作成します。

  1. mysqldump -u username -p dbname > ~/owncloud_backup.sql

usernamepassword、およびdbnameの値は、/var/www/owncloud/config/config.phpにある構成ファイルにあります。

MySQLデータベースのバックアップと復元の詳細についてはここを参照してください。

Nextcloudをインストールする前に、Ubuntu14.04サーバーに固有のもう1つのステップがあります。

ステップ2-PHPのアップグレード

Ubuntu 14.04のワンクリックインストールから移行する場合は、PHPをアップグレードして、10.0.2より新しいバージョンのNextcloudを使用できるようにする必要があります。 標準のUbuntu14.04リポジトリにはPHP5.5のみが含まれていますが、NextCloud11以降ではPHP5.6が必要です。 幸い、UbuntuはPPAと呼ばれるサードパーティのリポジトリをサポートしています。 以前にPPAをインストールしたことがない場合は、次のコマンドを実行して、python-software-propertiesというパッケージをインストールします。

  1. sudo apt-get install python-software-properties

次に、更新されたバージョンのPHPを含むPPAを追加します。

  1. sudo add-apt-repository ppa:ondrej/php

次に、PPAに含まれる既知のパッケージのリストを更新するようにパッケージマネージャーに指示します。

  1. sudo apt-get update

これで、PHP7とNextcloudに必要なすべてのモジュールをインストールできます。

  1. sudo apt-get install php7.0 php7.0-sqlite php7.0-mysql php7.0-pgsql php7.0-zip php7.0-gd php7.0-mb php7.0-curl php7.0-xml php7.0-apc

最後に、Webサーバーが使用するPHPモジュールを切り替えます。 Apacheの場合、これを行うためのコマンドは次のとおりです。

  1. a2dismod php5
  2. a2enmod php7.0

注:サーバーをownCloud以外の目的で使用している場合は、そのモジュールを無効にする前に、WebサーバーがPHP5.5を必要としないことを確認する必要があります。

それでは、Nextcloudをインストールしましょう。

ステップ3—Nextcloudをダウンロードする

Nextcloudリリースサイトには、さまざまな形式のすべてのNextcloudリリースのリストがあります。 現在のownCloudバージョンと同じ、または1つ後のメジャーバージョンであるリリースの最新の.tar.gzファイルを検索します。 たとえば、ownCloud 9ワンクリックインストールから移行する場合は、ファイルnextcloud-10.0.2.tar.bz2を探します。

ファイルを見つけたら、パソコンにダウンロードしないでください。 代わりに、ファイル名を右クリックしてリンクアドレスをコピーし、ファイルをサーバーにダウンロードできるようにします。

2つのファイルをダウンロードします。 最初はあなたがウェブサイトで見つけたNextcloudパッケージになります。 もう1つのファイルは、「md5チェックサム」と呼ばれる検証ファイルになります。 md5ファイルのパスはパッケージとまったく同じですが、末尾に.md5という追加の拡張子が追加されています。 次のコマンドを実行してホームディレクトリに移動し、2つのファイルをダウンロードします。

  1. cd ~
  2. wget https://download.nextcloud.com/server/releases/nextcloud-10.0.2.tar.bz2
  3. wget https://download.nextcloud.com/server/releases/nextcloud-10.0.2.tar.bz2.md5

md5sumコマンドを実行してチェックサムを生成し、パッケージファイルの整合性を確認します。

  1. md5sum nextcloud-10.0.2.tar.bz2

次のような出力が表示されます。

Output
dc30ee58858d4f6f2373472264f7d147 nextcloud-10.0.2.tar.bz2

次に、ダウンロードした.md5ファイルの内容を表示します。

  1. cat nextcloud-10.0.2.tar.bz2.md5

このコマンドの出力は、前のコマンドの出力と同じである必要があります。

Output
dc30ee58858d4f6f2373472264f7d147 nextcloud-10.0.2.tar.bz2

出力が異なる場合は、Nextcloudを再度ダウンロードしてください。

ファイルを解凍するには、tarコマンドを再度使用しますが、今回は、 fileをverbose出力で抽出します。 次のコマンドを実行して、アーカイブを抽出します。

  1. tar xfv nextcloud-10.0.2.tar.bz2

最後に、新しく抽出したnextcloudフォルダーを/var/wwwフォルダーにコピーします。

  1. sudo mv nextcloud /var/www/nextcloud

これで、ownCloudからNextcloudへのファイルの移行を開始できます。

ステップ4—データの移行とファイルの所有権の設定

既存のownCloudインストールには、data/config/の2つのディレクトリを保持する必要があります。 これらを元の場所からnextcoudディレクトリに移動しますが、最初に、Nextcloutに付属のデフォルトバージョンを削除する必要があります。

まず、コマンドを実行して、デフォルトのディレクトリが存在する場合は、nextcloudディレクトリから削除します。

  1. sudo rm -rf /var/www/nextcloud/data /var/www/nextcloud/config

次に、古いディレクトリをowncloudディレクトリから移動します。

  1. sudo mv /var/www/owncloud/data /var/www/nextcloud/data
  2. sudo mv /var/www/owncloud/config /var/www/nextcloud/config

sudoコマンドを使用してファイルを移動すると、ファイルはすべてrootユーザーによって所有されます。 ただし、Nextcloudは常にwww-dataユーザーによって実行されます。 つまり、先に進む前に、/var/www/nextcloudフォルダーとその内容の所有権を変更する必要があります。 これを行うには、-R引数を指定してchownコマンドを実行し、すべてのファイル所有権をwww-dataユーザーに再帰的に変更します。

  1. sudo chown -R www-data:www-data /var/www/nextcloud/

ファイルが配置されたので、Webサーバーにファイルへのアクセス方法を指示する必要があります。

ステップ5—Nextcloud内部のアップグレード

すべてのファイルを配置したら、内部アップグレードプロセスを開始できます。 NextcloudとownCloudは、occと呼ばれるインストールを管理およびアップグレードするためのツールを提供します。 /var/www/nextcloud/ディレクトリに移動します。

  1. cd /var/www/nextcloud

occを使用する前に、/var/www/nextcloud/config/config.phpファイルを更新してデータディレクトリの新しい場所を反映する必要があります。 具体的には、'datadirectory' => '/var/www/owncloud/data',の行を'datadirectory' => '/var/www/nextcloud/data',に変更する必要があります。 sedを使用して、次のように簡単に変更できます。

  1. sudo sed -i "s/owncloud\/data/nextcloud\/data/g" config/config.php

注:通常、sedは出力を画面にストリーミングしますが、-iフラグはファイルを所定の位置に変更するように指示します。 正規表現の使用方法については、正規表現の概要を参照してください。 sedの詳細については、LinuxでSedStreamEditorを使用してテキストを操作するための基本を参照してください。

次に、occを使用して、Nextcloudをメンテナンスモードにします。 これによりファイルがロックダウンされるため、アプリケーションのアップグレード中に外部から変更を加えることはできません。 次のコマンドを実行して、メンテナンスモードをオンにします。

  1. sudo -u www-data php occ maintenance:mode --on

これはsudoを使用して、www-dataユーザーとしてコマンドを実行することに注意してください。

この出力が表示されるので、メンテナンスモードがオンになっていることを確認できます。

[secondary_output]
Nextcloud or one of the apps require upgrade - only a limited number of commands are available
You may use your browser or the occ upgrade command to do the upgrade
Maintenance mode enabled

次に、occを使用して、内部アップグレードプロセスを開始します。

  1. sudo -u www-data php occ upgrade

このコマンドは、すべてのownCloudデータをNextcloudに移行するため、多くの出力を表示しますが、最終的には次のメッセージが表示されます。

Output
... Starting code integrity check... Finished code integrity check Update successful Maintenance mode is kept active Reset log level

アップグレードで問題が発生した場合、出力には、問題の原因と問題の解決方法に関するフィードバックが表示されます。 アップグレードがスムーズに進み、メンテナンスモードをオフにしたと仮定します。

  1. sudo -u www-data php occ maintenance:mode --off

これでownCloudのインストールがNextcloudに移行されましたが、まだ古くなっている可能性があります。 ownCloud 9を移行した場合は、Nextcloud 10にのみ移行しますが、まだ新しいバージョンがあるので、アップグレードしましょう。

ステップ6—Nextcloudのアップグレード

Nextcloudを新しいメジャーバージョンにアップグレードするには、このチュートリアルのステップ3から5で使用したのと同じ手順を使用します。 まず、次のコマンドを使用して、現在インストールされているNextcloudフォルダーを邪魔にならない場所に移動します。

  1. sudo mv /var/www/nextcloud /var/www/nextcloud.old

次に、 Nextcloudリリースサイトから.tar.gzファイルを見つけてダウンロードし、手順3と同じようにMD5チェックサムを確認します。

  1. wget https://download.nextcloud.com/server/releases/nextcloud-11.0.0.tar.bz2
  2. wget https://download.nextcloud.com/server/releases/nextcloud-11.0.0.tar.bz2.md5
  3. md5sum nextcloud-11.0.0.tar.bz2
  4. cat nextcloud-11.0.0.tar.bz2.md5

アーカイブをダウンロードして確認したら。 それを開梱し、Webサーバー上のNextcloudの場所に移動します。

  1. tar xfv nextcloud-11.0.0.tar.bz2
  2. mv nextcloud /var/www/nextcloud

次に、手順4で行ったように、構成ファイルとデータファイルを古いインストールから新しいインストールに移動します。

  1. rm -rf /var/www/nextcloud/config /var/www/nextcloud/data
  2. mv /var/www/nextcloud.old/config /var/www/nextcloud
  3. mv /var/www/nextcloud.old/data /var/www/nextcloud
  4. sudo chown -R www-data:www-data /var/www/nextcloud/

最後に、occを使用してアップグレードを実行します。

  1. sudo -u www-data php occ maintenance:mode --on
  2. sudo -u www-data php occ upgrade
  3. sudo -u www-data php occ maintenance:mode --off

アップグレードする必要があるNextcloudのメジャーバージョンごとに、これらの手順を繰り返します。

すべてが最新になったので、Nextcloudにトラフィックを送信するようにWebサーバーを構成できます。

ステップ7-Webサーバーのトラフィックフローを変更する

Apache Webサーバーは、仮想ホストまたはvhostを使用してさまざまなディレクトリに転送します。 フォルダ/etc/apache2/sites-available/には、サーバー用に構成されている各仮想ホストの説明が含まれています。 これらのvhostは、関連するファイルを/etc/apache2/sites-enabled/フォルダーにリンクすることで有効になります。 ファイル/etc/apache2/sites-available/000-owncloud.confは、/var/www/owcloudを読み取るようにサーバーを構成し、その構成は/etc/apache2/sites-enabled/000-owncloud.confにあるリンクによって有効になります。

Nextcloudインストールを使用するようにサーバーを変換するには、ownCloud vhost構成のコピーを作成し、Nextcloudを指すように編集し、ownCloud vhostを無効にして、Nextcloudvhostを有効にします。

まず、ownCloud構成ファイルをコピーします。

  1. sudo cp /etc/apache2/sites-available/000-owncloud.conf /etc/apache2/sites-available/000-nextcloud.conf

次に、構成ファイル内のowncloudのすべてのインスタンスをnextcloudに置き換えます。 これを行うには、テキストエディタで/etc/apache2/sites-available/000-nextcloud.confを開いて自分で変更するか、正規表現とsedコマンドを使用します。

次のコマンドを実行して、vhost構成ファイルの内容をsedで変換します。

  1. sudo sed -i "s/owncloud/nextcloud/g" /etc/apache2/sites-available/000-nextcloud.conf

次に、リンク/etc/apache2/sites-enabled/000-owncloud.confを削除して、ownCloud仮想ホストを無効にします。 Ubuntuには、サイトを無効にするためのa2dissiteコマンドが用意されています。 次のコマンドを実行します。

  1. sudo a2dissite 000-owncloud.conf

最後に、Nextcloud構成ファイルへのシンボリックリンクを作成して、Nextcloudvhostを有効にします。 a2ensiteコマンドを使用して、リンクを作成します。

  1. sudo a2ensite 000-nextcloud.conf

注: HTTPS経由でownCloudにアクセスする場合は、/etc/apache2/sites-available/owncloud-ssl.conf仮想ホストでもこれらの手順を繰り返す必要があります。

WebサーバーがNextcloudの場所を認識したので、次のコマンドでバックアップを開始できます。

  1. sudo service apache2 start

この時点で、すべてが新しいNextcloudインストールで稼働しているはずです。 Webブラウザーを開き、古いownCloudサーバーの場所に移動すると、Nextcloudログイン画面が表示されます。 古いユーザー名とパスワードはすべて、移行前と同じように機能します。 カレンダーアプリや連絡先アプリなど、一部のアプリを再度有効にする必要がある場合があるため、adminユーザーとしてログインします。

結論

このチュートリアルでは、以前のownCloudインストールをバックアップし、Nextcloudに移行し、ownCloudを無効にしました。 これで、ownCloudの場合と同じように、Webインターフェイスを使用してNextcloudにログインできます。

サーバーがNextcloudに移行されたので、使用している同期クライアントを更新します。 ownCloudと同様に、Nextcloudは、デスクトップおよびモバイルデバイス用の多数の同期クライアントを提供します。

ownCloudに戻すことにした場合は、手順1で作成したバックアップとバックアップした外部データベースからdata/フォルダーとconfig/フォルダーを復元できます。 data/およびconfig/フォルダーを/var/www/nextcloudからownCloudにコピーして戻そうとしないでください。 バックアップが復元されたら、手順4と同じ手順を使用して、Nextcloud vhostを無効にし、ownCloudvhostを有効にするだけです。

モバイルバージョンを終了