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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

是时候该搭建自己的私有云盘了——nextcloud 12

發(fā)布時間:2024/4/14 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 是时候该搭建自己的私有云盘了——nextcloud 12 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一、背景

? ? 最近多家云盤相繼關(guān)停,費了很多時間才把上面的東西下載到本地,百度云盤也早已開始限速,技術(shù)宅豈能容忍?是時候搭建自己的私有云盤了!

1、搭建自己的私有云有什么好處呢?

? ? 首先沒有什么容量、下載速度的限制,而且本地訪問速度很快。然后可以和本地的ftp配合使用來實現(xiàn)多個設(shè)備文件共享:比如可以在電視、手機等等智能設(shè)備上掛載云盤中的文件來實現(xiàn)播放電影、看照片、聽歌等需求。最后可以防止泄密和和諧。

? ? 說到私有云,其實有很多現(xiàn)成的產(chǎn)品可以使用,比如群暉、鐵威馬、西數(shù)等。買過來,插上一塊硬盤就可以用,十分適合小白。但是成本略高,僅僅主機就需要1000多元,再加上一塊硬盤,這種解決方案的成本一般都要超過2000元。自己搭建私有云的話,不僅成本很低,而且可以自己定制很多功能,比如在線筆記、郵件等等功能。但是需要會折騰linux哦!

2、搭建難度怎么樣?

? ? 自己搭建私有云其實很簡單,首先需要一臺主機,然后需要選擇一個私有云軟件(比如ownCloud、Nextcloud、seafile)。在這里我還是用我的Linux服務(wù)器作為主機,大概上傳下載為2MB/s,在對比幾個不同的私有云軟件之后,最終采用了Nextcloud 12,感覺這個功能更為強大。

二、Nextcloud 12概述

? ? Nextcloud 是一款自由(開源)的類Dropbox軟件,由ownCloud分支演化形成。它使用PHP和JavaScript編寫,支持多種數(shù)據(jù)庫系統(tǒng),比如 MySQL/MariaDB、PostgreSQL、Oracle 數(shù)據(jù)庫和 SQLite。它可以使你的桌面系統(tǒng)和云服務(wù)器中的文件保持同步,Nextcloud 為 Windows、Linux、Mac、安卓以及蘋果手機都提供了客戶端支持。Nextcloud 并非只是 Dropbox 的克隆,它還提供了很多附加特性,如日歷、聯(lián)系人、計劃任務(wù)以及流媒體 Ampache。

? ? 在這篇文章中,我將向你展示如何在CentOS 7.3服務(wù)器中安裝和配置最新版本的 Nextcloud 12。我會通過Nginx和PHP7-FPM來運行Nextcloud,同時使用MariaDB做為數(shù)據(jù)庫系統(tǒng)。

1、系統(tǒng)需求

? ?官方推薦參數(shù)如下:

內(nèi)存最少512MB
系統(tǒng)Red Hat Enterprise Linux 7 / Ubuntu 16.04 LTS
數(shù)據(jù)庫
MySQL/MariaDB
PHP版本PHP 7.0 +
WEB服務(wù)器Apache 2.4 with mod_php


