NextCloud 安裝設定紀錄
使用 Ubuntu + Docker 安裝方式
- 安裝 docker
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" sudo apt install docker.io docker-compose-plugin
- 將 jonathan 加入 docker
sudo usermod -aG docker jonathan
- 依據 compose.yaml 檔案內容進行調整
services: nextcloud-aio-mastercontainer: image: nextcloud/all-in-one:latest init: true restart: always container_name: nextcloud-aio-mastercontainer volumes: - nextcloud_aio_mastercontainer:/mnt/docker-aio-config - /var/run/docker.sock:/var/run/docker.sock:ro ports: - 8080:8080 environment: - SKIP_DOMAIN_VALIDATION=true - NEXTCLOUD_DATADIR=/opt/stacks/nextcloud/ncdata - NEXTCLOUD_MOUNT=/mnt/ volumes: nextcloud_aio_mastercontainer: name: nextcloud_aio_mastercontainer
- 如果第一時間沒有看到 AIO password 可以透過以下方式取得
sudo docker exec nextcloud-aio-mastercontainer grep password
參考網址
使用 PVE 內的 CT Templates 安裝方式
- CT Templates : debian-10-turnkey-nextcloud_16.1-1_amd64.tar.gz
- 如果沒有正式 SSL 憑證, 須將設定安裝 NextCloud 的 Domain Name 或 IP 必須要加入 config 定義的 trusted_domains 內 Exp. 192.168.11.24
cd /var/www/nextcloud vi config/config.php
: 'trusted_domains' => array ( 0 => 'localhost', 1 => 'nextcloud.ichiayi.com', 2 => '192.168.11.24', ), 'datadirectory' => '/var/www/nextcloud-data', 'dbtype' => 'mysql', :
解決安全設定警告項目
- 缺少安裝 bcmath PHP 套件問題
- 安裝 php-bcmath
apt install php-bcmath
- 重啟 apache
systemctl restart apache2
- 新增「default_phone_region」
- 編輯 config.php
vi /var/www/nextcloud/config/config.php
: : 'default_phone_region' => 'TWN', );
重新設定 admin 密碼
- 在主機內使用 www-data 身分直接用命令執行重設密碼
apt install sudo sudo -u www-data php /var/www/nextcloud/occ user:resetpassword admin
設定 Let's Encrypt SSL 憑證
- Exp. 使用 Cloudflare 管理 DNS , 要申請 nextcloud.ichiayi.com 的 SSL 憑證, 執行方式
apt install certbot python-certbot-apache certbot -d nextcloud.ichiayi.com --manual --preferred-challenges dns certonly
- 需要依照訊息顯示至 DNS 增加 TXT Record Exp.
_acme-challenge.nextcloud.ichiayi.com yWQSKEASom2ngmRnohuDjVGJPA08d1DfZovl-JKnk-U
- 編輯 nextcloud.conf 定義憑證檔路徑
vi /etc/apache2/sites-enabled/nextcloud.conf
: <VirtualHost *:443> SSLEngine on ServerAdmin webmaster@localhost DocumentRoot /var/www/nextcloud/ SSLCertificateFile /etc/letsencrypt/live/nextcloud.ichiayi.com/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/nextcloud.ichiayi.com/privkey.pem <IfModule mod_headers.c> :
- 編輯 config 檔案將正式憑證的網址設定為 trusted_domains 的第一項
vi /var/www/nextcloud/config/config.php
: 'trusted_domains' => array ( 0 => 'nextcloud.ichiayi.com', 1 => '192.168.11.24', ), 'datadirectory' => '/var/www/nextcloud-data', 'dbtype' => 'mysql', :
- 重新啟動 apache2
service apache2 restart