
ç§ã¯é·ãéãããŒã ãµãŒããŒãŸãã¯500人ãŸã§ã®ãŠãŒã¶ãŒãããå°ããªäŒç€Ÿã§Owncloudãæ§ç¯ããããã®å®å šãªãã¥ãŒããªã¢ã«ãæžããããšæã£ãŠããŸããã Owncloudã¯çŽ æŽããããªãŒãã³ãœãŒã¹ãããžã§ã¯ãã§ãããããªãã¯ããªãèªèº«ã®ã€ã³ãã©äžã§ããªãèªèº«ã®ããŒãžã§ã³ã®åæãµãŒããŒãäžããããšãã§ããŸãã ãã®æ©èœã¯Dropboxã«éåžžã«äŒŒãŠããŸãããããã€ãã®ç¹ã§ããããäžåããŸãã 巚倧ãªãã©ã¹-ã¹ãã¬ãŒãžããªã¥ãŒã ã«å¯Ÿããå¶éã®æ¬ åŠããµãŒããŒã«å¯Ÿãããã«ã³ã³ãããŒã«ã ãã€ãã¹ãæããã§ããããªãèªèº«ããã®äžåèªããã¹ãŠå®ããã¡ã¶ãã³ãŸãã¯ã¯ããŒãŒããã®äžã«ãããµãŒããŒã®ä¿¡é Œæ§ãå¿é ããå¿ èŠããããŸãã
ããæè¿ãç§ã¯ããŒã ã¯ã©ãŠãç°å¢ã§Owncloudãå±éãããšãã課é¡ã«çŽé¢ããŸããã ç§ã¯æ£çŽã«2ãªããã«ã®ã³ãŒã·ã£ã»ãã·ã¢ã»ã€ã³ããªã¢ã«ã»ã¹ã¿ãŠããäœæãããã¹ãŠããŸãšããŠèªåã®çµéšãå ±æããããšã«ããŸããã ããã§ãä»æ¥ã¯æ¬¡ã®ããšãèŠãŠãããŸãã
- çŸåšã®LEMPã¹ã¿ãã¯ã®å±é
- Httpsã èªå蚌ææžæŽæ°ã§Nginxã§æå·åããŸããã
- Owncloudçšã®Nginxã®æ§æ
- PHP apcuãã£ãã·ã³ã°
- 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ãæäŸããŸãã
- Apache -Apache 2.4ã®èšŒææžãèªåçã«ååŸããŠã€ã³ã¹ããŒã«ããŸãã ããŒã443ã䜿çš
- Nginx - Nginxã®èšŒææžãèªåçã«ååŸããŠã€ã³ã¹ããŒã«ããŸãã ã¢ã«ãã¡ç ãæ©æçç£ã ããŒã443ã䜿çš
- webroot-ã¢ã¯ãã£ããªãµãŒããŒã®ã«ãŒããã£ã¬ã¯ããªã«ãã¡ã€ã³æ€èšŒã«å¿ èŠãªãã¡ã€ã«ãäœæããŸãã ããŒã80ã䜿çš
- ã¹ã¿ã³ãã¢ãã³ -æ€èšŒã®ããã«å€éšããã®å¿ èŠãªèŠæ±ã«å¿çããã¹ã¿ã³ãã¢ãã³ãµãŒããŒãèµ·åããŸãã ããŒã80ãŸãã¯443ã䜿çšããŸãã æ©èœããWebãµãŒããŒãæããªãã·ã¹ãã ããã³ãã®ä»ã®å Žåã
- æå -æåã³ããŒããŒã¹ããå¿ èŠãªå®å šæåã¢ãŒãã ã¿ãŒã²ãããã·ã³äžã«ãªãããŒãçæãããšãã«äœ¿çšãããŸãã ããšãã°ãã«ãŒã¿ãŒã®å Žåã
ãã®çµæããµãŒããŒãå®å šã«å¶åŸ¡ã§ããªãç¶æ³ãªã©ãããŸããŸãªäœ¿çšã·ããªãªã«é©ããæ±çšã»ãããçšæãããŠããŸãã ã¢ã«ãã¡ã¹ããŒã¿ã¹ã®ããã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 /ãã£ã¬ã¯ããªã«å ¥ããã·ã³ããªãã¯ãªã³ã¯ãäœæããŸãã ãã¡ã€ã«ã®äžã«ãããŸãïŒ
- cert.pemïŒãã¡ã€ã³ã®èšŒææž
- chain.pemïŒèšŒææžãæå·åããŸããã
- fullchain.pemïŒcert.pemããã³chain.pemããã®çµåããã蚌ææž
- privkey.pemïŒèšŒææžã®ç§å¯éµ
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
æ§æãã¡ã€ã«ã¯ã³ã¡ã³ããèæ ®ããŠæžãçŽãããŸãã ã ç¹ã«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ã«
*å象
ããªãŒã»ãã©ãã§ãããã ãŒãã³ã°ã»ãã¯ãã£ãŒãº
ããããDostableã¯è³ãåŸããŸããã§ããã 圌ã¯å£ã«ããããŠããã€ãã®æ¿ãæããã
-ããã¯äœã§ããïŒ åœŒã¯å°ããã
ããããç§ã®ã¢ã€ãã¢ã§ãããšãžã«ããŒãããã¯èšããŸããã ãç§ãã¡ã¯...ããã¯...ããžãã¹ã®æ¬èœã®çŸãã ãšæã£ãããšåœŒã¯ã¯ã£ãããšãããã®èšèããçãããæŽç·Žãããç¹çŽ°ããšããŠããç§ãã¡ãããã§äœãåºãæ°ããåç»åã«ã€ããŠäººã ã«äŒããããã«ãæããã«ããã
Dostableã¯æ¿ã®1ã€ãåãäžãã䌞ã°ããæã§ãããã€ããã§ãæ¹å€çãªç®ã§èª¿ã¹ãŸããã ããã¯èªã¿ãŸããïŒ
å°æ¥ã®é±ã«ç§ãã¡ã¯ããã¯ããŸã
ããªã¢ã¹ãšã¡ãªãµã³ãã©
2éšæ§æã®ã©ãã³ãã£ãã¯ããã²ãã£ã€
ãæž èŽããããšãããããŸããã
ãããããšåœŒã¯èšãè¡šããã«èšã£ãã
-ããã¯æªãã§ããïŒ ã€ã¶ãããžã«ããŒãããã¯ããã£ããšèšã£ãã -ããã¯ãèŠèŽè ãç¥ãå¿ èŠããããã¹ãŠã®ãã®ãããããã§ãã
ãèš±å¯ããšDostableã¯ããžã«ããŒãããã®ããŒãã«ãããã§ãŒã¯ãåãåºããŠèšã£ãã
ãã°ããã®éã圌ã¯ããŒãã®è£ã«ãããã®ãæ¥ãã§åŒã£æ»ããæžããããã®ãèªãããšãèš±å¯ããŸããã
ç¥ãšäººã ã¯ããã§ã¯ãªããšèšã£ããã圌ãã¯äœãèããªã
ããªã¢ã¹ãšã¡ãªãµã³ãã©ã
çŠããããLupviãã¹ããªãŒ
æ ç±ã¯ç©ºéãšæéãåŸæããŸãïŒ
ããªãã¯æºãã¶ãããŸã
1000ã®ã¹ã©ã³ã®åå ã§ïŒ
ãã¯ã¿ãŒãšãžã«ããŒãããã¯æ éã«ããã¹ããèªã¿ãŸããã ã ãããå€åœèªã§ã©ã³ãã¡ãã¥ãŒãåŠã³ãŸãããã ãããŠãèšèªã¯ç¢ºãã«èŠç¥ãã¬äººã§ããã ããããææªã®ããšã¯ã圌ãåããã€ãã£ãã«èŠããããšã§ãã
ããŸããç§ã¯ç¥ããªãâŠããžã«ããŒãããã¯æ éã«èšã£ãã -å®éã«ã¯...äœãçŠããããŠããã®ã...ãããš...ããã¯ãã¹ãŠå®è©±ã«åºã¥ããŠãããååã ããå€æŽãããŠããŸãã è¥ãäžä»£ã«ãšã£ãŠã¯ãããã°ããã®çµµã圹ã«ç«ã€ãšæããŸããã ã芧ãã ãããããŒããŒã¯äŒã£ãããšã¯ãããŸãã-ããã¯æ²åã§ãã ãã®ãã¹ãŠããããš...éåžžã«ãéåžžã«æ²ããã -圌ã¯ã¿ãã¬ãããèŠãŸããã -äžæ¹ãããã«ã¯ééããªãäœãããããŸãã ãããš...-圌ã¯æããã«äœããå¿é ããŠããŸããã ãããããå®éã«ã¯ã象ãèŠããŠããŸãããã 圌ã®å£°ã¯éåžžã«çœªæªæããããŸããã ãã¯ãªãã¯ããæ¥ãç§ã¯äžæ¥äžä»äºãããŠããŸããããæ°åé ã®ãŸãŠãèŠããŠããŸããããããããæ°ã¥ããã§ããããã
ãã¹ã¿ãã«ã¯åœŒã®ç®ããŸã°ãããããã«ç©Žããããã 象ãã©ãããæ¥ãã®ãã圌èªèº«ã¯ç¥ããŸããã§ããããããããã®æ°ãã粟ç¥çãªåªåã¯ã圌ã«åçãã©ã®ããã«äœãããã¹ãããšããéåžžã«æ確ãªã¢ã€ãã¢ãäžããŸããã åé ã®è±¡-ãŸã第äžã«ãããã¯ãŸã£ããæªããããŸããã

ãããã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ã§ãšã©ãŒãä¿®æ£ããæ§æãã¡ã€ã«ãå®æãããŸããã