2、安裝需要最低版本及支持平臺

  • Server: Linux (Debian 7, SUSE Linux Enterprise Server 11 SP3 & 12, Red Hat Enterprise Linux/CentOS 6.5 and 7 (7 is 64-bit only), Ubuntu 14.04 LTS, 16.04 LTS)

  • Web server: Apache 2 (mod_php, php-fpm) or Nginx (php-fpm)

  • Databases: MySQL/MariaDB 5.5+; PostgreSQL; Oracle 11g (currently only possible if you?contact us <https://nextcloud.com/enterprise>?as part of a subscription)

  • PHP 5.6 + required

  • Hypervisors: Hyper-V, VMware ESX, Xen, KVM

  • Desktop: Windows XP SP3 (EoL Q2 2015), Windows 7+, Mac OS X 10.7+ (64-bit only), Linux (CentOS 6.5, 7 (7 is 64-bit only), Ubuntu 12.04 LTS, 14.04 LTS, 14.10, Fedora 20, 21, openSUSE 12.3, 13, Debian 7 & 8).

  • Mobile apps: iOS 7+, Android 4+

  • Web browser: IE11+, Microsoft Edge, Firefox 14+, Chrome 18+, Safari 7+

三、Nextcloud 12環(huán)境準(zhǔn)備

1、安裝nginx和PHP7

? ? 首先安裝epel和webtatic最新包倉庫,具體參照我的置頂博文。

#安裝nginx yum?install?nginx?-y #安裝php7及其nextcloud需要的包 yum?-y?install?php70w-fpm?php70w-cli?php70w-opcache?php70w-gd?php70w-mcrypt?php70w-mysql?php70w-pear?php70w-xml?php70w-mbstring?php70w-pdo?php70w-json?php70w-pecl-apcu?php70w-pecl-apcu-devel

2、驗證安裝的php版本

[root@pan?~]#?php?-v PHP?7.0.20?(cli)?(built:?Jun?10?2017?06:34:07)?(?NTS?) Copyright?(c)?1997-2017?The?PHP?Group Zend?Engine?v3.0.0,?Copyright?(c)?1998-2017?Zend?Technologies

3、配置 PHP7-FPM

? ? 在這一個步驟中,我們將配置php-fpm與Nginx協(xié)同運行。Php7-fpm將使用nginx用戶來運行,并監(jiān)聽9000端口。

? ? 使用vim編輯默認(rèn)的php7-fpm配置文件。

#vim?/etc/php-fpm.d/www.conf? user?=?nginx? group?=?nginx???#在第8行和第10行,user和group賦值為nginx。listen?=?127.0.0.1:9000???#在第?22?行,確保?php-fpm?運行在指定端口。env[HOSTNAME]?=?$HOSTNAME env[PATH]?=?/usr/local/bin:/usr/bin:/bin env[TMP]?=?/tmp env[TMPDIR]?=?/tmp env[TEMP]?=?/tmp?????????#取消第366-370行的注釋,啟用php-fpm的系統(tǒng)環(huán)境變量。

? ? 下一步,就是在/var/lib/目錄下創(chuàng)建一個新的文件夾session,并將其擁有者變更為nginx用戶。

mkdir?-p?/var/lib/php/session? chown?nginx:nginx?-R?/var/lib/php/session/

? ? ?然后啟動php-fpm和Nginx,并且將它們設(shè)置為隨開機啟動的服務(wù)。

systemctl?start?php-fpm? systemctl?start?nginx? systemctl?enable?php-fpm? systemctl?enable?nginx

4、安裝和配置MariaDB

? ? 我這里使用MariaDB作為Nextcloud的數(shù)據(jù)庫??梢灾苯邮褂脃um命令從CentOS默認(rèn)遠(yuǎn)程倉庫中安裝 mariadb-server包。

yum?-y?install?mariadb?mariadb-server

? ? 在配置文件/etc/my.cnf添加如下幾行配置

[mysqld]???? innodb_file_per_table=1 default-storage-engine?=?INNODB

? ? 啟動MariaDB,并將其添加到隨系統(tǒng)啟動的服務(wù)中去。

systemctl?start?mariadb systemctl?enable?mariadb

? ? 現(xiàn)在開始配置MariaDB的root用戶密碼,鍵入Y,然后設(shè)置MariaDB的root密碼。

mysql_secure_installation

? ? 這樣就設(shè)置好了密碼,現(xiàn)在登錄到 mysql shell并為Nextcloud創(chuàng)建一個新的數(shù)據(jù)庫和用戶。這里我創(chuàng)建名為nextcloud的數(shù)據(jù)庫以及名為nextcloud的用戶,用戶密碼為nextcloud。當(dāng)然了,要給你自己的系統(tǒng)選用一個更安全的密碼。

mysql?-u?root?-p

? ? 輸入MariaDB的root密碼,即可登錄 mysql shell。

mysql>?create?database?nextcloud?CHARACTER?SET?utf8mb4?COLLATE?utf8mb4_general_ci;? mysql>?grant?all?privileges?on?nextcloud.*?to?nextcloud@localhost?identified?by?'nextcloud';? mysql>?flush?privileges;

5、為Nextcloud生成一個自簽名SSL證書

? ? 我會讓客戶端以https連接來運行Nextcloud,這里我使用OpenSSL來創(chuàng)建自己的自簽名SSL證書。

mkdir?-p?/etc/nginx/cert/

? ? 如下,使用openssl生成一個新的SSL證書。

openssl?req?-new?-x509?-days?365?-nodes?-out?/etc/nginx/cert/nextcloud.crt?-keyout?/etc/nginx/cert/nextcloud.key

? ? 最后使用 chmod 命令將所有證書文件的權(quán)限設(shè)置為 600。

chmod?700?/etc/nginx/cert chmod?600?/etc/nginx/cert/*

四、Nextcloud 12安裝配置??

1、下載和安裝Nextcloud

? ? 我直接使用wget命令下載Nextcloud到服務(wù)器上。

wget?https://download.nextcloud.com/server/releases/nextcloud-12.0.0.zip

? ? 解壓Nextcloud,并將其移動到/usr/share/nginx/html/目錄。

unzip?nextcloud-12.0.0.zip mv?nextcloud/?/usr/share/nginx/html/

? ? 下一步,轉(zhuǎn)到Nginx的web根目錄為Nextcloud創(chuàng)建一個data文件夾,推薦選擇一個比較大的分區(qū)放置data目錄,因為以后上傳的數(shù)據(jù)都會放置在里面。

cd?/usr/share/nginx/html/ mkdir?-p?nextcloud/data/

? ? 變更nextcloud目錄的擁有者為nginx用戶和組。

chown?nginx:nginx?-R?nextcloud/

2、在Nginx中為Nextcloud配置虛擬主機

? ? 我們已經(jīng)下載好了Nextcloud源碼,并配置好了讓它運行于Nginx服務(wù)器中,但我們還需要為它配置一個虛擬主機。在Nginx的conf.d目錄下創(chuàng)建一個新的虛擬主機配置文件nextcloud.conf。

vim?/etc/nginx/conf.d/nextcloud.conf

? ? 將以下內(nèi)容粘貼到虛擬主機配置文件中:

upstream?php-handler?{server?127.0.0.1:9000;#server?unix:/var/run/php5-fpm.sock; }server?{listen?80;server_name?pan.wzlinux.com;#?enforce?httpsreturn?301?https://$server_name$request_uri; }server?{listen?443?ssl?http2;server_name?pan.wzlinux.com;ssl_certificate?/etc/nginx/cert/nextcloud.crt;?ssl_certificate_key?/etc/nginx/cert/nextcloud.key;#?Add?headers?to?serve?security?related?headers#?Before?enabling?Strict-Transport-Security?headers?please?read?into?this#?topic?first.add_header?Strict-Transport-Security?"max-age=15768000;includeSubDomains;?preload;";##?WARNING:?Only?add?the?preload?option?once?you?read?about#?the?consequences?in?https://hstspreload.org/.?This?option#?will?add?the?domain?to?a?hardcoded?list?that?is?shipped#?in?all?major?browsers?and?getting?removed?from?this?list#?could?take?several?months.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;#?Path?to?the?root?of?your?installationroot?/usr/share/nginx/html/nextcloud/;location?=?/robots.txt?{allow?all;log_not_found?off;access_log?off;}#?The?following?2?rules?are?only?needed?for?the?user_webfinger?app.#?Uncomment?it?if?you're?planning?to?use?this?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;location?=?/.well-known/carddav?{return?301?$scheme://$host/remote.php/dav;}location?=?/.well-known/caldav?{return?301?$scheme://$host/remote.php/dav;}#?set?max?upload?sizeclient_max_body_size?512M;fastcgi_buffers?64?4K;#?Enable?gzip?but?do?not?remove?ETag?headersgzip?on;gzip_vary?on;gzip_comp_level?4;gzip_min_length?256;gzip_proxied?expired?no-cache?no-store?private?no_last_modified?no_etag?auth;gzip_types?application/atom+xml?application/javascript?application/json?application/ld+json?application/manifest+json?application/rss+xml?application/vnd.geo+json?application/vnd.ms-fontobject?application/x-font-ttf?application/x-web -app-manifest+json?application/xhtml+xml?application/xml?font/opentype?image/bmp?image/svg+xml?image/x-icon?text/cache-manifest?text/css?text/plain?text/vcard?text/vnd.rim.location.xloc?text/vtt?text/x-component?text/x-cross-domain-polic y;#?Uncomment?if?your?server?is?build?with?the?ngx_pagespeed?module#?This?module?is?currently?not?supported.#pagespeed?off;location?/?{rewrite?^?/index.php$uri;}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)(/.*)$;include?fastcgi_params;fastcgi_param?SCRIPT_FILENAME?$document_root$fastcgi_script_name;fastcgi_param?PATH_INFO?$fastcgi_path_info;fastcgi_param?HTTPS?on;#Avoid?sending?the?security?headers?twicefastcgi_param?modHeadersAvailable?true;fastcgi_param?front_controller_active?true;fastcgi_pass?php-handler;fastcgi_intercept_errors?on;fastcgi_request_buffering?off;}location?~?^/(?:updater|ocs-provider)(?:$|/)?{try_files?$uri/?=404;index?index.php;}#?Adding?the?cache?control?header?for?js?and?css?files#?Make?sure?it?is?BELOW?the?PHP?blocklocation?~?\.(?:css|js|woff|svg|gif)$?{try_files?$uri?/index.php$uri$is_args$args;add_header?Cache-Control?"public,?max-age=15778463";#?Add?headers?to?serve?security?related?headers?(It?is?intended?to#?have?those?duplicated?to?the?ones?above)#?Before?enabling?Strict-Transport-Security?headers?please?read?into#?this?topic?first.add_header?Strict-Transport-Security?"max-age=15768000;includeSubDomains;?preload;";##?WARNING:?Only?add?the?preload?option?once?you?read?about#?the?consequences?in?https://hstspreload.org/.?This?option#?will?add?the?domain?to?a?hardcoded?list?that?is?shipped#?in?all?major?browsers?and?getting?removed?from?this?list#?could?take?several?months.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;#?Optional:?Don't?log?access?to?assetsaccess_log?off;}location?~?\.(?:png|html|ttf|ico|jpg|jpeg)$?{try_files?$uri?/index.php$uri$is_args$args;#?Optional:?Don't?log?access?to?other?assetsaccess_log?off;} }

? ?下面測試一下該Nginx配置文件是否有錯誤,沒有的話就可以重啟服務(wù)了。

#?nginx?-t nginx:?the?configuration?file?/etc/nginx/nginx.conf?syntax?is?ok nginx:?configuration?file?/etc/nginx/nginx.conf?test?is?successful #?systemctl?restart?nginx.service

3、Nextcloud安裝

? ? 打開你的Web瀏覽器,輸入你為Nextcloud設(shè)置的域名,我這里設(shè)置為pan.wzlinux.com,然后會重定向到安全性更好的https連接。

? ? 設(shè)置你的管理員用戶名和密碼,然后輸入數(shù)據(jù)驗證信息,點擊 '完成安裝(Finish Setup)'。

??

參考文檔:https://docs.nextcloud.com/server/12/admin_manual/installation/index.html


? ? ? ? ? ? ? ? ? ? ? ? ? ??

轉(zhuǎn)載于:https://blog.51cto.com/wzlinux/1945314

超強干貨來襲 云風(fēng)專訪:近40年碼齡,通宵達(dá)旦的技術(shù)人生

總結(jié)

以上是生活随笔為你收集整理的是时候该搭建自己的私有云盘了——nextcloud 12的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。