UbuntuでNextcloud Officeを構築する
Nextcloudでオフィスファイルを開けるようにする
(使ってみて私は不要なので削除しました)
dockerで作成します。
sudo docker pull collabora/code
Nextcloud Officeを起動する(ドメインをしていする)
Nextcloudのドメインを指定
sudo docker run -t -d -p 9980:9980 -e "extra_params=--o:ssl.enable=false --o:ssl.termination=true" -e "domain=momijiina\\.com" --restart always collabora/code
Nextcloudがサブドメインの場合(私は以下)
sudo docker run -t -d -p 9980:9980 -e "extra_params=--o:ssl.enable=false --o:ssl.termination=true" -e "domain=cloud\\.momijiina\\.tech" --restart always collabora/code
フォントを入れる
この入れ方はIPAフォント等です。
コンテナIDを確認
sudo docker ps
コンテナに入る
sudo docker exec -u 0 -it コンテナID bash
コンテナ内で
sudo apt update
sudo apt install fonts-noto-cjk fonts-ipafont-gothic
コンテナから出る
exit
コンテナから出た後
sudo docker restart コンテナID
Windowsフォントを入れる
Nextcloud Office(Collabora Online)にWindowsフォントをいれます
フォントは各自で用意してサーバーに転送しておく必要があります。
フォントはWindowsから抽出できます。
個人や社内使用とかであれば問題ないかと
コンテナIDだけ変えてください
/opt/fonts/にフォントをいれて送っています。(別にどこのファイルに入れててもry)
sudo docker cp /opt/fonts/msgothic.ttc コンテナID:/usr/share/fonts/windows/
sudo docker exec -it コンテナID fc-cache -fv
コンテナから出る
exit
コンテナから出た後
sudo docker restart コンテナID
フォントが反映されたか一応確認しました。
フォントをまとめて送る
/opt/fonts/にフォントをいれて送っています。
docker cp /opt/fonts/. コンテナID:/usr/share/fonts/optfonts/
docker exec -it コンテナID fc-cache -fv
コンテナから出る
exit
コンテナから出た後
sudo docker restart コンテナID
証明書を取得する
今回はオフィスようにサブドメインを取得しました。
Nextcloud内に設定することもできるはずですがテストはしません。
nginxやapache2を止めてから実行してください。
sudo certbot certonly --standalone -d office.cloud.momijiiina.tech
Nginxを設定する
以下は例なのでセキュリティヘッダーやログ等の設定は各自で必要があれば行ってください。
server{
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name office.cloud.momijiiina.tech;
ssl_certificate "/etc/letsencrypt/live/office.cloud.momijiiina.tech/fullchain.pem";
ssl_certificate_key "/etc/letsencrypt/live/office.cloud.momijiiina.tech/privkey.pem";
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
client_max_body_size 512M;
location / {
proxy_buffer_size 128k;
proxy_buffers 4 256k;
proxy_busy_buffers_size 256k;
proxy_set_header Host $host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Scheme $scheme;
proxy_set_header X-Scheme $scheme;
proxy_set_header X-Original-Forwarded-For $http_x_forwarded_for;
proxy_next_upstream error timeout;
proxy_next_upstream_timeout 0;
proxy_next_upstream_tries 3;
proxy_redirect off;
proxy_pass http://localhost:9980;
}
}
NextcloudにURLを設定する
管理者パネルからNextcloud Officeを選択してURLを入れるだけです。
ビルトインサーバーはあまりおすすめしません。
エラーがでたときNextcloudごと一時期的にクラッシュする場合があります。(会社で使うなら絶対Dokcerでいれてください)