「dekiruyone.com・net・jp」は「yonediy.com」に変更になりました。 もうすでに新しいサイトを表示しています。 今まで通りよろしくお願いします。

レンタルサーバーでマイクラウドストレージを設定する

クラウド流行りのご時世に

私はcloudストレージとしてOnedriveをメインとして使用しています。が保存残量が若干不安です。100GB ¥224/月の追加料金を払えばそれなりの容量が得られるのですが…。
googleDriveも以前使っていましたが微妙に遅いので、今はあんまり出る幕がありません。
私はmixhostのベーシックプランを契約していますのでネット上に250Gの容量が使用可能です。大規模なwebコンテンツを必要としている方は別として、空き容量が結構空いていらっしゃる方は多いのではないでしょうか?
今回その空いた容量を利用して、そちらにマイcloudストレージを導入して使ってみます。

1.cloudストレージ設置は簡単

cloudストレージの設置は簡単です。mixhostでなくてもcpanelから導入できますので他のcpanelを使用しているサーバー屋さんでも可能だと思いますので気軽にチャレンジしてみてください。
今回cloudストレージサーバーとしてよく似た「owncloud」と「nextcloud」の両方をセットアップしてみました。
設置の流れは

1.クラウドサーバー用のドメインを作る
2.「MultiPHPマネージャー」でそのドメインのPHPバージョンを設定する。
3.cloudストレージサーバーソフトをインストールする
4.サーバー導入後最初に出てくる画面からクライアントソフトをダウンロード後自分のコンピュータにインストールして設定する。
5.必要であれば携帯にandroid・iosのクライアントソフトをインストールして設定する。

保存できる容量は契約しているレンタルサーバーの容量や使用方法によって変わりますが250G契約ならそのうち200G程度は使えるのではないでしょうか。
あと両サーバー・クライアントとも日本語化されていますので、安心して?使用できます。
また、mixhostの場合サポート対象外なのでメールで問合せしないように注意してください。

2.owncloudサーバーを設定する

まず最初にレンタルサーバー側にowncloudサーバーをインストールしてみます。
「nextcloud」サーバーとそっくりですが微妙に違ったり、ハマッたりしますのでまとめておきます。

2-1.クラウドサーバー用のドメインを作る

クラウドサーバー用のドメインをサブドメインとして作ります。名前は適当でいいです。この段階でデータベースも作成されます。
しばらく時間をおいて「auto SSL」が有効になるのを待ちます。

クラウドストレージ用のサブドメインを作る

2-2.owncloudはPHPバージョンに注意

owncloudサーバー導入時にはドメインのPHPバージョンに注意しないとインストール時に失敗します。
今後のバージョンアップで7.4以上になると英語ページのdoc説明がありますが現段階(ver10.4.1時)では「php7.2」に設定しましょう。
これで結構ハマりました。7.1X7.3X7.4X何れもだめでした。
cpanelの「MultiPHP マネージャー」からこのドメインのPHPを7.2に設定しておきます。

 7.2以外だとエラーが出る

ドメインのPHPは今のところ7.2を選ぶ

2-3.owncloudストレージサーバーソフトをインストールする

cpanelの一番下あたりにある「Softaculous Apps Installer」->「カテゴリー」->「ファイル管理」とクリックしていくと一番上に「owncloud」が出てきますのでクリックしてインストールしていきます。クラウドストレージデータの保存先はwordpressと違い「public_html/」には保存されず、その上の「hom/アカウント/」に保存されるしきたりです。データディレクトリ欄内で適当なディレクトリを記述しておきます。空欄の場合インストーラーが決めてくれます。
ここからは見覚えのあるwordpressのインストール画面と同じです。

cPanelからファイル管理
owncloudをクリック
先ほど作ったドメインにインストール
softaculousインストール画面

2-4.インストール後メールが届く

クラウドサーバーインストールが完了するとメールが届きます。これもwordpressインストールの時と同じです。
管理者URLにアクセスすると最初にクラウドクライアントダウンロードの画面が出ます。私の場合まずwindowsで使いますので「deskTop app」->「owncloud desktop client for windows」をクリックしてDLします。
携帯端末用アプリは直に携帯からセットアップする事も出来ます。私はandroidなのでこの画面のgoogleplayから対象端末にリモートインストールしておきました。

クライアントソフトダウンロード画面
各種OS向けクライアント選択画面

2-5.クライアントを起動

クライアントをインストールして起動するとサーバーのURLとIDとpassを求められますから、サーバーインストール時に設定したIDとpassを入れます。
その後ローカルフォルダーを指定すれば、クラウドと同期するフォルダーになります。このあたりはonedriveやgdriveと同じです。

cloudのURLを入力
IDとpassを入力
ローカルリンクフォルダ指定
同期が始まる

2-6.ブラウザから見る

設定が終わってブラウザからクラウドURL(メールで送られてきたURL)にIDとpass入力してログインするとブラウザ経由でアクセスできるようになります。
これもはonedriveやgdriveと同じです。

IDとpassを入力
web上のファイルが表示される
同期するローカルフォルダを作成
同期フォルダ設定

