搭建自己私人網盤-Nextcloud


前期需要軟件

  1. 遠程SSH控制台軟件(本教程使用 Remote Terminal 此為win10商店軟件)[點我下載(此軟件為Xshell)]
  2. 支持Sftp的FTP軟件(本教程使用 FileZilla)[點我下載]
  3. Centos或Ubuntu主機一台 (教程使用 centos7.7)

注意事項

  1. 推薦Ubuntu系統(由於個人偏向,本教程使用Centos)
  2. 未標注哪個系統指令則兩者都可適用
  3. 若標題注釋了哪個系統那只能適用那個系統或另一個系統不需要輸此指令

環境部署

系統更新

  • 首先你要確保你的系統是最新的

    yum update # (Centos)
    //Ubuntu需要兩條指令來升級
    apt-get update -y # (Ubuntu)
    apt-get upgrade -y # (Ubuntu)

寶塔安裝

  1. 使用指令安裝

    //Centos指令
    yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
    //Ubuntu指令
    wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh

  2. 安裝所需環境

  • 首次進入會讓你安裝基礎程序【這里選LAMP個人喜歡這個,並且不需要自己添加偽靜態】
    • 這里選擇版本為:
    • Apache 2.4
    • MySQL 5.7
    • Pure-Ftpd 1.0.49
    • PHP 7.3(並安裝擴展名: fileinfo)
    • phpMyAdmin 4.7
  • 這里最好選編譯安裝,極速安裝雖說快,但他不穩定,很不推薦.
  • 下載速度日常很慢(根據服務器性能,我這里就是晚上弄然后睡覺去了)

安裝LAMP環境包
安裝PHP擴展名: fileinfo

  1. 刪除PHP中的禁用函數(現在的PHP和以前相比已經不需要禁用函數了,反而導致程序錯誤)
  • 按下鍵盤Ctrl+F開啟搜索功能搜索disable_functions,並刪除后面的禁用函數,隨后重啟PHP。

image.png

  1. 新建網站+數據庫,並將數據庫賬戶密碼記錄,在下文會使用到

創建網站

  1. 在SSH部署時需手動cd到網站目錄並保證目錄為空。(都面板化了,手動刪除4個文件應該不費事吧)

安裝Nextcloud

  1. 克隆Nextcloud文件到本地

下載nextcloud

  1. 解壓壓縮包nextcloud-18.0.1.zip

  1. 移動nextcloud內安裝文件,遷移至網站目錄

image.png

  1. 刪除無用文件的nextcloud``nextcloud-18.0.1.zip,不刪除容易出錯

    rm -rf nextcloud
    rm -rf nextcloud-18.0.1.zip

  2. 變更權限組合權限,權限選擇「755」+用戶組選擇「www」,最后確定即可

權限755+www

  1. 直接打開自己綁定的域名,將上面用記下來的數據庫用戶名和密碼寫入相應的位置

  1. 點擊安裝后就安裝好啦

維護模式指令

sudo -u www php occ maintenance:mode --on
sudo -u www php occ maintenance:mode --off

解決后續問題

  • 在「設置」中「管理欄」的選項中有「安全與設置警告」,實際上沒多大事,如果有強迫症,下方可以解決

錯誤

PHP 內存限制低於建議值 512MB

寶塔php點擊配置修改,編輯腳本內存限制,給512M即可

PHP 的 OPcache 模塊未載入。推薦開啟獲得更好的性能。

按照提示在php配置文件中搜索Zend ZendGuard Loader,添加:

zend_extension=opcache.so

PHP 的組件 OPcache 沒有正確配置。 為了提供更好的性能,我們建議在 php.ini中使用下列設置:

按照提示在php配置文件中搜索opcache.enable=1,對應修改成:

opcache.enable=1
opcache.enable_cli=1
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.memory_consumption=128
opcache.save_comments=1
opcache.revalidate_freq=1

該實例缺失了一些推薦的 PHP 模塊。為提高性能和兼容性,我們強烈建議安裝它們。imagick

寶塔php點擊安裝imagemagick
安裝imagemagick

內存緩存未配置,為了提升使用體驗,請盡量配置內存緩存。

寶塔php點擊安裝redis ,編輯/config下的config.php);前加入以下代碼:
安裝redis

  'memcache.local' => '\OC\Memcache\Redis',
  'redis' => array(
  'host' => 'localhost',
  'port' => 6379,
),
### 數據庫中的一些列由於進行長整型轉換而缺失。
> cd到nextcloud目錄,執行
```sh
sudo -u www php occ db:convert-filecache-bigint

數據庫丟失了一些索引。

cd到nextcloud目錄,執行

sudo -u www php occ db:add-missing-indices

美化URL,去除入口文件index.php

使用config.php+OCC命令生成.htaccess。編輯/config/config.php添加規則:

'htaccess.RewriteBase' => '/',

然后使用occ命令生成.htaccess文件:

sudo -u www php occ maintenance:update:htaccess

通過 HTTP 訪問網站不安全。強烈建議您將服務器設置成要求使用HTTPS 協議

去證書網站申請證書即可。

HTTP的請求頭 “Strict-Transport-Security” 未設置為至少 “15552000” 秒。為了提高安全性,建議參照security tips 中的說明啟用HSTS。

在站點配置文件里面添加如下代碼,然后重啟Apache即可。

Header always set Strict-Transport-Security "max-age=63072000; includeSubdomains; preload"

安裝后無法掛載外部共享目錄

  1. 安裝PHP smbclient模塊

  2. 在php.ini里面啟用smb模塊

    vim /usr/local/php/etc/php.ini
    //文件最后添加如下內容:
    [smb]
    extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20160303/smbclient.so

性能優化

定時任務配置為 ‘Cron’

sudo -u www crontab -e
# 添加
*/5 * * * * php -f /站點的絕對路徑/cron.php
# 這是我添加的,你們可以進行參考
*/5 * * * * php -f /www/wwwroot/cloud.vlssu.com/cron.php
lnmp restart


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM