日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

nextcloud 安装并优化

發布時間:2024/3/26 编程问答 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 nextcloud 安装并优化 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目標

安裝好nexcloud并進行優化

硬件環境

CPU: j4125(4核心 4線程)
內存:8G
磁盤:128 nvme SSD + 1T sata SSD
網絡: 1000Mb/s有線

vi編輯器基本使用
sql語句的基本使用

前置:

docker network create nas

一、Docker安裝Mysql

其實不用安裝mysql 使用sqlite也能使用nextcloud,但是在多用戶下mysql性能更好, 特別是在文件備份的情況下, 這個也是屬于優化選項。其次因為其他docker應用也需要使用到mysql,所以我們在此就不將mysql裝到docker-compose里面去了, 獨立啟動一個docker,其他docker應用需要使用數據庫的時候都使用這個docker實例。

mkdir -p ~/mysql/data cd ~/mysql mkdir config #創建mysql config目錄 防止以后要配置優化mysql 參數(忘記密碼等操作需要)

因為這里數據庫的時區不對。我們在**~/mysql/conf目錄下面新建nas.cnf**

[mysqld] default-time_zone="+8:00"

然后就是使用docker命令一鍵啟動

vi start.sh docker run -d --name nas-mysql \ --network nas \-v /home/zx/mysql/data:/var/lib/mysql \-v /home/zx/mysql/config:/etc/mysql/conf.d \-e MYSQL_ROOT_PASSWORD="密碼" \mysql:5.7.14

參數說明: -e MYSQL_ROOT_PASSWORD=“密碼” 這里設置mysql的root密碼

bash start.sh

至此 我們的mysql啟動完成

然后創建數據庫

docker exec -it nas-mysql /bin/bash mysql -uroot -p #然后輸入你之前設置的mysql的密碼 create database nextcloud default character set utf8mb4 collate utf8mb4_unicode_ci; #創建數據庫 nextcloud用 exit #退出mysql exit #退出docker容器

二、安裝redis

cd ~ mkdir redis cd redis wget https://raw.githubusercontent.com/redis/redis/6.2/redis.conf vi start.sh

這里我們使用redis.conf文件的時候切記將redis.conf文件中的bind改成0.0.0.0不然nextcloud容器無法連接
編輯start.sh文件

docker run -d --name nas-redis \ --network nas \-v /home/zx/redis/redis.conf:/usr/local/etc/redis/redis.conf \redis redis-server /usr/local/etc/redis/redis.conf \

四、安裝nextcloud

cd ~ mkdir -p nextcloud/config cd nextcloud vi start.sh docker run -d --name nextcloud --network nas \-e PUID=1000 \-e GUID=1000 \-e TZ=Asia/Shanghai \-p 8001:443 \-v /home/zx/nextcloud/config:/config/ \-v /mnt/sda/nextcloud:/data \linuxserver/nextcloud:latest

注意這里8001 可以換成任意端口
這樣nextcloud就啟動起來了
通過瀏覽器訪問https://ip:8001就可以訪問到nextcloud(注意前面是https 如果提示警告點擊繼續訪問)
在安裝界面輸入數據db:3306
至此 nextcloud安裝完畢

QA:

1. 安裝完成后 如果新增用戶顯示名稱寫的是中文名稱有可能 生成的頭像是個框框 處理方法如下

從本地電腦上傳一個ttf字體文件到服務器目錄~/nextcloud/config/www/nextcloud/core/fonts
中,windows字體路徑 C:\Windows\Fonts\SIMSUN.TT 如果是mac電腦。 網上下載一個或者叫windows的朋友給你發一個就行
然后修改 ~/nextcloud/config/www/nextcloud/lib/private/Avatar/Avatar.php文件中的145行和182行

$font = __DIR__ . '/../../../core/fonts/simsun.ttc';

后面的simsun.ttc 根據你自己的字體文件改動

2. https證書風險問題

linuxserver社區維護的鏡像是默認開啟https訪問的,但是ssl證書是linuxserver頒發的, 所以我們要去權威機構申請ssl證書
申請ssl證書需要域名驗證 域名驗證有兩種方式

  • 文件驗證(需要開啟80端口) 默認家庭公網80、443端口是關閉的 ,所以當域名指向家庭服務器是無法通過文件驗證方式申請https證書的
  • 域名指向驗證 這里需要增加一條解析記錄,比較方便。
  • 這里我的域名是在阿里云購買, 所以我直接在阿里云工作臺->ssl證書->免費證書 申請了一個證書 然后下載的時候選擇服務器類型 nginx
    這樣就獲得了ssl證書
    將證書zip文件上傳到服務器的 **~/nextcloud/config/keys **目錄下

    #刪除服務器自動生成的證書 cd ~/nextcloud/config/keys rm -rf cert.* unzip 你的證書.zip

    這里會生成兩個文件 一個是pen文件一個是key文件
    然后編輯nginx配置文件

    vim ~/nextcloud/config/nginx/site-confs/default

    文件的第14行 15行

    ssl_certificate /config/keys/證書文件名.pem;ssl_certificate_key /config/keys/證書文件名.key;

    這里只要改證書文件名即可。 /config/keys前面不用動。因為這個文件是被docker容器讀取映射到docker中的/config/keys目錄下

    3. 設置默認語言

    nextcloud默認是英語 這里我們設置中文 配置文件總體如下
    ~/nextcloud/config/www/nextcloud/config/config.php

    <?php $CONFIG = array ('memcache.local' => '\\OC\\Memcache\\Redis','memcache.distributed' => '\\OC\\Memcache\\Redis','memcache.locking' => '\\OC\\Memcache\\Redis','redis' => ['host' => 'rds', // can also be a unix domain socket: '/tmp/redis.sock''port' => 6379,'dbindex' => 0, // Optional, if undefined SELECT will not run and will use Redis Server's default DB Index.],'datadirectory' => '/data','instanceid' => '','passwordsalt' => '','secret' => '','trusted_domains' =>array (0 => '',1 => 'localhost:8001',),"force_language" => "zh_CN","default_locale" => "zh_CN",'dbtype' => 'mysql','version' => '23.0.0.10','overwrite.cli.url' => '','dbname' => 'nextclou','dbhost' => 'db:3306','dbport' => '','dbtableprefix' => 'oc_','mysql.utf8mb4' => true,'dbuser' => 'oc_adminzx5','dbpassword' => '','installed' => true, );

    這里我刪除了一些敏感信息。 文件內容大概就是這樣
    至此 安裝并優化完成

    參考文檔

    nextcloud官方文檔
    官方issue

    總結

    以上是生活随笔為你收集整理的nextcloud 安装并优化的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。