2-7.スマホクライアントでは

他社クラウドストレージと同じようにスマホで写真を撮ると、自動でアップロードする設定もちゃんとあります。
アプリを立ち上げて、左上の「三」をクリック->「自動アップロード」で写真と動画、スクリーンショット他がそれぞれ選べるようになっています。
全くストレスなくアップロードされます。

写真を撮ると同期
静止画・動画・スクショが指定できる

2-8.owncloudを使ってみて

owncloudを使ってみて感じた事は
簡単にクラウドストレージが作れた。
PHPバージョンで苦労した。
何故かサーバー側で負荷が増大する事がありました。アップロードが終了しても長時間その状態が続いていました。
(たまたま大量のファイルをアップしたのが原因かどうかわかりませんがmixhostのcpanel表示が赤色表示になってしまいました)

3.nextcloudサーバーを設定する

次はnextcloudサーバーを設定してみます。
もともと開発がowncloudから独立したのがnextcloudなので見た目もよく似ています。
owncloudの設定と同じ所は端折って説明します。
設置の流れは

1.クラウドサーバー用のドメインを作ります。(owncloudの設定と同じ)
2.「MultiPHPマネージャー」でPHPバージョンを7.4に設定する。
3.cloudストレージサーバーソフトをインストールする
4.サーバー導入後最初に出てくる画面からクライアントソフトをダウンロード後自分のコンピュータにインストールして設定する。(owncloudの設定と同じ)
5.必要であれば携帯にandroid・iosのクライアントソフトをインストールして設定する。(owncloudの設定と同じ)

nextcloudドメインのPHPは7.4を選ぶ

3-1.nextcloudストレージサーバーソフトをインストールする

cpanelの一番下あたりにある「Softaculous Apps Installer」->「カテゴリー」->「ファイル管理」とクリックしていくと上から3番目に「nextcloud」が出てきますのでクリックしてインストールしていきます。
ハマリどころが1箇所あります。Softaculous Apps Installerの

パスワードが複雑すぎると。.htaccessがどうのこうのと赤色の失敗ダイアログが表示されて、何故かインストールに失敗します。

ここは簡単なpassに設定してインストールを続けます。
後ほどクライアントソフトからパスワード変更するときは、複雑なパスワードが通るんですが不思議です。

メニュー2つ下のnextcloudをクリック
複雑なpassはだめ

3-2.nextcloudクライアント

nextcloudサーバーインストールが終了するとクライアントダウンロードの案内が出ますのでダウンロードして実行します。

nextcloudサーバーインストール後
クライアントダウンロード
nextcloudクライアントインストール
エクスプローラ統合にチェック
クライアントからログイン
ログイン
サーバーに接続完了
owncloudそっくり
スマホ設定もowncloudと同じ
自動アップロード設定

3-3.カスタマイズが楽

nextcloudはクライアントから色々なカスタマイズが楽に行えます。
ブラウザ右上の「設定」をクリックして
左側ペインの「個人情報」からプロフィール画像が変更できます。
左側ペインの「テーマ」から 色、ロゴ、ログイン画像などが変更できます。

ログイン画面
ブラウザ右上設定からカスタマイズ
ダークモードが選べる
テーマ変更も簡単

※まとめ

今回owncloudとnextcloudの両方をインストールして使ってみた感想を書きます。
何れも大規模事業所向けのクラウドも運営している企業です。
なのであくまでもフリーバージョンのサーバー+クライアントでの比較感想です。

a.プログラムが最適化されているためかソース総量が95MBと小さい。
b.リリース日が(17-04-2020) の割には対応PHPが古い。(次期verでは対応予定との事)
c.cpanelの原因不明のメモリー逼迫表示が怖い。
d.windowsクライアントをアンインストールしてもエクスプローラーの左側ペインの「owncloud」表示が消えない。
(regeditでowncloudキーを検索して項目削除したら消えました)

