自宅甚の氞遠の写真アヌカむブ

叀い写真にノスタルゞックにしたいずいう願望を理解しおいたせん。 しかし、女の子はやり盎すこずができないので、私はみんなのために店を考えなければなりたせんでした。そうすれば、圌らはコンピュヌタヌからピヌナッツやアザラシを芋せようずはしなくなりたした。 連続しおすべおの写真をパブリッククラりドにアップロヌドしたくありたせん。


画像


理論


セル内の曞き換えサむクルの数を超えない堎合、SSDドラむブの寿呜は理論的に無制限です。


挑戊する


家のどのデバむスからでもホヌムフォトアヌカむブを保存および衚瀺するためのシステムを䜜成し、
そしお、次の10たたは20幎のために片付けたす。 同時に、むンタヌネットに接続されたデバむスから写真をアップロヌドしお衚瀺できるようにするために、パブリックストレヌゞサヌビスを䜿甚せず、远加のクラむアント゜フトりェアをむンストヌルしたせん。


腺の遞択は䞻芳的な問題ですが、私自身は小さなフォヌムファクタヌの芁件を策定したした。 さらに、アパヌトの芖界から隠されおいるすべおのものは、原則ずしお、火灜の危険な堎所にあるため、USB経由の食料ず最小限の配線が必芁でした。


その結果、私はRaspberry Pi 3bmalinkaのセットを賌入したした-有名な䞭囜の店で2000r、usb-sata 2.5 "-500rのアルミニりムボックス、通垞のSSDストア240G 4100rで。64gbのSDカヌドず叀代のKPT-8のチュヌブが机の匕き出しにありたした。


理由はわかりたせんが、usb-sataボックスに梱包されたSSDドラむブは、個別に比べお80高䟡です。


Raspberry Piミニコンピュヌタヌの組み立お


魅力的なデザむナヌ、それは泚意ずテヌブル䞊の小さなスペヌスが必芁です。 必芁なツヌルは、プラスドラむバのみです。 Raspberry WebサむトからUbuntu MATEずWin32 Disk Imagerをダりンロヌドし、SDカヌドにシステムの画像を蚘録したした。 ゚キサむティングなものは䜕もありたせん。[OK]をクリックしおください。 ラズベリヌに付属のラゞ゚ヌタヌを少し倉曎したした。 メスで䞡面テヌプの䞀郚を切り取り、KPT-8を塗った埌、残りの䞡面テヌプからピンセットで保護玙を慎重に取り倖し、その堎所に貌り付けたした。


テレビに接続しお、システムを蚭眮し、Raspberry Piが消費する電流を監芖し始めたした。
Raspberry Pi 3bの消費電流は0.8A以䞋です。


SSDドラむブが単独で0.1A動䜜するusb-sataボックスの消費電力は0.36A以䞋
Ubuntu MATEをむンストヌルした埌、Raspberryでビデオを実行しようずしたした。 圌は人生が倱敗したこずにすぐに気づきたした。 䞀般に、完党なシステムは街頭猫のように芋え、その尟にはフヌリガンが猶を瞛っおいたした。


圌はラズベリヌでSSHを開き、構造党䜓をメザニンに運びたした。


sudo apt install openssh-server sudo systemctl enable sshd 

 sudo ufw allow 22 

 ssh -X @ip__ Raspberry_Pi 

SSHポヌトをすぐに開けたせんでした。 guiプログラムによるファむアりォヌル制埡が機胜しなかったため、UFWを䜿甚したした。


システム党䜓をMTS RV6699ルヌタヌに接続したした。 USB駆動の有線ネットワヌクデヌタ。 これに先立ち、RV6699がUSBポヌトに䞎える電流を枬定したした。 RV6699のUSBは萜ち着いお1.5Aを䟛絊し、システム党䜓が問題なく起動したした。 しかし、念のため、ラズベリヌのWifiむンタヌフェむスをオフにしたした。


 ifconfig wlan0 down 

接続されたUSBディスク。 デバむスはデバむスを芋たしたが、ファむルシステムをマりントしたせんでした。 家族の写真を芋るプロセスに関䞎したくないずいう䞍明確な将来においおも、ディスクはNTFSで事前にフォヌマットされおいたした。


userずいう名前の新しいナヌザヌを䜜成したした


 adduser user 

Photoフォルダヌを䜜成しお、新しいナヌザヌ/ home / user /のホヌムフォルダヌにドラむブを接続したす


 mkdir Photo 

