【轉載】手動安裝NextCloud教程-免費開源的私有云存儲網(wǎng)盤可播放圖片音樂

【原文鏈接:https://wzfou.com/nextcloud-install/


NextCloud由原ownCloud聯(lián)合創(chuàng)始人Frank Karlitschek創(chuàng)建的,繼承原ownCloud的核心技術又有不少的創(chuàng)新。在功能上NextCloud和ownCloud差不多,甚至還要豐富一些,在用戶使用體驗方面,NextCloud安裝與使用都非常地順手,最重要的是NextCloud完全開源免費。

NextCloud不僅是一個私人云網(wǎng)盤平臺,也支持多用戶同步協(xié)作使用。NextCloud支持賬號注冊,可以為賬號開啟兩步驗證,以確保賬號安全。同時,NextCloud對于公開分享的文件可以設置有效期,對于上傳的視頻、音樂、Office文檔等直接支持在線預覽和播放。

NextCloud還提供了上百種的免費應用和插件,這些NextCloud應用與插件可以將NextCloud打造成為一個在線文檔共享與編輯平臺、音樂與視頻娛樂平臺以及文件存儲下載平臺。當然,如果是自己手動安裝的NextCloud的話,那么這些插件也得自己配置好環(huán)境才行。

本篇文章就來分享一下手動安裝NextCloud教程,更多的站長自建服務與平臺,你還可以試試:

  1. Lsyncd搭建同步鏡像-用Lsyncd實現(xiàn)本地和遠程服務器之間實時同步
  2. VestaCP與WHMCS整合教程-實現(xiàn)自助開通虛擬主機銷售主機空間產(chǎn)品
  3. ISPConfig與WHMCS整合方法-自動激活開通虛擬主機和管理空間用戶

PS:2017年9月20日更新,覺得手動安裝麻煩的朋友,可以使用一鍵安裝的方法,參考:Nextcloud個人云存儲絕佳選擇:一鍵自動安裝方法和云盤使用體驗

一、LAMP安裝NextCloud

NextCloud官網(wǎng):

  1. https://nextcloud.com/

準備好LAMP環(huán)境。LAMP即Apache、MysqL或Mariadb、PHP環(huán)境,NextCloud官方推薦使用Apache運行NextCloud,自帶了.htaccess規(guī)則。而Nginx的話還需要自己手動編寫NextCloud的URL重寫規(guī)則。推薦以下方法一鍵安裝LAMP:

  1. Linux VPS建站工具LNMP 1.4安裝與使用-SSL自動配置續(xù)期和多版本PHP支持
  2. OneinStack一鍵安裝腳本-輕松部署Let’s Encrypt證書配置Https站點

LNMP 1.4和OneinStack都可以一鍵安裝LAMP環(huán)境,這里我以OneinStack來作為操作演示,在安裝OneinStack時選擇組件時選擇Apache即可,PHP建議使用7.0以上,數(shù)據(jù)庫的話建議Mariadb。其它的緩存組件也可以安裝。

綁定好域名與添加SSL證書。OneinStack在添加網(wǎng)站時直接就可以添加SSL證書了,同時要求綁定的域名必須提前解析到服務器的IP上,這樣才可以一鍵生成Lets免費證書。

下載NextCloud程度包安裝。到官網(wǎng):https://nextcloud.com/install/#instructions-server,下載最新的程序包解壓上傳到網(wǎng)站的根目錄。

為NextCloud建立新的數(shù)據(jù)庫。

訪問域名就會自動進入到NextCloud的安裝頁面了,填寫你的管理員賬號與密碼,然后在下方設置好文件存儲路徑,最好與程序不要在同一個目錄下。同時填入SQL數(shù)據(jù)庫信息,完成安裝。(點擊放大)

完成后,你就可以登錄到NextCloud后臺,這就是NextCloud的用戶管理界面。(點擊放大)

二、LNMP安裝NextCloud

準備LNMP環(huán)境和上面一樣,只是在LNMP 1.4和OneinStack安裝時選擇Nginx環(huán)境即可,其它的組件都一樣有選擇性地安裝。如果安裝了Zend OPcache,可能在安裝時會提示錯誤:“PHP 被設置為移除內(nèi)聯(lián)塊, 這將導致多個核心應用無法訪問。

解決方法:修改php.ini中Opcache的參數(shù)進行修改,如果是Oneinstack的話需要在/usr/local/php/etc/php.d/ext-opcache.ini 中修改。找到此代碼并改成:opcache.save_comments=1 ,因為默認是0,改完重啟php-fpm就行。

