動的IPずLet's EncryptでOwncloudをれロから䜜成したす。 千匹の象*





私は長い間、ホヌムサヌバヌたたは500人たでのナヌザヌがいる小さな䌚瀟でOwncloudを構築するための完党なチュヌトリアルを曞きたいず思っおいたした。 Owncloudは玠晎らしいオヌプン゜ヌスプロゞェクトであり、あなたはあなた自身のむンフラ䞊であなた自身のバヌゞョンの同期サヌバヌを䞊げるこずができたす。 その機胜はDropboxに非垞に䌌おいたすが、いく぀かの点でそれらを䞊回りたす。 巚倧なプラス-ストレヌゞボリュヌムに察する制限の欠劂、サヌバヌに察するフルコントロヌル。 マむナスも明らかです。あなた自身がこの䞍名誉をすべお守り、メザニンたたはクロヌれットの䞭にあるサヌバヌの信頌性を心配する必芁がありたす。



ごく最近、私はホヌムクラりド環境でOwncloudを展開するずいう課題に盎面したした。 私は正盎に2リットルのコヌシャ・ロシア・むンペリアル・スタりトを䜜成し、すべおをたずめお自分の経隓を共有するこずにしたした。 そこで、今日は次のこずを芋おいきたす。



  1. 珟圚のLEMPスタックの展開
  2. Https。 自動蚌明曞曎新でNginxで暗号化したしょう
  3. Owncloud甚のNginxの構成
  4. PHP apcuキャッシング
  5. NFSを介しお倖郚倖郚ストレヌゞを接続する


スタヌタヌキット



サヌバヌのオペレヌティングシステムはUbuntu 16.04.1 Server  torrent です。 最適なオプションは仮想マシンです。 これは、移行の容易さ、リ゜ヌス、スナップショット、およびその他の利点を動的に割り圓おるこずができるため、非垞に優れた゜リュヌションです。 仮想マシンのサむズは10〜15 GBです。 これはシステムにずっお十分以䞊です。



すべおのデヌタが保存される倖郚ストレヌゞ owncloudのデヌタディレクトリ。 サむズ-ニヌズに応じお。 100 GBのオプションを怜蚎するこずをお勧めしたす。 ストレヌゞずコアサヌバヌロゞックを分離するず、構成の柔軟性が向䞊したす。 この堎合-システム甚のSSDずデヌタ甚のNASのHDD。 倖郚デヌタパヌティションを接続する堎合、移行に関しお柔軟性があり、突然必芁になった堎合に速床たたはボリュヌムを増やすこずができたす。



ドメむンず倖郚IPアドレス -無料のipv4アドレスの死にかけおいるプヌルの状況では、プロバむダヌは癜い倖郚アドレスだけを提䟛する可胜性は䜎くなりたす。 灰色のアドレスがある堎合、実行できるこずはほずんどありたせん。 VPNトンネルを癜いIPでVPSに転送し、そこから螊りたしょう。 ただし、プロバむダヌは完党に癜いアドレスを提䟛する堎合がありたすが、静的ではなく、動的です。 さらに、アドレスは巊かかずの芁請で簡単に倉曎でき、セッションは真倜䞭に䞭断し、加入者は新しいIPを受け取りたす。 珟圚のケヌスでは、RouterOS v6.14以降、無料のダむナミックDNSを実行できるMikroTikルヌタヌがありたす。 この喜びはIP / Cloudセクションにありたす。 機胜を接続した埌、ルヌタヌは123456b7890f.sn.mynetname.netずいう圢匏のドメむン名を受け取りたす。 このドメむンは、プロバむダヌが提䟛するipv4アドレスを垞に指したす。



画像



ドメむンは第4レベルを提䟛したす。 レベル2を所有しおいない堎合、通垞のStartSSLおよび他の認蚌センタヌは機胜したせん。 以前は、これによりブラりザが呪われた自己眲名蚌明曞が䜿甚されおいたした。 さお、Let's Encryptが登堎し、問題を解決したした。



動的IPナヌザヌspectreobを䜿甚した出版物ホヌムホスティングサむトで 詳しく説明されおいる代替オプションがありたす。



LEMPを展開する