USBドラむブ䞊のパヌティションのUUIDを確認したした。


 sudo blkid 

フォルダヌ/ home / user / Photo /にパヌティションをマりントし、ファむルの末尟に行を远加/ etc / fstab


 UUID="7C26EDB626ED7216" /home/user/Photo/ ntfs rw,nls=utf8,gid=plugdev,umask=0000 0 0 

MGTS RV6699のルヌタヌで、ラズベリヌIPアドレスを修正したした。


  > LAN >   

システムを再起動し、すべおが正垞に起動するこずを確認したした。


アヌカむブ内のファむルをダりンロヌドしお衚瀺するためのむンタヌフェヌスを遞択する


アドオンやプラグむンを远加せずに、ブラりザ経由でアクセスする必芁があるこずは明らかです。 速くおファッショナブルであるこずが望たしい。 むンタヌフェヌスが組み立おられおいるキュヌブが長くフェヌドしないようにファッショナブルです。 たた、ブラりザで盎接ファむルを衚瀺および線集できる機胜も必芁でした。


その結果、Cloud Commanderを遞択したした。 高速で、node.jsで蚘述されたブラりザで写真を芋るこずができたす。


蚭眮


Node.jsをむンストヌルするだけでは䞍十分であるため、プログラム甚の独自のむンストヌラヌがあり、远加でむンストヌルする必芁がありたす。
最初にNode.jsを配眮したす


 sudo apt-get install nodejs 

圌女のプログラムむンストヌラヌ


 sudo apt-get install npm 

次に、npmむンストヌラヌを䜿甚しおCloud Commander自䜓のむンストヌルを開始したす。 たた、むンストヌルはルヌトに暩限を芁求したす。


 sudo npm i cloudcmd -g 

Cloud Commanderを起動する


 cloudcmd 

そこにむチゞク、動䜜しおいたせん。 問題があるのはGoogleです。 芁玄するず


 sudo ln -s /usr/bin/nodejs /usr/bin/node 

そしおたた..


 $ cloudcmd url: http://localhost:8000/ 

やったヌ


/usr/local/lib/node_modules/cloudcmd/json/config.jsonフォルダヌのCloud Commander構成を線集したす
/ home / user / Photo /フォルダに接続されたUSBドラむブがすぐに開くようにルヌトパラメヌタを倉曎したす


 "root": "/home/user/Photo/" 

アクセスのためにポヌトを開き、自動実行を構成するために残りたす。


アクセス甚のポヌトを開きたす。


 sudo ufw allow 8000 

自動実行を構成したす。


cloud cmdstartテキストファむルを/ usr / sbin / localに䜜成しお、クラりドコマンダヌの実行に䜿甚したす。


  > cloudcmdstart mcedit cloudcmdstart 

cloudcmdstartでテキストを曞く


 #!/bin/sh sudo -u user cloudcmd --root /home/user/Photo 

/ usr / sbinにコピヌしたす


 sudo cp cloudcmdstart /usr/sbin/ 

cloudcmdstartファむルを起動できるこずをシステムに通知したす。


 sudo chmod +x /usr/sbin/cloudcmdstart 

その埌、起動時にスタヌトアップに远加したす。 ファむル/etc/rc.localを開きたす


 sudo mcedit /etc/rc.local 

最埌から2行目を远加したす。


 /usr/sbin/cloudcmdwin 

F2を保存し、F10゚ディタヌを終了しお再起動したす。


 sudo reboot 

すべおが問題ない堎合は、再起動埌、アパヌトメントのWifiに接続されおいる電話のアドレスを開きたす。


 http://ip__RaspberryPi:8000 

確認のためにコンピュヌタヌから写真をアップロヌドしたした。ファむルのコピヌ速床は1秒あたり玄4mb32mbitで、ボトルネックはusb-sataボックスです。


プロセスで起こりうる問題


  1. 読み取り専甚USBディスク-fstabファむルのディスクレコヌドのマスクを確認したす。すべおれロである必芁がありたす。
  2. apt-get installぱラヌを曞き蟌みたす-コマンドラむンからシステムを曎新し玄1.5時間、コマンドの前にsudoを曞き蟌むこずを忘れないでください
  3. 叀代のテスト甚レヌダヌが疲れる-ssh -Xナヌザヌ@ malinkaを接続しおから、sudo gedit file_pathを呌び出したす。
  4. Webむンタヌフェヌスは必ずしも䟿利ではありたせん-https://winscp.net

アヌカむブぞのアクセスが自宅からのみ必芁な堎合は、それだけです。


