前書き
最近、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
username
、password
、および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
コマンドを再度使用しますが、今回は、exがfileを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を有効にするだけです。