おそらく、最も䜿い慣れた䜜業甚ナヌティリティのむンストヌルから始める䟡倀がありたすhtop、iotop、iftop、mc。 次に、LEMP自䜓Linux、Nginx゚ンゞンXず発音、MySQL / MariaDB、およびPHPに進みたす。 すでにLinuxがありたす。 Ubuntu 16.04はなぜDebianやCentOSではないのですか 私はrpmが奜きではありたせん。Ubuntuでは、最新の゜フトりェアバヌゞョンを䜿甚したリポゞトリの点で簡単です。 バトルサヌバヌでの「make install」の緎習は本圓に奜きではありたせん。 それでも、最善の方法はパッケヌゞマネヌゞャヌを䜿甚するこずです。 この原則を順守したす。



UPD最初に、通垞のsudo apt install nginxを䜜成しお、新しいリポゞトリに曎新した埌、すべおの構成が通垞の堎所に残るようにしたす。



nginxの最新バヌゞョンでリポゞトリを远加したす。 いく぀かのバグず脆匱性がクロヌズされたした。 Nginx開発者のGPGキヌをコピヌし、aptの新しいリポゞトリ゜ヌスを䜜成したす。

wget http://nginx.org/keys/nginx_signing.key sudo apt-key add nginx_signing.key sudo nano /etc/apt/sources.list.d/nginx.list
      
      





Ubuntu 16.04 Xenialのリポゞトリリンクをファむルに远加したす。

deb http://nginx.org/packages/mainline/ubuntu/ xenial nginx

deb-src http://nginx.org/packages/mainline/ubuntu/ xenial nginx







nginxをむンストヌルし、埌で構成したす。

 sudo apt-get update sudo apt-get install nginx
      
      





MariDBMySQLの珟圚のフォヌクをデプロむし、サヌビスの保守性を確認したす。



 sudo apt-get install mariadb-server mariadb-client sudo systemctl status mysql.service
      
      





匷化手順を実行し、テストベヌスずその他の朜圚的なセキュリティホヌルを切断したす。



 sudo mysql_secure_installation
      
      





䞀連の質問に答える必芁があるダむアログが開始されたす。 同じダむアログで、rootのパスワヌドを蚭定したす 。 埌でowncloudのベヌスを䜜成するずきに必芁になりたす。



PHP7.0、php-fpm、およびowncloudが関連サヌビスず連携するために必芁なモゞュヌルをむンストヌルしたす。



 sudo apt-get install php7.0 php7.0-mysql php7.0-fpm php7.0-gd php7.0-json php7.0-curl php7.0-zip php7.0-xml php7.0-mbstring
      
      





Owncloudは環境倉数を線集する必芁もありたす



 sudo nano /etc/php/7.0/fpm/pool.d/www.conf
      
      





次の行のコメントを解陀したす。



 env[HOSTNAME] = $HOSTNAME env[PATH] = /usr/local/bin:/usr/bin:/bin env[TMP] = /tmp env[TMPDIR] = /tmp env[TEMP] = /tmp
      
      





Let's Encryptを蚭定しおNginxを蚭定したす



画像



Let's Encryptは、無料の自動化されたオヌプンな認蚌機関を提䟛する非営利団䜓です。 圌らに感謝したす。 おそらく、本質的に評刀を販売する認蚌センタヌは、珟圚、組織認蚌OVたたは拡匵認蚌EVの高玚蚌明曞から䞻な利益を埗るこずを䜙儀なくされるでしょう。 このタむプの蚌明曞は法人のみが利甚でき、条件付きLLC Horns and Hoovesの存圚を確認したす。 同時に、ドメむンの所有暩、䌚瀟自䜓、公蚌されたドキュメント、その他のニュアンスがチェックされたす。



個人䜿甚の堎合、Let's Encryptのドメむン怜蚌蚌明曞で十分です。 このオプションは基本的に、example.comドメむンに接続しおいるずいう事実のみを確認したす。 同時に、Man-in-the-Middle攻撃、ランディングペヌゞぞのあらゆる皮類のゎミの泚入MosMetro Wi-Fiずモバむルオペレヌタヌに挚拶したすから私たちを保護し、パブリックネットワヌクを䜿甚するずきにパスワヌドを傍受したす。 自分のOwncloudに最適です。 自己眲名蚌明曞を䜿甚しないのはなぜですか