アヌカむブをどこでも䜿甚したい堎合は、読み進めおください-少しBDSMがありたす。


Cloud CommanderにはHTTPS経由のアクセスを有効にする方法がないため、束葉杖の準備を始めたす。


たず、自䜜の蚌明曞を䜜成し、Nginx Webサヌバヌをむンストヌルしたす。


蚌明曞は、ナヌザヌずデバむス間のトラフィックを暗号化するために必芁な掗緎されたテキストファむルです。


このようなファむルを自分で䜜成しお、毎幎異なるThawteやその他のものを支払わないようにする方法に぀いおは、VeriSignがステップバむステップでここに曞かれおいたす 。


自䜜の蚌明曞を䜿甚するず、ブラりザは誓い、赀面したすが、接続は暗号化されたす。


画像


Ubuntu MATEで自䜜の蚌明曞を䜜成するために必芁なものはすべおすでにむンストヌルされおいたす。


 sudo apt-get install nginx 

Nginxは/ etc / nginxにむンストヌルされおいたす。CloudCommanderにアクセスするずきにパスワヌド芁求を有効にするには、nginx.conf構成を線集する必芁がありたす。


 sudo gedit /etc/nginx/nginx.conf 

http {}セクションで、パスワヌド怜蚌を有効にし、htpasswdパスワヌドファむルぞのパスを衚瀺する行を远加したす


 http { ....................... auth_basic "closed site"; auth_basic_user_file /home/user/htpasswd; } 

Nginx経由でログむンするためのパスワヌドを含むファむルを䜜成したす


 > htpasswd 

Webサむトhttp://seriyps.ru/crypt/htpasswd/のフォヌムを䜿甚しおパスワヌドを生成し、各アカりントを新しい行からファむルにコピヌしたす。


Cloud Commanderぞの安党なアクセスのために新しいサむトの構成ファむルを䜜成し、/ etc / nginx / sites-availableフォルダヌに配眮したす


 > cloudcmdsite.conf gedit cloudcmdsite.conf sudo cp cloudcmdsite.conf /etc/nginx/sites-enabled 

cloudcmdsite.confファむルの内容


 server { listen 443; client_max_body_size 712m; ssl on; ssl_certificate /home/user/ssl/server.crt; ssl_certificate_key /home/user/ssl/server.pem; server_name malinka.io; access_log /var/log/nginx/malinka.access.log; location / { proxy_pass http://127.0.0.1:8000; } } 

この構成では
ssl_certificate /home/user/ssl/server.crt; -公開蚌明曞ファむル
ssl_certificate_key /home/user/ssl/server.pem;-蚌明曞の秘密鍵


すべおがうたくいったこずを確認しおください。


 sudo nginx -t nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful 

次に、Cloud Commanderを構成する必芁がありたす。 ルヌトボックスから機胜したす。


  gedit /usr/local/lib/node_modules/cloudcmd/json/config.json 

ファむルで、次の行の倀を倉曎したす。


 "username": "user" "password": "   user   http://md5decrypt.net/en/Sha512/" "console": false 

保存したす。


ファむアりォヌルのポヌト443を開きたす。


 sudo ufw allow 443 

ラズベリヌを再起動したす


  sudo reboot 

RV6699ルヌタヌのポヌトを転送したす


  >  > NAT > Port Mapping 

次に、Wifiに接続された電話からhttps // your_external_ipportに移動したす


htpasswdファむルからナヌザヌ名ずパスワヌドを芁求する必芁がありたす。


その結果、少しのお金で、茝きがなく、スペヌスをずらない写真甚のストレヌゞを手に入れたした。 あなたが考えたいず思うように、今埌10幎間の自宅でのサマリヌタむムぞのボヌナス。
私は、そのようなシステムは家庭での䜿甚にのみ適しおいるず確信したした。


既補のNASよりも優れおいるのはなぜですか


安いです。 私は、システムがアクティブな冷华なしで動䜜し、安い䞭囜のファンが来たずきに過熱で死ぬこずはないず確信したした。 携垯電話からファむルをアップロヌドするだけでなく、ブラりザですぐに衚瀺する機胜。 テストファむルを䜜成しお線集したす。 私の意芋では、Googleドラむブよりも速く動䜜したすが、これは私の䞻芳的な意芋です。


他に䜕ができたすか


蚌明曞を䜿甚しおNginxで認蚌を匷化したすが、それでも理由はわかりたせん。



Source: https://habr.com/ru/post/J352494/


All Articles