工做多年以後發現有太多的電子資料處處存放。我的電腦是Mac,硬盤都不大,放不了太多東西。而且有時候想隨時隨地存放一些東西。全部就有了你們一個私有存儲的需求php
我的休息在家常常喜歡看電影電視劇,全部就有個想法,上班空隙能夠下載本身喜歡看的資源,而後晚上或者休息日能夠直接在電視上看,這樣就想到了經過DLNA服務來和私有云結合起來css
PChtml
手機端mysql
上圖是我家的私人機房,是否是很牛逼。哈哈。咱們整個系統都搭建在Mini PC(若是隻是我的測試能夠隨便搞個虛擬機就好了)上,很是小。適合放在家裏。本人在京東購買的,有須要的能夠私聊具體信息。nginx
硬件信息以下ajax
操做系統:Ubuntu 18.04sql
硬件配置:8G內存 + 1T機械硬盤 + 4個CPU數據庫
環境:nginx + fpmjson
nextcloud 是一個php開發的軟件,官網地址:https://nextcloud.com/ 。官網提供app方便移動上傳。同時PC端提供了大量的插件方便擴展。安全
php源碼下載地址:https://nextcloud.com/install/# ,下載server端的。
#安裝nginx sudo apt-get install nginx #安裝php-fpm 和 php 擴展。本人版本是7.2。 sudo apt-get install -y php7.2-fpm php7.2-mbstring php7.2-soap php7.2-zip php7.2-xmlrpc php7.2-xml php7.2-readline php7.2-opcache php7.2-mysql php7.2-json php7.2-gd php7.2-curl php7.2-common php7.2-cli php7.2-cgi #安裝數據庫 sudo apt-get install mysql-server mysql-client
#nginx 虛擬主機的配置內容 upstream php-handler { server 127.0.0.1:9001; } server { listen 80; listen 10000; server_name www.54php.cn; root /data/xxxx/yyyy/nextcloud; index index.php index.html; 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; 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 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; } 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; # Optional: Don't log access to assets access_log off; } location ~ \.(?:png|html|ttf|ico|jpg|jpeg)$ { try_files $uri /index.php$uri$is_args$args; access_log off; } }
而後經過訪問域名 第一次會 進入安裝頁面,你們填寫具體信息就行了
文件存儲目錄更改,默認存儲在源碼目錄 data 目錄。例如你的源碼 /data/xxxx/yyyy/nextcloud 。
那麼存儲目錄就是 /data/xxxx/yyyy/nextcloud/data。以下圖
爲何要修改存儲目錄?
我認爲不該該把存儲的東西 和 源碼 放在一塊兒,由於源碼部分能夠被誤刪除,因此爲了保證數據的安全要隔離全部私人云數據。
經過修改 config/config.php 中的 datadirectory ,例如個人就是
'datadirectory' => '/data/nextcloud_data',
你們注意這個 存放目錄,接下來的DLNA 智能電視雲就從這裏來的。這樣我就把存放的文件 和 php源碼隔離開了。後面我作備份保證數據安全也好作了。
如今基本上家家都換上了智能電視,那麼什麼是智能電視?舉個手機的例子,之前我前兩個手機都是國產的普通手機,後來進入了智能手機時代。同理 電視也是同樣,就是一個安裝了操做系統的電視。能夠理解爲一個顯示屏很大的電腦。
sudo apt-get install minidlna
#文件路徑 /etc/minidlna.conf #port 服務端口,默認爲8200 #media_dir 媒體目錄能夠設置多個,如:media_dir=V,/noah/videos(逗號前爲類型標識:A音頻,P圖片,V視頻) #friendly_name 服務名稱,在其它設備中看到的名稱 #inotify 設置爲true,將自動發現媒體目錄中的新文件 #個人配置以下 port=8200 friendly_name=NasDLNA #認真看上面的截圖,是否是就是顯示的名稱 inotify=yes media_dir=V,/data/nextcloud_data/xxxxx/files/movie/bt media_dir=V,/data/nextcloud_data/xxxxx/files/movie/大視頻
重點講解下 media_dir 和 port 。
port 配置的端口能夠經過網頁直接訪問,會展現一些信息
media_dir 你們看到我配置的路徑 是否是就是私人云存儲文件的地方。下圖是私有云截圖
根據上面的操做 ,本人將私人存儲 和 智能電視雲就都完成了。我就能夠在公司,在外面 隨時隨地的存放東西到家裏。家裏來親朋好友了,能夠經過電視給你們播放一些視頻和圖片。