NextCloud 安裝設定紀錄

  • 安裝 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

  • 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',
      );
  • Exp. 使用 Cloudflare 管理 DNS , 要申請 nextcloud.ichiayi.com 的 SSL 憑證, 執行方式
    1. apt install certbot python-certbot-apache
      certbot -d nextcloud.ichiayi.com --manual --preferred-challenges dns certonly

    2. 需要依照訊息顯示至 DNS 增加 TXT Record Exp.

      _acme-challenge.nextcloud.ichiayi.com
      
      yWQSKEASom2ngmRnohuDjVGJPA08d1DfZovl-JKnk-U

    3. 編輯 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>
      :
    4. 編輯 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',
      :
    5. 重新啟動 apache2

      service apache2 restart

  • tech/nextcloud.txt
  • 上一次變更: 2023/11/21 16:59
  • jonathan