Owncloudには、ファむルたたはディレクトリぞのリンクを人に転送できる優れた「共有リンク」機胜がありたす。 突然50 GBのデヌタを転送する必芁がある堎合に非垞に䟿利です。より䜿い慣れたDropboxずGoogleドラむブでは、これを無料で蚱可しおいたせん。 間違いなく、䌚蚈士オリンピアヌド・シギスムドノナに、圌女のブラりザが赀く光っおいお、 パキスタンのハッカヌが無効な蚌明曞のためにひどくクラックしたず叫ぶ理由を説明したくありたせん。 さらに、すべおが非垞に簡単です。



画像



Let's Encryptの䞻なアむデアは、90日間の短い有効期間で蚌明曞を自動的に発行するこずです。 プロゞェクトの䜜成者によるず、これにより、䟵害された蚌明曞が流通から自動的に削陀されるため、セキュリティが向䞊したす。 ドメむン怜蚌のために、サヌビスはいく぀かのシナリオでcertbot-autoを提䟛したす。



  1. Apache -Apache 2.4の蚌明曞を自動的に取埗しおむンストヌルしたす。 ポヌト443を䜿甚
  2. Nginx - Nginxの蚌明曞を自動的に取埗しおむンストヌルしたす。 アルファ版 、早期生産。 ポヌト443を䜿甚
  3. webroot-アクティブなサヌバヌのルヌトディレクトリにドメむン怜蚌に必芁なファむルを䜜成したす。 ポヌト80を䜿甚
  4. スタンドアロン -怜蚌のために倖郚からの必芁な芁求に応答するスタンドアロンサヌバヌを起動したす。 ポヌト80たたは443を䜿甚したす。 機胜するWebサヌバヌを持たないシステムおよびその他の堎合。
  5. 手動 -手動コピヌペヌストが必芁な完党手動モヌド。 タヌゲットマシン䞊にないキヌを生成するずきに䜿甚されたす。 たずえば、ルヌタヌの堎合。


その結果、サヌバヌを完党に制埡できない状況など、さたざたな䜿甚シナリオに適した汎甚セットが甚意されおいたす。 アルファステヌタスのため、Nginxでの蚌明曞の自動むンストヌルは䜿甚したせん。たた、動䜜䞭のWebサヌバヌの構成の線集は非垞に密接なプロセスです。 私は本圓に、デバッグされたスクリプトの曲がった仕事に出䌚いたくありたせん。 それでも、蚌明曞を取埗するプロセスは自動化されおいたす。



開始するには、certbotの最新バヌゞョンをダりンロヌドしおむンストヌルしたす。



 cd /usr/local/sbin sudo wget https://dl.eff.org/certbot-auto sudo chmod a+x /usr/local/sbin/certbot-auto
      
      





nginxの蚭定を線集し、webbot certbotオプションが曞き蟌たれるディレクトリぞのアクセスを蚱可したす。



  sudo nano /etc/nginx/sites-available/default
      
      





行を远加したす。



 location ~ /.well-known { allow all; }
      
      





nginxサヌビスの再起動



 sudo service nginx restart
      
      





これで、certbotを実行しお、ドメむンの蚌明曞を生成できたす。 特定のケヌスでは、これはMikrotik DDNSの4番目のレベルのドメむンです。 3番目であっおも、他の有効なブラりザ蚌明曞はあなたに眲名したせん。 UPD デフォルトのwebrootパスを間違えたした。 Ubuntu 16.04では、/ usr / share / nginx / htmlではなく、/ var / www / htmlです。 念のため、rootディレクティブの埌に/ etc / nginx / sites-available / defaultに曞かれおいる内容を確認しおください。 たずえば、root / var / www / html;



 sudo certbot-auto certonly -a webroot --webroot-path=/var/www/html -d example.sn.mynetname.net
      
      





ダむアログボックスで、メヌルアドレスを入力し、䜿甚条件に同意する必芁がありたす。



画像



画像



Certbotは、珟圚のバヌゞョンの蚌明曞を/ etc / letsencrypt / live /ディレクトリに入れ、シンボリックリンクを䜜成したす。 ファむルの䞭にありたす





Diffie-Hellmanキヌを生成したす。



 sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 4096
      
      





玠晎らしい。 Nginx構成で/ etc / letsencrypt / live /ぞのリンクを蚘述するず、垞に珟圚のバヌゞョンになりたす。 ドメむンの新しい構成を䜜成したす。



 sudo nano /etc/nginx/sites-available/example.sn.mynetname.net
      
      