編寫URL地址重寫規(guī)則。出現(xiàn)錯誤:No input file specified.,主要是Nginx還需要自己寫重寫規(guī)則,你可以將以下規(guī)則復制粘貼到/usr/local/nginx/conf/vhost/你的網(wǎng)站.conf,由于規(guī)則太多,你也可單獨建立一個文件,然后在你的網(wǎng)站.conf引用即可。具體規(guī)則如下:

  #(可選)添加如下header主要為了安全
    add_header X-Content-Type-Options nosniff;
    add_header X-XSS-Protection "1; mode=block";
    add_header X-Robots-Tag none;
    add_header X-Download-Options noopen;
    add_header X-Permitted-Cross-Domain-Policies none;
    #(可選)為了支持user_webfinger app
    rewrite ^/.well-known/host-meta /public.php?service=host-meta last;
    rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json last;

    #日歷和聯(lián)系人,建議加上
    location = /.well-known/carddav {
    return 301 $scheme://$host/remote.php/dav;
    }
    location = /.well-known/caldav {
    return 301 $scheme://$host/remote.php/dav;
    }
    #設置上傳文件的最大大小
    client_max_body_size 512M;
    fastcgi_buffers 64 4K;
    #將所有請求轉發(fā)到index.php上
    location / {
    rewrite ^ /index.php$uri;
    }
    #安全設置,禁止訪問部分敏感內(nèi)容
    location ~ ^/(?:build|tests|config|lib|3rdparty|templates|data)/ {
    deny all;
    }
    location ~ ^/(?:\.|autotest|occ|issue|indie|db_|console) {
    deny all;
    }

    #默認有,替換原來的就行
    location ~ ^/(?:index|remote|public|cron|core/ajax/update|status|ocs/v[12]|updater/.+|ocs-provider/.+)\.php(?:$|/) {
    fastcgi_split_path_info ^(.+\.php)(/.*)$;
    fastcgi_param PATH_INFO $fastcgi_path_info;
    fastcgi_param modHeadersAvailable true;
    fastcgi_param front_controller_active true;
    fastcgi_pass unix:/dev/shm/php-cgi.sock; #這邊我改過,參照原來的
    fastcgi_intercept_errors on;
    fastcgi_request_buffering off;
    include fastcgi.conf;
    }

    #安全設置,禁止訪問部分敏感內(nèi)容
    location ~ ^/(?:updater|ocs-provider)(?:$|/) {
    try_files $uri/ =404;
    index index.php;
    }

    location ~ \.(?:css|js|woff|svg|gif)$ {
    try_files $uri /index.php$uri$is_args$args;
    add_header Cache-Control "public, max-age=15778463";
    add_header X-Content-Type-Options nosniff;
    add_header X-XSS-Protection "1; mode=block";
    add_header X-Robots-Tag none;
    add_header X-Download-Options noopen;
    add_header X-Permitted-Cross-Domain-Policies none;
    access_log off;
    }
    location ~ \.(?:png|html|ttf|ico|jpg|jpeg)$ {
    try_files $uri /index.php$uri$is_args$args;
    access_log off;
    }

fileinfo\Memcached\Redis等都可以通過OneinStack一鍵安裝。

NextCloud安全與性能優(yōu)化:這種提示一般在NextCloud的服務器管理中可以看到,建議緩存類的直接安裝一個即可,安裝多了也沒有什么用。

為了您服務的安全和性能, 請將所有設置配置正確. 我們將會進行一些自動化檢查以幫助您完成這項工作. 詳情請查看 “小提示” 部分及相關文檔.

PHP 模塊 ‘fileinfo’ 缺失. 我們強烈建議啟用此模塊以便在 MIME 類型檢測時獲得最準確的結果.

HTTP 請求頭 “Strict-Transport-Security” 沒有配置為至少 “15552000” 秒. 出于增強安全性考慮, 我們推薦按照安全提示中的說明啟用 HSTS.

內(nèi)存緩存未配置. 如果可用, 請配置 memcache 以增強性能. 更多信息請查看我們的文檔.
PHP 的組件 OPcache 沒有正確配置. 為了提供更好的性能, 我們建議在php.ini文件中使用下列設置:

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

NextCloud添加Memcached緩存。修改程序目錄下的config目錄中的config.php文件,在配置文件中添加如下,這個是多個Memcached實例,單個自己改:

