Nextcloud構築メモ
結構ハマりすぎたのでメモしておきます。
WindowsServer2016上のHyper-VにCentOS8をインストールし、そっちでNextcloud構築、ホスト側のnginxでリバースプロキシって感じです。
ネットワークインストールしようとしたらレポジトリ手動で降らないとダメだったのとDL中にエラーが出てしまったので普通のISOイメージで
仮想スイッチなら普通の外部+ホスト側使用でOKでした(一応手動でIP降ってるけれども)
2.php-fpmはremiレポジトリから。で、なんか設定が反映されてなかった気がするんだけれどなんかコンピューターサイエンスで解決してしまった(多分httpdかphp-fpmを再起動するの忘れてたんだと思う)
3.SELinuxの無効化とかはしてなかったのでhtmlディレクトリはNextcloudの公式ドキュメントみたいにやらないとハマります(ついでにDataフォルダ弄ってるならばそっちも適用)(NextcloudのフォルダのほうをやってないとWeb画面が確かエラーになったと思う(Dataフォルダのさぼりは確かWeb画面のアカウント生成で書き込めませんエラー)
4.ストレージ2台目の方にDataフォルダ降ったんだけれどもなんかうまく行かなかったんだけれども確かfstabに雑にUUIDで記述して、chmodしてあげればよかったきがする(あんまり覚えてない)(そういえばマウントできてなかったかなんかで一回全部飛んだ)
5.ホスト側のnginxのリバースプロキシは最終的にこんな感じでした
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-Host $http_host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass 仮想マシンのIP;
proxy_redirect default;
client_max_body_size 1000m;
}
location /.well-known/acme-challenge/ {
alias c:/nginx/html/.well-known/acme-challenge/;
}
location = /.well-known/carddav {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-Host $http_host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass 仮想マシンのIP/remote.php/dav/;
proxy_redirect default;
}
location = /.well-known/caldav {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-Host $http_host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass 仮想マシンのIP/remote.php/dav/;
proxy_redirect default;
}
well-knownは雑にこんな感じの記述で逃げました
Apacheの設定は
<VirtualHost *:80>
DocumentRoot /var/www/html/nextcloud
ServerName 鯖IP
<Directory /var/www/html/nextcloud>
Require all granted
AllowOverride All
Options FollowSymLinks MultiViews
</Directory>
</VirtualHost>
でした
'overwriteprotocol' => 'https',
'overwrite.cli.url' => 'SSLな鯖ドメイン',
みたいにconfig.phpはかきました
ちなみにクライアントアプリからのログイン認証で何時間かハマったんですけれどは Windows Desktop Client Can’t Login · Issue #1221 · nextcloud/desktop
の通りで ‘overwriteprotocol’ => ‘https’,をconfigに記述したら解決
まあmariaSQLの設定ミスで丸ごと爆破したりサブドメイン割り当てるのめんどくてサブディレクトリで横着した結果リバースプロキシでハマったりしたんですけれども。みなさんちゃんとエラーメッセージを読んだり横着するのをやめたりしようね(真顔)
imagiskとかまだやってないんだけどとにかくCPUリソースがやばいけど使えればそれなりに良い感じなのでまともなPC調達すべきかも