a.機能が豊富なためか「owncloud」に比べてプログラムソースが3倍の276MBと大きい。
b.PHPバージョンはすでに7.4に対応している。
c.設定項目・アプリへの対応等の点で優れているのでこれだけで本格的な多機能クラウドサーバーが構築できる。
d.cloudflare経由+firefoxでアクセスするとログイン画面が青一色のまま遷移しない。
(ブラウザがms-edgeでは不思議とアクセスできる。その後cloudflareやめたら問題なしでした (;^_^A )

どちらを選ぶかは、新しさと機能の豊富さの点で nextcloud でしょうか!

後日 owncloudの方は不要なのでアンインストールしてしまいました。

その後クライアントの「設定」->「概要」画面から警告が出ている事に気が付きました。

セキュリティ&セットアップ警告
サーバーのセキュリティとパフォーマンスにとって重要なことは、すべてが正確に設定されていることです。あなたの助けとなるよう、Nextcloudでは一部の自動チェックを行っています。詳細な情報は、リンク先のドキュメントを参照してください。
セットアップに関して警告がいくつかあります。
PHPのシステム環境変数が正しく設定されていないようです。getenv(“PATH”) コマンドでテストして何も値を返さないことを確認してください。 PHP設定の注意事項と php-fpmを利用する場合のサーバー向け設定をインストールドキュメント↗で確認してください。
MySQLをデータベースとして使用していますが、4バイト文字をサポートしていません。たとえば、ファイル名やコメントの問題なしに(絵文字のような)4バイト文字を処理できるようにするには、MySQLで4バイトサポートを有効にすることをお勧めします。 詳細についてはこれに関するドキュメントページを読んでください。
“Strict-Transport-Security” HTTPヘッダが最低でも “15552000” 秒に設定されていません。セキュリティを強化するには、セキュリティTips ↗で解説しているHSTSを有効にすることを推奨します。
Webサーバーは適切にホスト名 “/.well-known/caldav” が引けるように設定されていません。より詳しい情報については、ドキュメントを参照ください。
Webサーバーは適切にホスト名 “/.well-known/carddav” が引けるように設定されていません。より詳しい情報については、ドキュメントを参照ください。
メモリキャッシュが設定されていません。可能であれば、パフォーマンスを向上するため、memcacheを設定してください。より詳しい情報はドキュメントで参照できます。
PHP OPcacheが適切に設定されていません。よりパフォーマンスを向上させるには、php.iniで次の設定を推奨します:
opcache.enable=1
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.memory_consumption=128
opcache.save_comments=1
opcache.revalidate_freq=1
このインスタンスには推奨されるPHPモジュールがいくつかありません。 パフォーマンスの向上と互換性の向上のために、それらをインストールすることを強くお勧めします。
imagick

サーバー素人の私には何のことやらチンプンカンプンですわぁ (;^_^A
今後一つ一つ調べて警告なしにしたいと思っていますが、通常のクラウドストレージとしての使用には全く問題なしなのでこのまま試運転していきたいと思います。
契約中のレンタルサーバーに空き容量がある方はゼロ円で出来ますので一度導入してみてはどうでしょう。

その後 NEXTcloudはNextcloud Hub 5 (27.0.2)とバージョンアップして以前のバージョンに比べて、機能面で色々更新されています。
インストール直後は相変わらず

セットアップに関するいくつかのエラーがあります。
CLI から cronジョブを実行することができませんでした。次の技術的なエラーが発生しています:
データディレクトリが無効です データディレクトリの直下に “.ocdata” ファイルがあるのを確認してください。
一部のファイルは整合性チェックに合格していません。この問題を解決する方法の詳細については、ドキュメント↗をご覧ください。 (無効なファイルのリスト… / 再スキャン…)
PHPのメモリ制限が推奨値の512MB以下です。
リバースプロキシヘッダーの構成が正しくないか、信頼できるプロキシからNextcloudにアクセスしています。そうでない場合、これはセキュリティに問題があり、攻撃者がNextcloudを表示できるようにIPアドレスを偽装することができます。詳細については、ドキュメント↗をご覧ください。
データベースは取引ファイルを見ることに使われています。パフォーマンスをあげるには、可能であればメモリーのキャッシュを設定してください。詳しくは こちらの文書↗をご覧ください。
ご使用のシステムには、デフォルトの電話地域が設定されていません。これは、国コードなしでプロファイル設定の電話番号を検証するために必要です。国コードなしで番号を許可するには、地域のそれぞれの ISO3166-1コード↗とともに “default_phone_region” を設定ファイルに追加してください。
メモリーキャッシュが構成されていません。パフォーマンスを向上させるために、可能な場合はmemcacheを構成してください。詳細については、ドキュメント↗をご覧ください。
データベースにいくつかのインデックスがありません。 大きなテーブルにインデックスを追加すると、自動的に追加されないまでに時間がかかる可能性があるためです。 “occ db:add-missing-indices”を実行することによって、インスタンスが実行し続けている間にそれらの欠けているインデックスを手動で追加することができます。 インデックスが追加されると、それらのテーブルへのクエリは通常はるかに速くなります。
テーブル “oc_systemtag_object_mapping”のインデックス “systag_by_tagid”が見つかりません。
テーブル “text_steps”のインデックス “textstep_session”が見つかりません。
このインスタンスには推奨されるPHPモジュールがいくつかありません。 パフォーマンスの向上と互換性の向上のために、それらをインストールすることを強くお勧めします。
sysvsem
PHP モジュール “gmp” および “bcmath” が有効になっていない。WebAuthnパスワードレス認証を利用する場合は、これらのモジュールが必要です。
MySQLのバージョン “5.7.36-log” が使用されています。Nextcloud 21以降ではこのバージョンのサポートは終了し、MySQL 8.0またはMariaDB 10.2以上が必要となります。

と面倒なエラーが出ます。これらのエラーをつぶすのに、ひと汗かきます。

OndriveやGoogleDriveの便利さを痛感します。

実はロリポップでwordpressを導入して運用していましたがDNS管理やその他諸々面倒になりましたので、wordpressを削除して400G容量は全てNEXTcloudに充てています。サーバーphpバージョンは8.2で動作しています。