owncloudマニュアルで掚奚される最適化された既補の蚭定。 ポヌト80は自動的に443にリダむレクトしたす

構成ファむルはコメントを考慮しお曞き盎されたした 。 特にgrozamanに感謝したす 。 珟圚、Windows XPおよび䞀郚の叀いシステムをサポヌトしないずいう代償を払っお、セキュリティを改善したした。 Diffie-Hellmanキヌも4096に増加したした。これにより、ハンドシェむク時間がわずかに長くなりたすが、重芁ではありたせん。 ただし、2048ビットを䜿甚できたす。 ssl_staplingずいく぀かの远加ヘッダヌを远加しお、セキュリティを匷化したした。



この構成オプションを䜿甚するず、サむトはhttps://www.ssllabs.comで A +をダむダルしたす 。

たた、この構成では、 https//securityheaders.ioで Aグレヌドを取埗したす 。

固定構成
 upstream php-handler { #server 127.0.0.1:9000; server unix:/run/php/php7.0-fpm.sock; } server { listen 80; server_name meklon.net; #   HTTPS  . return 301 https://$server_name$request_uri; } server { #  HTTPS listen 443 ssl; server_name meklon.net; #    index index.php index.html index.htm index.nginx-debian.html; #   error_log /var/log/nginx/cloud.error.log; access_log /var/log/nginx/cloud.access.log; ### SSL CONFIGURATION ### ssl on; ssl_certificate /etc/letsencrypt/live/meklon.net/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/meklon.net/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/meklon.net/fullchain.pem; ssl_dhparam /etc/ssl/certs/dh4096.pem; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; ssl_ciphers "EECDH+AESGCM:EECDH+CHACHA20:EECDH+AES256:!AES128"; ssl_stapling on; ssl_stapling_verify on; resolver 8.8.4.4 8.8.8.8; ###   SSL ### #     ,  ,     HSTS add_header Strict-Transport-Security 'max-age=631138519; includeSubDomains; preload' always; add_header Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-eval'; style-src 'self' 'unsafe-inline'; img-src 'self' blob data:"; add_header X-Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-eval'; style-src 'self' 'unsafe-inline'; img-src 'self' blob data:"; add_header X-WebKit-CSP "default-src 'self'; script-src 'self' 'unsafe-eval'; style-src 'self' 'unsafe-inline'; img-src 'self' blob data:"; add_header X-Frame-Options "SAMEORIGIN" always; add_header X-Xss-Protection "1; mode=block" always; add_header X-Content-Type-Options "nosniff" always; add_header X-Proxy-Cache "EXPIRED" always; #     Nextcloud add_header X-Robots-Tag "none" always; add_header X-Download-Options "noopen" always; add_header X-Permitted-Cross-Domain-Policies "none" always; #    root /var/www/; #   ,        client_max_body_size 3G; fastcgi_buffers 64 4K; # C gzip      Nextcloud,      gzip off; #    403  404. error_page 403 /core/templates/403.php; error_page 404 /core/templates/404.php; ###    /      ### ###        URL ### rewrite ^/.well-known/carddav /remote.php/carddav/ permanent; rewrite ^/.well-known/caldav /remote.php/caldav/ permanent; # Add index.php to the list if you are using PHP index index.html index.htm index.nginx-debian.html; location ~ /.well-known { allow all; } location / { # First attempt to serve request as file, then # as directory, then fall back to displaying a 404. try_files $uri $uri/ =404; } location = /robots.txt { allow all; log_not_found off; access_log off; } location ~ ^/(?:\.htaccess|data|config|db_structure\.xml|README){ deny all; } location ~ ^/(build|tests|config|lib|3rdparty|templates|data)/ { deny all; } location ~ ^/(?:\.|autotest|occ|issue|indie|db_|console) { deny all; } location ~ \.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; fastcgi_param modHeadersAvailable true; #Avoid sending the security headers twice fastcgi_pass php-handler; fastcgi_intercept_errors on; } }
      
      









叀いnginx蚭定
 upstream php-handler { #server 127.0.0.1:9000; server unix:/run/php/php7.0-fpm.sock; } #Redirect from 80 to 443 server { listen 80; server_name example.sn.mynetname.net; return 301 https://$host$request_uri; } # HTTPS server { listen 443 ssl; server_name example.sn.mynetname.net; ssl_certificate /etc/letsencrypt/live/example.sn.mynetname.net/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.sn.mynetname.net/privkey.pem; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; ssl_dhparam /etc/ssl/certs/dhparam.pem; ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA'; ssl_session_timeout 1d; ssl_session_cache shared:SSL:50m; ssl_stapling on; ssl_stapling_verify on; add_header Strict-Transport-Security max-age=15552001; add_header Cache-Control "public, max-age=7200"; # Add headers to serve security related headers add_header X-Content-Type-Options nosniff; add_header X-Frame-Options "SAMEORIGIN"; 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"; root /var/www/; rewrite ^/.well-known/carddav /remote.php/carddav/ permanent; rewrite ^/.well-known/caldav /remote.php/caldav/ permanent; # Add index.php to the list if you are using PHP index index.html index.htm index.nginx-debian.html; location ~ /.well-known { allow all; } location / { # First attempt to serve request as file, then # as directory, then fall back to displaying a 404. try_files $uri $uri/ =404; } location = /robots.txt { allow all; log_not_found off; access_log off; } location ~ ^/(?:\.htaccess|data|config|db_structure\.xml|README){ deny all; } location ~ ^/(build|tests|config|lib|3rdparty|templates|data)/ { deny all; } location ~ ^/(?:\.|autotest|occ|issue|indie|db_|console) { deny all; } location ~ \.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; fastcgi_param modHeadersAvailable true; #Avoid sending the security headers twice fastcgi_pass php-handler; fastcgi_intercept_errors on; } }
      
      









もちろん、Java、Windows XPなどの叀いバヌゞョンずの互換性が必芁な堎合は、安党でない可胜性のあるプロトコルを蚱可する必芁がありたす。



蚌明曞の曎新を自動化する



--dry-runスむッチを䜿甚しお蚌明曞の曎新を確認したす。これは曎新をシミュレヌトしたすが、実際には䜕も倉曎したせん。



 sudo certbot-auto renew --dry-run
      
      





このコマンドを実行するず、certbotはEFFサヌバヌに接続し、可胜であればそのバヌゞョンを曎新しおから、蚌明曞を曎新しようずしたす。 そしお、利甚可胜なすべおのドメむンだけではありたせん。 ずおも快適です。 蚌明曞を倉曎する日付が合わなかった堎合、䜕も起こりたせん。スクリプトはそれに぀いお通知したす。



 ------------------------------------------------------------------------------- Processing /etc/letsencrypt/renewal/example.sn.mynetname.net.conf ------------------------------------------------------------------------------- Cert not yet due for renewal The following certs are not due for renewal yet: /etc/letsencrypt/live/example.sn.mynetname.net/fullchain.pem (skipped) No renewals were attempted.
      
      





これで、通垞のcrontabスクリプトの実行を远加できたす。



 sudo crontab -e
      
      





内郚では、蚌明曞を曎新し、nginxにリロヌドする通垞のタスクを远加したす。



 30 2 * * 1 /usr/local/sbin/certbot-auto renew >> /var/log/le-renew.log 35 2 * * 1 /etc/init.d/nginx reload
      
      





りェブサむトをアクティベヌトしたす



 sudo ln -s /etc/nginx/sites-available/418402b5554f.sn.mynetname.net /etc/nginx/sites-enabled/
      
      





Owncloudをむンストヌルする



画像

いく぀かのオプションがありたすが、ほずんどの堎合、リポゞトリからのむンストヌルが最も奜たれたす。 パッケヌゞマネヌゞャヌに曎新に関する頭痛の皮を任せたしょう。 䞻なこずは、新しいパッケヌゞを展開する前にバックアップするこずを忘れないこずです。 時には䞍愉快な驚きがありたす。 たず、GPGキヌを远加する必芁がありたす。



 wget -nv https://download.owncloud.org/download/repositories/stable/Ubuntu_16.04/Release.key -O Release.key sudo apt-key add - < Release.key
      
      





その埌、リポゞトリを远加し、owncloud-filesパッケヌゞをむンストヌルしたす。 通垞のowncloudパッケヌゞも䟝存関係に応じおApacheを匕き付けたすが、必芁ありたせん。



 sudo sh -c "echo 'deb http://download.owncloud.org/download/repositories/stable/Ubuntu_16.04/ /' > /etc/apt/sources.list.d/owncloud.list" sudo apt-get update sudo apt-get install owncloud-files
      
      





その結果、/ var / www / owncloudに必芁なものがすべお揃いたす。 Nginxはルヌトディレクトリ/ var / wwwを考慮するため、サヌビスぞのアクセスは次のようになりたす。example.com / owncloud



MariaDBをカスタマむズする



むンストヌルが小さいので、最適化の现かい点には行きたせん。 したがっお、倚かれ少なかれデフォルトの構成でデプロむしたす。 ナヌザヌ名ずパスワヌドは、owncloudがデヌタベヌスぞのアクセスに䜿甚するものず眮き換えたす。



 sudo mysql -uroot -p create database owncloud; create user username@localhost identified by 'password'; grant all privileges on owncloud.* to username@localhost identified by 'password'; flush privileges; exit;
      
      





倖郚ストレヌゞを接続したす



先ほど蚀ったように、仮想マシンを、同期されたデヌタが栌玍されるサヌビスずストレヌゞのたさにロゞックず共有するこずをお勧めしたす。 ここで、必芁に応じお既に実行できたす。 䜕もできたせん。デフォルトのストレヌゞは/ var / www / owncloud / dataになりたす。 私のように行動しお、/ mnt / dataディレクトリを䜜成できたす。このディレクトリに、倖郚ボリュヌムがfstabを介しおマりントされたす。 SSD / HDD、ロヌカルに配眮、たたは同じロヌカルネットワヌクのNASストレヌゞに配眮できたす。 結果のハむブリッドの速床のみをテストするこずを忘れないでください。 これは朜圚的なボトルネックです。 私のホヌムバヌゞョンでは、これはホストマシン䞊のsambaサヌバヌです。誰かがNFSを奜むかもしれたせん。



このようなハむブリッド蚭蚈の远加の利䟿性は、必芁に応じおより高速な、たたはより容量の倧きいオプションに簡単に移行できるこずです。 サヌビスを停止し、新しい接続ボリュヌム䞊の叀い/ mnt /デヌタからすべおのファむルを入力し、fstabでマりントポむントを倉曎しお、サヌビスを再起動するだけで十分です。 突然、叀いHDDからSSD RAIDにデヌタを転送するこずに決めたしたか



キャッシング



画像



重芁なポむント。 メモリキャッシングがなければ、owncloudは非垞に思慮深く機胜したす。 さらに、圌は管理ペヌゞでこれを確実に思い出させたす。 キャッシュ方法の遞択は、システムアヌキテクチャによっお異なりたす。 ここから開発者からの掚奚事項を芋぀けるこずができたす。 芁するに、個人䜿甚および小芏暡むンストヌルにはAPCuのみが掚奚されたす。 小芏暡な組織の堎合、単䞀サヌバヌにむンストヌルする堎合- ロヌカルキャッシュにはAPCu、ファむルロックにはRedis 。 倧芏暡な組織のクラスタヌにむンストヌルする堎合 ロヌカルキャッシュを陀くすべおのRedis 。



開発者は、APCuをロヌカルキャッシュの最速オプションず考えおいたす。 十分なRAMがある堎合は、ロヌカルキャッシュにAPCuを䜿甚し、ファむルロックにRedisを䜿甚するこずをお勧めしたす。 十分なメモリがない堎合は、䞡方にRedisを䜿甚するこずをお勧めしたす。



このバヌゞョンでは、 APCuのみを䜿甚したす。 phpに適切なモゞュヌルをむンストヌルしたす。



 sudo apt-get install php-apcu
      
      





これらをowncloud蚭定ファむル-config.phpに远加するのはずおも簡単です



 'memcache.local' => '\OC\Memcache\APCu',
      
      





私たちの発案の最初の打ち䞊げ



画像



すべおのサヌビスを再起動するために、マシンを再起動したす。 example.com/owncloudに移動し 、管理者アカりント、パスワヌド、デヌタディレクトリの堎所このガむドのように/ mnt / data、デヌタベヌスのowncloudナヌザヌからのナヌザヌ名ずパスワヌドを無差別にすべおのボタンに慎重に入力したす。 すべおがうたくいった堎合、すぐにサヌビスのメむンメニュヌが起動し、すべおの性亀が順番に壊れおいるこずを確認できたす。



*千象



テリヌ・プラチェット、ムヌビング・ピクチャヌズ
画像



しかし、Dostableは耳を傟けたせんでした。 圌は壁にもたれおいく぀かの板を指した。



-それは䜕ですか 圌は尋ねた。



「これが私のアむデアです」ずゞルバヌキットは蚀いたした。 「私たちは...それは...ビゞネスの本胜の珟れだず思った」ず圌ははっきりずこれらの蚀葉を、珍しいが掗緎された繊现さずしお、「私たちがここで䜜り出す新しい動画像に぀いお人々に䌝えるために」明らかにした。



Dostableは板の1぀を取り䞊げ、䌞ばした手でそれを぀かんで、批刀的な目で調べたした。 それは読みたした



将来の週に私たちはパックしたす



ペリアスずメリサンドラ



2郚構成のラマンティックトロゲディダ



ご枅聎ありがずうございたした。



「うん」ず圌は蚀い衚せずに蚀った。



-それは悪いですか ぀ぶれたゞルバヌキットはこもったず蚀った。 -それは、芖聎者が知る必芁があるすべおのものがあるからです。



「蚱可」ずDostableは、ゞルバヌキットのテヌブルからチョヌクを取り出しお蚀った。



しばらくの間、圌はボヌドの裏にあるものを急いで匕っ掻き、曞かれたものを読むこずを蚱可したした。



神ず人々はそうではないず蚀ったが、圌らは䜕も聞かない



ペリアスずメリサンドラ、



犁じられたLupviヒステリヌ



情熱は空間ず時間を埁服したす



あなたは揺さぶられたす



1000のスランの参加で



ビクタヌずゞルバヌキットは慎重にテキストを読みたした。 だから、倖囜語でランチメニュヌを孊びたしょう。 そしお、蚀語は確かに芋知らぬ人でした。 しかし、最悪のこずは、圌が同じネむティブに芋えたこずです。



「たあ、私は知らない 」ゞルバヌキットは慎重に蚀った。 -実際には...䜕が犁じられおいるのか...ええず...これはすべお実話に基づいおおり、名前だけが倉曎されおいたす。 若い䞖代にずっおは、いわば、この絵が圹に立぀ず思いたした。 ご芧ください、ヒヌロヌは䌚ったこずはありたせん-それは悲劇です。 このすべお、ええず...非垞に、非垞に悲しい。 -圌はタブレットを芋たした。 -䞀方、これには間違いなく䜕かがありたす。 ええず...-圌は明らかに䜕かを心配しおいたした。 「しかし、実際には、象を芚えおいたせん。」 圌の声は非垞に眪悪感がありたした。 「クリックした日、私は䞀日䞭仕事をしおいたしたが、数千頭のゟりを芚えおいたせんが、おそらく気づいたでしょう。」



ドスタブルは圌の目をたばたきさせずに穎をあけた。 象がどこから来たのか、圌自身は知りたせんでしたが、それぞれの新しい粟神的な努力は、圌に写真がどのように䜜られるべきかずいう非垞に明確なアむデアを䞎えたした。 千頭の象-たず第䞀に、これはたったく悪くありたせん。


最埌たでこのシヌトを読んでくださった皆さんに感謝したす。 私はすべおの詳现を可胜な限り完党に蚘述したかったので、倚くの堎合、盞反するさたざたな゜ヌスを探し回る必芁はありたせんでした。 私はすべおを2回チェックしたしたが、どこかでタむプミスや䞍正確な蚘述をした可胜性があるこずを陀倖しおいたせん。 間違っおあなたの錻を突くのは非垞にありがたいです。



UPD



正しく指摘されたように、すべおの開発者が逃げおきたNextcloudに切り替える必芁がありたす。 私はかなり長い間このシステムに座っおいたので、この点を芋逃したした。



UPD2



grozamanナヌザヌが私に連絡し、暗号化の匷床やその他の埮劙な点に関連する最適でないnginx蚭定を指摘したした。 ここで远加のマニュアルを入手できたす NGINXに基づいたNextcloudのセットアップ



UPD3



certbot / letsencryptがリポゞトリにあるこずを䜕床か指摘したしたが、個別にドラッグしおも意味がありたせん。 Ubuntuの堎合、これは次のずおりです。



 sudo apt-get install letsencrypt
      
      







UPD4



デフォルトのwebrootで゚ラヌを修正し、構成ファむルを完成させたした。



All Articles