docker-composeを使ってNextcloudの個人雲盤を構築し、https教程を開く.
はじめに
以前はLANMPを使って直接サービスを構築していましたが、後でdockerを使ってデータの構築と移転がとても便利になりましたので、サービスを全部容器化しました.
直接構築した文章は私のこのブログを参考にしてもいいです.Centos 7.6 Nextcloud 17.0.0個人の雲盤詳細教程を構築します.
二、環境準備
基礎環境の構築はここでは詳しく説明しないで、デフォルトの環境はすでにインストールされていますか?または下記のサービスとファイルを持っています. NFGIXサーバ docker docker-compse ドメイン名証明書(Ngix適用) dockerのインストールは私のこのブログを参考にしてもいいです.UbuntuはDockerを使って環境保全教程をコンパイルします.
三、docker-composeの配置
(一)データベースは、現在 にマウントされています. Nextcloudアプリケーションは、現在 にマウントされています.ホスト・ポータブルは、 に逆エージェントが必要です. を作成する必要があります.
しかし、ドメイン名でのアクセスが一般的であり、本論文ではhttpsも起動していますので、Ngix逆エージェントを構成する必要があります.
四、Ngix配置
注意点: に両替します. を設定します. に変えます.
上記の手順ですべて正しいと、ブラウザにドメイン名を入力すると、自動的に
(一)信頼されていないドメイン名で訪問する
これはNextcloudのデフォルトは
次のファイルを編集します.
修正が完了したら、ページを更新します.ログイン画面が見えます.ユーザー名のパスワードは
しかし、ページは自動的にジャンプしません.手動で更新したらアクセスできます.
自動ジャンプをするには、以下のファイルを変更する必要があります.
もしあなたが気にしないなら、本文はここで終わります.
(三)dav設定が正しくない
エラーメッセージは以下の通りです.あなたのウェブサーバは正しく設定されていません.詳細はドキュメントを参照してください. あなたのウェブサーバは正しく設定されていません.詳細はドキュメントを参照してください. 解決方法は、インテンx逆エージェントの場合、以下の構成を追加します.
エラー1:データベースからインデックスが失われました.大きなデータテーブルにインデックスを追加すると時間がかかりますので、プログラムは自動的に修復されませんでした.Nextcloud運転中に、コマンドラインを介して手動で「occ db:add-missing-inds」コマンドを実行して、失われたインデックスを修復できます.インデックス修正後、対応するテーブルのクエリ速度が大幅に向上します. データテーブル「ocucalendarobjects uprops」にインデックス「careendarobject ucalidudex」が見つかりません. データテーブル「occhedulinggobjects」にインデックス「schedulobjupurcipuidx」が見つけられません. 解決方法:
コンテナに入る:データベースの一部の列は、長い整数変換のために欠けています.大きいデータテーブルで列の種類を変更すると時間がかかりますので、プログラムは自動的に変更されませんでした.コマンドラインを介して手動で「occ db:convert-filecache-bigint」コマンドを実行して、保留中の変更を適用できます.この動作は、インスタンス全体がオフライン状態に変化したときに実行する必要がある.関連文書を参照して詳細を取得します. mounts.storge_id mounts.root_id mounts.mount_id 解決方法:
コンテナに入る:
この時にホームページを更新すると、すべてのエラーと警告が解決されたことが分かります.
六、Nextcloudをアップグレードする
ヒントが新しいバージョンでアップグレードできます.次のコマンドでアップグレードできます.
终わります
直接構築すると、dockerを使うと簡単に多くなり、データの移動に便利です.
マシンの配置を変更したい場合は、現在のフォルダ内のすべてのファイルをパッケージ化し、新しいマシンにNgix逆エージェントを配置すればいいです.
オフィシャルミラーのドキュメントを参考にして、Ngixもコンテナ展開が可能になりましたので、ここでは詳しく紹介しません.
Enjoy it now.
以前はLANMPを使って直接サービスを構築していましたが、後でdockerを使ってデータの構築と移転がとても便利になりましたので、サービスを全部容器化しました.
docker-compose
を使用してNextcloudを構築し、Ngixの逆エージェントを使用してhttpsを開く方法を紹介します.直接構築した文章は私のこのブログを参考にしてもいいです.Centos 7.6 Nextcloud 17.0.0個人の雲盤詳細教程を構築します.
二、環境準備
基礎環境の構築はここでは詳しく説明しないで、デフォルトの環境はすでにインストールされていますか?または下記のサービスとファイルを持っています.
三、docker-composeの配置
(一)
docker-compose.yml
注意点:./db
フォルダ./app
フォルダ19080
ポートを使用しており、自分で修正することができます.このポート./init_secrets
フォルダの各ファイルはユーザ名、パスワードなどのパラメータを初期化しています.自分で設定してversion: '3.2'
services:
db:
image: postgres:12
container_name: nextcloud_db
restart: always
volumes:
- ./db:/var/lib/postgresql/data
environment:
- POSTGRES_DB_FILE=/run/secrets/postgres_db
- POSTGRES_USER_FILE=/run/secrets/postgres_user
- POSTGRES_PASSWORD_FILE=/run/secrets/postgres_password
secrets:
- postgres_db
- postgres_password
- postgres_user
app:
image: nextcloud
container_name: nextcloud
restart: always
ports:
- 19080:80
volumes:
- ./app:/var/www/html
environment:
- POSTGRES_HOST=db
- POSTGRES_DB_FILE=/run/secrets/postgres_db
- POSTGRES_USER_FILE=/run/secrets/postgres_user
- POSTGRES_PASSWORD_FILE=/run/secrets/postgres_password
- NEXTCLOUD_ADMIN_PASSWORD_FILE=/run/secrets/nextcloud_admin_password
- NEXTCLOUD_ADMIN_USER_FILE=/run/secrets/nextcloud_admin_user
depends_on:
- db
secrets:
- nextcloud_admin_password
- nextcloud_admin_user
- postgres_db
- postgres_password
- postgres_user
secrets:
nextcloud_admin_password:
file: ./init_secrets/nextcloud_admin_password.txt # put admin password to this file
nextcloud_admin_user:
file: ./init_secrets/nextcloud_admin_user.txt # put admin username to this file
postgres_db:
file: ./init_secrets/postgres_db.txt # put postgresql db name to this file
postgres_password:
file: ./init_secrets/postgres_password.txt # put postgresql password to this file
postgres_user:
file: ./init_secrets/postgres_user.txt # put postgresql username to this file
(二)運転を開始するdocker-compose.yml
にあるフォルダで以下のコマンドを実行して起動します.docker-compose up -d
次のコマンドを使って実行ログを確認できます.docker-compose logs -f
Nexcloudのインストールが完了したら、ブラウザにhttp://127.0.0.1:19080
を入力すればログイン画面が見えます.ユーザ名のパスワードは./init_secrets
が設定したユーザ名とパスワードです.しかし、ドメイン名でのアクセスが一般的であり、本論文ではhttpsも起動していますので、Ngix逆エージェントを構成する必要があります.
四、Ngix配置
/etc/nginx/conf.d
にNextcloud.conf
を作成します.注意点:
server_name
をあなたのドメイン名に変えます.ssl_certificate
とssl_certificate_key
をあなたのドメイン名証明書client_max_body_size
最大アップロードファイルサイズproxy_pass
をリンク番号server {
listen 80;
listen [::]:80;
server_name yasin.store www.yasin.store;
# redirect all HTTP requests to HTTPS with a 301 Moved Permanently response.
return 301 https://yasin.store$request_uri;
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name yasin.store;
ssl on;
ssl_certificate /yasin/ssl/nginx/yasin_store/yasin.store.crt;
ssl_certificate_key /yasin/ssl/nginx/yasin_store/yasin.store.key;
client_max_body_size 10G;
add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload";
location = /.well-known/carddav {
return 301 $scheme://$host:$server_port/remote.php/dav;
}
location = /.well-known/caldav {
return 301 $scheme://$host:$server_port/remote.php/dav;
}
location / {
proxy_redirect off;
proxy_pass http://127.0.0.1:19080;
proxy_set_header Host $http_host;
}
location = /.htaccess {
return 404;
}
}
NFgixを再起動すると、設定が有効になります.systemctl restart nginx
五、問題解決上記の手順ですべて正しいと、ブラウザにドメイン名を入力すると、自動的に
https://
に遷移するはずです.しかし、次の最初のエラーが発生するはずです.(一)信頼されていないドメイン名で訪問する
これはNextcloudのデフォルトは
localhost
を通じてしかアクセスできないので、ドメイン名を信頼する必要があります.次のファイルを編集します.
vim ./app/config/config.php
下の内容を修正して、二行目はあなたのドメイン名に変えてください.'trusted_domains' =>
array (
0 => 'localhost',
1 => 'yasin.store',
),
(二)ログイン後は自動的にジャンプしません.修正が完了したら、ページを更新します.ログイン画面が見えます.ユーザー名のパスワードは
./init_secrets
で設定したユーザ名とパスワードです.しかし、ページは自動的にジャンプしません.手動で更新したらアクセスできます.
自動ジャンプをするには、以下のファイルを変更する必要があります.
vim ./app/config/config.php
下記の内容を追加します.'overwriteprotocol' => 'https',
この時、あなたの雲盤は正常に使えますが、もし強迫症であれば、設置の中で概観を見る時、次の二つの間違いを解決したいと思います.もしあなたが気にしないなら、本文はここで終わります.
(三)dav設定が正しくない
エラーメッセージは以下の通りです.
location = /.well-known/carddav {
return 301 $scheme://$host:$server_port/remote.php/dav;
}
location = /.well-known/caldav {
return 301 $scheme://$host:$server_port/remote.php/dav;
}
(四)データベースエラーエラー1:
コンテナに入る:
docker exec -u www-data -it nextcloud bash
以下のコマンドを実行します./var/www/html/occ db:add-missing-indices
エラー2:コンテナに入る:
docker exec -u www-data -it nextcloud bash
以下のコマンドを実行します./var/www/html/occ db:convert-filecache-bigint
y
を選択して、車に戻ります.この時にホームページを更新すると、すべてのエラーと警告が解決されたことが分かります.
六、Nextcloudをアップグレードする
ヒントが新しいバージョンでアップグレードできます.次のコマンドでアップグレードできます.
docker-compose down
docker-compose pull
docker-compose up -d
アップグレードする前にデータをバックアップしておくことを強く推奨します.终わります
直接構築すると、dockerを使うと簡単に多くなり、データの移動に便利です.
マシンの配置を変更したい場合は、現在のフォルダ内のすべてのファイルをパッケージ化し、新しいマシンにNgix逆エージェントを配置すればいいです.
オフィシャルミラーのドキュメントを参考にして、Ngixもコンテナ展開が可能になりましたので、ここでは詳しく紹介しません.
Enjoy it now.