あっさりownCloudからNextcloudへと鞍替えした話 -さくらのサーバー-

上大岡的PC生活

(↓などと書きましたが、実際ののところ同期のエラー頻発でうまく動きませんでした。騙し騙しながらながら使えないことはないですが、Nextcloudの最新版になってからはエラーが頻発し、やはりさくらのスタンダードプランでは不可能でした。あくまでインストール方法のマニュアルとして残しておきますm(__)m)

ここまでのあらすじ
会社で借りているサーバー(さくらのスタンダード)を使ってファイルストレージ的な利用ができないかと調べた管理人はownCloudなるオープンソースのソフトウェアを知り、サーバーへのインストールに成功しました。

実験的な運用がうまくいった所で、スタッフ全員のPCにローカルクライアントソフトをインストールしたのが先月のことでした。

ところが調子づいてowncloudのアップデートをした所、「Php.iniがありません」的なエラーメッセージとともに、全く使えないダメストレージに豹変してしまったのです。

色々調べてみても解決策が見つからないか、素人には理解できない解説ばかりでした。
「phpなんか怖くて触れないじゃん」的な試行錯誤の中で途方に暮れていたところ「ownCloudの創設者であるFrank Karlitscheck氏が、社内の多くの技術者とともに会社を飛び出で、新たにNextCloud社を創設した」という記事にぶちあたったのです。

彼はあくまでownCloudをオープンソースのソフトウェアとして育てたかったようで、そこで投資家たちや社内での意見の対立があったようです。

なんだかよくわからないけど急に使えなくなるようなソフト...仮にそれが僕のサーバーに対する知識のなさとか、そもそもさくらのそのプランではphpは弄れないのではないかとかそういう事は抜きにして...今まで動いていたものが動かなくなるというのは「ファイルストレージ」という役割を持つソフトウェアでは信頼できんと思いました。

それに使い始めてすぐにダメになった「ownCloud」にはそんなに固執していないから、あっさりNextcloudを試してみることにしたのです。

実はownCloudではデータベースにSQLiteを使っていたのだけど、この際だからMySQLの設定からやってみることにしました。
以下は備忘録的なメモです。

I:さくらのコントロールパネルからログインしてクラウド用に新規MySQLデータベースを構築。
「データベースの新規作成」画面はここでは省略するけど....
1:データベースのバージョン:最新のもの(記事を書いた時点では5.7)を選んだ、
2:データベースユーザー名(初期アカウント名):あらかじめ決まっているのでここは触れない。
3:データベース名:任意
4:接続用パスワード:忘れずに控えてね
5:データベース文字コード:最新のもの(記事を書いた時点では「UTF-8(UTF8mb4)」)

....と選んで「同意する」にチェックを入れて「データベースを作成する」ボタンを押します。

さすればこの画面となりました。

このA~Dは絶対に忘れないように控えておきましょう。

II:Nextcloudをダウンロードしてサーバー上にUP。
OwnCloudがそうだったようにNextcloudもWEBインストーラーを使ってサーバー上でインストールが可能です。ただ、この記事を書いた時点では公式サイトのダウンロード場所がわかりにくい。以下説明します。

1:トップページ右上の「Download」をクリック。

2:「Get Nextcloud Server」と書かれた直下の「Download」をクリック

3:さすればウィンドウが立ち上がる。下の方にある「Web Installer」をクリック。

なお、思わずクリックしたくなる「Download Nextcloud」はパッケージ版のファイルなのでこちらをサーバにUPして使用してもいいのですが、やたらと転送に時間がかかるのと、僕の環境では転送時のパーミッションの設定が上手くゆかなかったのかインストールエラーが出ました。このあたりは環境にもよるでしょうけど「さくらのスタンダード」環境ではWEBインストーラーの方がうまくゆきました。

4:さらにこういう画面になります。
英語で「ここを右クリックしてうんぬん」と書かれている「Here」をクリックすると「setup-nextcloud.php」というファイルがダウンロードされます。
これがWEBインストーラーファイル。

