Ubuntu 14.04でownCloudインストールをNextcloudに変換する方法

前書き

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

このチュートリアルでは、既存のownCloudインストールをNextcloudに移行します。 このプロセスでは、コアアプリケーションファイルをNextcloudのファイルと交換し、Nextcloudのビルトインアップデーターに手間をかけます。 プロセスは単純ですが、すべてが順調に進むことを確認するために正しい順序で実行する必要がある多くのことがあります。

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

前提条件

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

  • Ubuntu 14.04で実行されている作業用のownCloud 9インストール。

  • sudoでコマンドを実行できるownCloudサーバー上の非特権ユーザーアカウント。 これは、How to Create a Sudo User on Ubuntuチュートリアルに従って構成できます。

[[step-1 -—- stopping-the-web-server-and-backing-up-data]] ==ステップ1—Webサーバーの停止とデータのバックアップ

新しく設定したインストールで作業している場合でも、迅速なバックアップを行うことをお勧めします。 移動と削除を開始しようとしているので、まず安全に!

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

ssh sammy@your_server_ip

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

sudo service apache2 stop

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

cd /var/www
ls

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

Outputhtml  owncloud

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

sudo tar czfv owncloud.tar.gz owncloud/

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

sudo mv owncloud.tar.gz ~/

[。注意]##

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

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

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

MySQLデータベースhereのバックアップと復元に関する詳細情報を見つけることができます。

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

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

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

sudo apt-get install python-software-properties

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

sudo add-apt-repository ppa:ondrej/php

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

sudo apt-get update

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

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の場合、これを行うコマンドは次のとおりです。

a2dismod php5
a2enmod php7.0

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

Nextcloudをインストールしましょう。

[[step-3 -—- downloading-nextcloud]] ==ステップ3—Nextcloudのダウンロード

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

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

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

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

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

md5sum nextcloud-10.0.2.tar.bz2

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

Outputdc30ee58858d4f6f2373472264f7d147  nextcloud-10.0.2.tar.bz2

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

cat nextcloud-10.0.2.tar.bz2.md5

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

Outputdc30ee58858d4f6f2373472264f7d147  nextcloud-10.0.2.tar.bz2

出力が異なる場合は、Nextcloudを再度ダウンロードします。

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

tar xfv nextcloud-10.0.2.tar.bz2

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

sudo mv nextcloud /var/www/nextcloud

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

[[step-4 -—- migrating-data-and-setting-file-ownership]] ==ステップ4—データの移行とファイルの所有権の設定

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

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

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

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

sudo mv /var/www/owncloud/data /var/www/nextcloud/data
sudo mv /var/www/owncloud/config /var/www/nextcloud/config

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

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

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

[[step-5 -—- upgrading-the-nextcloud-internals]] ==ステップ5—NextcloudInternalsのアップグレード

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

cd /var/www/nextcloud

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

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

[.note]#NOTE:通常、sedは出力を画面にストリーミングしますが、-iフラグはその場でファイルを変更するように指示します。 正規表現の使用方法については、An Introduction To Regular Expressionsを参照してください。 sedの詳細については、The Basics of Using the Sed Stream Editor to Manipulate Text in Linux
#を参照してください。

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

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を使用して内部アップグレードプロセスを開始します。

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

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

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

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

[[step-6 -—- upgrading-nextcloud]] ==ステップ6—Nextcloudのアップグレード

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

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

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

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

アーカイブをダウンロードして検証したら。 解凍して、Webサーバー上のNextcloudの場所に移動します。

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

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

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

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

sudo -u www-data php occ maintenance:mode --on
sudo -u www-data php occ upgrade
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を無効にし、Nextcloud vhostを有効にします。

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

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で変換します。

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

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

sudo a2dissite 000-owncloud.conf

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

sudo a2ensite 000-nextcloud.conf

[.note]#Note: HTTPS経由でownCloudにアクセスする場合は、/etc/apache2/sites-available/owncloud-ssl.conf vhost。
#を使用してこれらの手順を繰り返す必要もあります。

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

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を無効にし、ownCloud vhostを有効にするだけです。

Related