Nextcloudインストール後、いくつかエラーが出るので修正する。自己責任でやる項目。
↑の続きです
セキュリティ警告エラーの修正【難易度:高】
赤文字と黄文字だけ早急に対応。
いくつかサーバーの仕様で修正できない。MySQL5.7がどうこうはロリポ側の問題なので自分ではどうしようもないし。
.htaccessとphpを触るので、自己責任。何をやろうとしているのか、わからないのであれば触らなくともいい。
.htaccessもphpもタグをコピペしたら必ず改行する。最終行は何もない状態にする。
「セキュリティ&セットアップ警告」をその都度リロードして警告が消えたか確認。
.htaccessは、ルート直下とnextcloud直下と2個あるから気をつけて。
PHPのアップロード容量を変更する
PHPのメモリ制限が推奨値の512MB以下です
ロリポップはアップロードできる容量1ファイル10MB。
ロリポップ側が制限をかけているので、それを取っ払う。少なくとも、この項目はやらないとクラウドサーバーとして活用できない。
WordPressなら十分だけど、クリスタのデータが格納できないと創作活動利用に意味がない。
容量の変更はphp.iniファイルだが、ロリポップのベーシックではphp.iniがさわれない。ロリポ、そういう所あるよな。
しかたがないのでNextcloud直下の.htaccessに記載する。
※数字は自分が扱う容量で変える。3Dデータ活用や、100Pの再録本だと足らないかも。
php_value memory_limit 4096M
php_value post_max_size 2048M
php_value upload_max_filesize 1024M
php_value max_execution_time 600
数値はmemory > max_size > filesizeになる。データは一旦メモリ上に保持されるので、max_sizeよりも大きい必要がある。
post_max_size:1回のアップロードファイルすべての合計
upload_max_filesize:1ファイルあたりの最大アップロードサイズ
max_execution_time:最大実行時間(単位は秒)
600秒は10分。PCがスリープする時間と同じぐらいにしておく。この時間に設定してもブラウザを閉じたりスリープが入るとファイルアップは途切れる。
ここを0にすると制限なしになるけど、万が一エラーで無限ループ処理されると困る。コンピュータの世界で無限は怖い。
基本的にファイルデータは16進数、時間は60進数で設定すると勝手が良い。なのでファイルは切りの良い1000よりは1024、時間は500よりは600。
リバースプロキシヘッダーの設定
「リバースプロキシヘッダーとやらの設定が正しくないか、あるいは信頼できるアクセスのようです」
「正しくない」と「信頼できる」を、並列表現で書くな。これは日本語訳がおかしいだけ。
「HTTPヘッダに改竄先URLを生成する不備を突かれないように、正しいIPアドレスを教えて、今繋いでるのは本当に正しいアクセスなの?」なので、NextcloudをインストールしたサーバーのIPアドレスを教えてあげる。
configフォルダ→[config.php]
'trusted_proxies' => ['〇〇.〇〇.〇〇.〇〇'],
サーバーのIPアドレスって?
大体のレンタルサーバーはスペックのところに書いて……、ロリポップは書いてない!? こういうところだぞ、ロリポ!(データベースに関してサポート対象外。ここでコストダウンしてるのからこその値段)自分で調べます。
ロリポップにログイン→[アカウント情報]→[ロリポップ!のドメイン]
xxxxxxx0000xxx00.main.jpってアドレスが出てくる。
Google Admin Toolbox digでGoogleが教えてくれるので、https://とをぬいた太文字のアドレスだけ入力(xxx~.jpまで)。グローバルIPが出てくる。
Winならコマンドプロンプトでも出てきます。
HTTPヘッダーの時間を変更
”Strict-Transport-Security”HTTPヘッダが最低でも”15552000″秒に設定されていません
「秒以上に設定される必要があります」の翻訳ミス。日本語が変すぎて英文に戻した。
リダイレクト前に暗号化されないサイトと通信する可能性があり、ここに攻撃のスキを作ってしまう。悪意あるサイトへリダイレクトされないようにするために必要。
15552000秒は6ヶ月で、推奨は31536000秒(1年)以上。
ルート直下の[.htaccess]に追記。※Nextcloudをインストールした[.htaccess]ではない。リダイレクト処理が書いてある.htaccessの方。
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"
ブラウザに「このドメインにはhttpsのページしかありません。httpではなく絶対にhttpsで通信して。期間は1年。サブドメにも適用」と指示を出す。
includeSubDomains:すべてのサブドメインにも適用(省略可)
includeSubDomainsは他のサブドメインにも適用されるので、SSL化されてないものがある場合は省略する。
ドメインすべてがSSL化推奨と書いたのはこのエラーを消すため。悪いことは言わねぇから、個人サイトやるならSSL化しろって。赤ブーは早く申込時にhttpsでも個人サイトアドレスを申請できるようにしろって。
デフォルトの電話番号の設定
ご使用のシステムには、デフォルトの電話地域が設定されていません。これは、国コードなしでプロファイル設定の電話番号を検証するために必要です。
国コードを日本に指定するだけ。
ついでに言語も場所も日本にしておこう。こうすると、追加ゲストもデフォで日本語表示になる。
'default_language' => 'ja', 'default_locale' => 'ja', 'default_phone_region' => 'JP',
configフォルダ→[config.php]→[$CONFIG = array]の()の中に追記。
jaはjapanese (日本語)、JPはjapan (日本)になる。
日本は公用語は日本語だけど、海外ではフランス語だから住んでいるところもフランスというわけではない。タイムスタンプの時間に関わるところ。
ここまでで、だいたいエラーが消えるはず。
動かないよ~~~ってとき
改行コードが変換されてない
→ASCIIでアップロードしなおす。必ずFTP転送モード:ASCIIを選択。ロリポであれば自前のFTPソフトではなくロリポFTPからやって。※基本的にほとんどのFTPソフトはバイナリー(なにもせずファイルをそのまま転送する)になってるはず。
.htaccessのパーミッションが604になっていない
→ロリポは604 他のところは推奨値を公式で確認して。
全角スペースや全角文字が入ってる
→うっかり入っちゃうときあるんだわ。全角チェッカーで調べる。
そもそも.htaccess使用不可のサーバーじゃない?
→.htaccessが利用可能となっていることを確認。アップロードできるけど読めてない。
セキュリティチェック
ここにURLを入れ、「A」または「A+」が出れば安心。B以下になる場合は、アプリが最新ではない。
パーミッションの変更
ついでにやろう。てがろぐが設置できてるなら、この変更はできるはず。
パーミッションはレンタルサーバーの推奨値に合わせる。
WordPressやWebサイトの場合は「ディレクトリは705、ファイルは604」が基本。レンタルサーバーは大体が共有サーバなので、真ん中の数字は基本的に0。
Nextcloudは自分だけが見れればいいので、ディレクトリをオーナーのみの700にする。
- config、data、appsディレクトリ:700
※.htaccessはブラウザが読む必要があるので、オーナーのみにはしない。必ず604。
パーミッションは8進数なんだなぁ(扱う数字7まで)
所感
データベース設置を一瞬でやってくれる、WordPress簡単インストールのありがたみ。無料で使わせてくれてるDropboxのありがたみ。
なにかに詰まったら公式サイト日本語版のガイドを見よう。「Nextcloudの機能」のPDFが使い方です。いろんなことができます。なんだか、ブログの日本語がいつも元気!翻訳が元気!
「今から何を変更しようとしているか」がわかるように説明をしたつもりだけど、説明が下手で申し訳ない。完全に初心者への説明ではなく「てがろぐが設置できている」または「過去に個人サイトを作っていた」人向けに、書いたつもりです。
エラーの解決策と修正方法だけが書いてあるものは情報として十分だけど、応用が効かない。
アップするときにエラーが出たとしても「暗号化すると容量が30%増える」を覚えていれば、「アップロードのファイルサイズがギリギリ足らなかったんだな、ってことはメモリーも合わせて増やさないとダメだな」って自分で解決に導ける。導けるように書いたつもり(自分で言う! Mac向けがやや不安)
今後自分でクラウドサーバーを世話していくなら、徐々に覚えていこう。