III:サーバーにUP
1:この「setup-nextcloud.php」ファイルをFTTPソフト(僕は安定のFileZilla FTP Clientを使っている)でサーバーにアップ。別にドメイン直下でもいいと思います。
なお、Owncloudと違うの点ですが、このインストーラーファイル、インストールに成功すると消えてしまうんです。

IV:Nextcloudのインストール
1:ブラウザから先ほどアップロードしたファイルにアクセス。
もし自分のドメイン直下にアップロードしたのであれば、「http://自分のドメイン/setup-nextcloud.php」にアクセス。あっSSL環境の人は「https」にして下さいね。

2:するとこういう画面になります。

実はFirefox環境でOwncloudでセットアップphpファイルを見に行くとレイアウトが崩れてしまうという現象が起きていたのですが、Nextcloudはそういうことはありませんでした。迷わず「NEXT」ボタンをクリック。

3:どのディレクトリにNextクラウドをインストールするかを尋ねてきます。

デフォルトではサーバー直下に「Nexcloud」フォルダが生成され、そこにシステムがインストールされます。このあたりは「Owncloud」と全く変わりありません。
フォルダの名前を変更したい人は、ここで任意の名前を指定。例えば「cloud_system」「cloud_script」とか....そして「Next」をクリック。
データを格納するフォルダを別にする方法は次のステップで行います。

4:インストール成功
何も画面が変わらないのでヒヤヒヤするのですが、1分~2分程度待っていると「Success」と言ってきます。

ここでまずはホッとしました。というのも「ownCloud」の場合は、再インストールしても「Php.iniファイルが見つかりません」とか何とか言ってきて終わりでしたから。
さらに「NEXT」で進んで下さい。

V:Nextcloudの設定
管理者アカウントとパスワードを設定する画面です。

ここは任意のアカウントとパスを設定して下さい。ただしアカウント名はどうも修正が後できかないようですので、注意が必要です。
「パフォーマンス警告」というのが出ていますね。このままだとSQLiteを使用しての運用になってしまいます。警告にあるようにPC上にクライアントソフトをインストールして同期させる場合はSQLiteだと非力だということが書かれています。
先程設定したようなMySQLを使っての運用を考えている場合は、小さな文字で「ストレージとデータベース」と書かれた部分をクリックしてください。

MySQL設定画面です。
まず中ほどにある「データベースを設定して下さい」で「MySQL/MARIADB」をクリックすると下記のような画面になります。

いよいよ最終段階です。この画面で設定を完了します。
1:管理者アカウント:任意ですがお忘れなく
2:パスワード:お忘れなく
3:データフォルダ:デフォルトでは「Nextcloud→Data」という位置関係になっていますが、例えばシステムフォルダと別の場所へ同期させるデータフォルダを作りたい場合は、ここで設定して下さい。「http://自分のドメイン/nextcloud」というフォルダにシステムを作り、それと別に「http://自分のドメイン/data」というフォルダでデータのやりとりをしたい場合はここの記述を変えて下さい。URLを入れるのではなくパスで入れて下さいね。
4:データベースのユーザー名:さくらの設定画面の「B」
5:データベースのパスワード:さくらの設定画面の「C」
6:データベースのパスワード:さくらの設定画面の「D」
7:localhost:さくらの設定画面の「A」、ポート番号は不要です。

以上を入力した上で完了のボタン(だったかな?)をクリックします。
待つこと1~2分。一番緊張する時間ですね。

VI:インストール成功!

ownCloudに弄ばれた自分にとっては、至福の瞬間でした。

VII:クライアントソフトの場所
公式サイト「Get Started!」のページの「Sync your data」直下にある「Desktop Cliants」がそれになります。PC上にインストールすれば「ownCloud」同様に同期が可能です。

というわけで、まだ僕自身も細かい検証ができていない状態ではありますが、特に警告も出ずに動作しています。
今後、Nextcloudがどうなってゆくのかは未知数ですが、とりあえずはFrank Karlitscheck氏について行ってみようというのが今の自分の考えです。