'memcache.local' => '\OC\Memcache\APCu',
'memcache.distributed' => '\OC\Memcache\Memcached',
'memcached_servers' => array(
     array('localhost', 11211),
     array('server1.example.com', 11211),
     array('server2.example.com', 11211),
     ),

NextCloud添加Redis緩存。在配置文件中添加如下,這個是通過TCP連接的

'memcache.local' => '\OC\Memcache\Redis',
'redis' => array(
     'host' => 'localhost',
     'port' => 6379,
      ),

還有性能更好的UNIX連接

'memcache.local' => '\OC\Memcache\Redis',
'redis' => array(
     'host' => '/var/run/redis/redis.sock',
     'port' => 0,
     'dbindex' => 0,
     'password' => 'secret',
     'timeout' => 1.5,
      ),

同時,官方還推薦加入如下,來用于存儲文件鎖

'memcache.locking' => '\OC\Memcache\Redis',

Nginx運行NextCloud一切正常。

三、NextCloud添加應用

NextCloud提供了豐富了內(nèi)置應用,并且這些應用可以直接在NextCloud的后臺下載并安裝,有點像我們的Wordpress插件一樣直接安裝。這些介紹幾個有用的NextCloud插件,相信大家一定會用到。

SMTP發(fā)信與限制最大上傳文件。這個直接在NextCloud的后臺設置中就可以設置選項,SMTP可以讓我們調(diào)用第三方的發(fā)信服務來發(fā)送NextCloud的郵件,自帶的PHP發(fā)信也可以,但是基本上會被各大郵箱判定為垃圾郵件。

數(shù)據(jù)存儲加密與外掛存儲。首先到NextCloud應用中激活Default encryption module、External storage support這兩個插件。

啟用數(shù)據(jù)加密需要謹慎:因為數(shù)據(jù)一旦加密被啟用, 之后上傳到服務器的所有文件都將服務器上加密,只有當啟用狀態(tài)的加密模塊支持解密并且所有前提都滿足時 (例如: 設定恢復密鑰) 才能解除加密。請注意, 加密會增加文件大小,單獨的加密不能保證系統(tǒng)的安全性,你需要同時設置恢復密鑰。

外掛存儲主要是可以讓NextCloud通過SMB / CIFS 登錄 OC 的方式掛載第三方的存儲應用,啟用這個插件有些麻煩,可能提示:沒有安裝 “smbclient”. 安裝命令:apt-get install smbclient和apt-get install php-smbclient。

四、總結

至于選擇Apache還是Nginx來運行NextCloud主要還是取決你對Nginx或者Apache的熟悉程度,LNMP 1.4和OneinStack對Nginx都做了很好了優(yōu)化,Http 2.0、SSL證書還有緩存組件和PHP函數(shù)都可以一鍵安裝與配置,省去了不少的麻煩。

NextCloud的圖片預覽、音樂視頻在線播放等基本功能都是沒有問題了,在使用NextCloud應用過程中倒是遇到了不少的問題。首要的問題就是NextCloud的應用配置比較難,例如Office文檔插件、RSS在線閱讀器插件等,都需要自己手動配置好服務器環(huán)境。

文章出自:挖站否 https://wzfou.com/nextcloud-install/,部分內(nèi)容參考自:zrj96 版權所有。本站文章除注明出處外,皆為作者原創(chuàng)文章,可自由引用,但請注明來源。

?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • 【原文鏈接:https://wzfou.com/nextcloud/】 搭建個人云存儲一般會想到ownCloud,...
    duyi324閱讀 12,885評論 1 14
  • 下文來自 https://lnmp.org/ LNMP一鍵安裝包是什么? LNMP一鍵安裝包是一個用Linux S...
    swoft_閱讀 425評論 0 1
  • 認識周長研討 對策問題展示 同行互進 共同研討 12月5日省骨干教師培訓班跟崗第二天,在鐘曉宇校長的帶領下...
    陳瑞華閱讀 310評論 0 0
  • 中午休息的時候,因我離家比較遠,所以一般吃完飯便呆在科室里。那會兒沒有病人,值班的姐姐便說起關于兒子的一件小...
    蘇巧閱讀 380評論 0 0
  • 顧曉峰爺爺說,他一直不知道木匠女兒的死因,顧曉峰出生幾年后,一個同村的好朋友來看他,他才知道,原來木匠女兒過門之前...
    呢喃雪閱讀 645評論 0 0

友情鏈接更多精彩內(nèi)容