メインコンテンツまでスキップ

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でいれてください)