å éšãããã¯ãŒã¯äžã® Nextcloud ãžã®ãªããŒã¹ ãããã·ã« OpenLiteSpeed ãèšå®ããã«ã¯ã©ãããã°ããã§ãã?
é©ããããšã«ãHabré 㧠OpenLiteSpeed ãæ€çŽ¢ããŠãäœã衚瀺ãããŸããã LSWS ã¯ãŸãšã㪠Web ãµãŒããŒãªã®ã§ããã®äžå ¬å¹³ãæ¥ãã§ä¿®æ£ããŸãã ç§ã¯ãã®ã¹ããŒããšæŽç·Žããã Web 管çã€ã³ã¿ãŒãã§ã€ã¹ãæ°ã«å ¥ã£ãŠããŸãã
OpenLiteSpeed 㯠WordPress ã®ãã¢ã¯ã»ã©ã¬ãŒã¿ãŒããšããŠæãæåã§ãããä»æ¥ã®èšäºã§ã¯ãOpenLiteSpeed ã®ããªãå ·äœçãªäœ¿çšæ³ã玹ä»ããŸãã ã€ãŸãããªã¯ãšã¹ãã®ãªããŒã¹ ãããã· (ãªããŒã¹ ãããã·) ã§ãã ããã«ã¯nginxã䜿çšããã®ãäžè¬çã ãšæããŸããïŒ ç§ãåæããŸãã ã§ãããšãŠãçãã£ãã®ã§ãç§ãã¡ã¯LSWSã«å€¢äžã«ãªããŸããïŒ
ãããã·ã¯åé¡ãããŸããããã©ãã§è¡ãã®ã§ãããã? åæ§ã«çŽ æŽããããµãŒãã¹ãNextcloudã Nextcloud ã䜿çšããŠãã©ã€ããŒããªããã¡ã€ã«å
±æã¯ã©ãŠãããäœæããŸãã ã¯ã©ã€ã¢ã³ãããšã« Nextcloud ã§åå¥ã® VM ãå²ãåœãŠãŸããããããããå€éšãã«å
¬éããããããŸããã 代ããã«ãå
±éã®ãªããŒã¹ ãããã·ãéããŠãªã¯ãšã¹ãããããã·ããŸãã ãã®ãœãªã¥ãŒã·ã§ã³ã«ããã次ã®ããšãå¯èœã«ãªããŸãã
1) ã¯ã©ã€ã¢ã³ã ããŒã¿ãä¿åãããŠãããµãŒããŒãã€ã³ã¿ãŒãããããåé€ãã
2) IP ã¢ãã¬ã¹ãä¿åããŸãã
å³ã¯æ¬¡ã®ããã«ãªããŸãã
ãã®ã¹ããŒã ãåçŽåãããŠããããšã¯æããã§ãã Web ãµãŒãã¹ ã€ã³ãã©ã¹ãã©ã¯ãã£ã®æ§æã¯ãä»æ¥ã®èšäºã®äž»é¡ã§ã¯ãããŸããã
ãŸãããã®èšäºã§ã¯ãç¹ã« Habré ããã®ãããã¯ã«é¢ããè³æãæã£ãŠãããããnextcloud ã®ã€ã³ã¹ããŒã«ãšåºæ¬æ§æã«ã€ããŠã¯çç¥ããŸãã ãã ããèšå®ãå¿ ã瀺ããŸãããã®èšå®ããªããšãNextcloud ã¯ãããã·ã®èåŸã§åäœããŸããã
æïŒ
Nextcloud ã¯ãã¹ã 1 ã«ã€ã³ã¹ããŒã«ãããhttp (SSL ãªã) ã§åäœããããã«æ§æãããŠãããããŒã«ã« ãããã¯ãŒã¯ ã€ã³ã¿ãŒãã§ã€ã¹ãšãã°ã¬ãŒãã® IP ã¢ãã¬ã¹ 172.16.22.110 ã®ã¿ãæã£ãŠããŸãã
ãã¹ã 2 㧠OpenLiteSpeed ãèšå®ããŸãããããã¹ã 172.16.22.0 ã«ã¯ãå€éš (ã€ã³ã¿ãŒããããåç
§) ãšå
éšã® 24 ã€ã®ã€ã³ã¿ãŒãã§ã€ã¹ãããããããã¯ãŒã¯äžã® IP ã¢ãã¬ã¹ã¯ XNUMX/XNUMX ã§ãã
ãã¹ã 2 ã®å€éšã€ã³ã¿ãŒãã§ã€ã¹ã® IP ã¢ãã¬ã¹ã¯ãDNS åcloud.connect.link ã§ãã
ã¿ã¹ã¯ïŒ
ãªã³ã¯çµç±ã§ã€ã³ã¿ãŒãããããå
¥æããŠãã ããã
- Ubuntu 18.04.2ã«OpenLiteSpeedãã€ã³ã¹ããŒã«ããŸãã
ãªããžããªãè¿œå ããŸãããã
wget -O
http://rpms.litespeedtech.com/debian/enable_lst_debain_repo.sh |sudo bash
sudoã®apt-get updateãå®è¡ã
ã€ã³ã¹ããŒã«ããŠå®è¡ããŸã:
sudo apt-get install openlitespeed
sudo /usr/local/lsws/bin/lswsctrl start
- æå°éã®ãã¡ã€ã¢ãŠã©ãŒã«èšå®ã
sudo ufw sshãèš±å¯ãã
sudo ufw ããã©ã«ãã§éä¿¡ãèš±å¯ãã
sudo ufwã®ããã©ã«ãã§åä¿¡ãæåŠããŸã
sudo ufw allow http
sudo ufw ãèš±å¯https
sudo ufw ããã®èš±å¯ 管çãã¹ã ä»»æã®ããŒã 7080 ãž
sudo ufw enable - OpenLiteSpeed ããªããŒã¹ ãããã·ãšããŠèšå®ããŸãã
virtualhost ã®äžã«ãã£ã¬ã¯ããªãäœæããŸããããcd /usr/local/lsws/
sudo mkdirc ã¯ã©ãŠã.connect.link
cd ã¯ã©ãŠã.connect.link/
sudo mkdir {confãhtmlããã°}
sudo chown lsadm:lsadm ./conf/
LSWS Web ã€ã³ã¿ãŒãã§ã€ã¹ããä»®æ³ãã¹ããèšå®ããŸãããã
URL管çãéã
ããã©ã«ãã®ãã°ã€ã³/ãã¹ã¯ãŒã: admin/123456
ä»®æ³ãã¹ããè¿œå ããŸã ([ä»®æ³ãã¹ã] > [è¿œå ])ã
è¿œå ãããšãã«ãæ§æãã¡ã€ã«ãèŠã€ãããªããšãããšã©ãŒ ã¡ãã»ãŒãžã衚瀺ãããŸãã ããã¯æ£åžžã§ããã[ã¯ãªãã¯ããŠäœæ] ãã¯ãªãã¯ãããšè§£æ±ºãããŸãã
[å šè¬] ã¿ãã§ãããã¥ã¡ã³ã ã«ãŒããæå®ããŸã (ããã¯å¿ é ã§ã¯ãããŸããããããããªããšæ§æã¯éå§ãããŸãã)ã ãã¡ã€ã³åãæå®ãããŠããªãå Žåããã¡ã€ã³åã«ä»ããä»®æ³ãã¹ãåããååŸãããŸãã
ããã§ãWeb ãµãŒããŒã ãã§ã¯ãªãããªããŒã¹ ãããã·ãããããšãæãåºããŠãã ããã 次ã®èšå®ã¯ãäœãã©ãã«ãããã·ãããã LSWS ã«æ瀺ããŸãã virtualhost èšå®ã§ã[å€éšã¢ããª] ã¿ããéããWeb ãµãŒã㌠ã¿ã€ãã®æ°ããã¢ããªã±ãŒã·ã§ã³ãè¿œå ããŸãã
ååãšäœæãæå®ããŸãã ä»»æã®ååãæå®ã§ããŸããã次ã®æé ã§åœ¹ç«ã€ãããèŠããŠããå¿ èŠããããŸãã ãã®ã¢ãã¬ã¹ã¯ãå éšãããã¯ãŒã¯å 㧠Nextcloud ãååšããã¢ãã¬ã¹ã§ãã
åãä»®æ³ãã¹ãèšå®ã§ã[ã³ã³ããã¹ã] ã¿ããéãããããã· ã¿ã€ãã®æ°ããã³ã³ããã¹ããäœæããŸãã
ãã©ã¡ãŒã¿ãæå®ããŸã: URI = /ãWeb ãµãŒã㌠= nextcloud_1 (åã®æé ã®åå)
LSWSãåèµ·åããŸãã ããã¯ãWeb ã€ã³ã¿ãŒãã§ã€ã¹ããã¯ã³ã¯ãªãã¯ã§å®äºããŸããå¥è·¡ã§ãã (éºäŒçãªããºãä¿å è ãç§ã®äžã§è©±ããŸã)
- 蚌ææžãå
¥ããŠhttpsãèšå®ããŸãã
蚌ææžã®ååŸæé ããã¯çç¥ãããã§ã«æã£ãŠããããšã«åæããããŒã /etc/letsencrypt/live/cloud.connect.link ãã£ã¬ã¯ããªã«çœ®ããŸãã
ããªã¹ããŒããäœæããŸããã (ããªã¹ããŒã>ãè¿œå ã)ãããããhttpsããšåŒã³ãŸãã ããŒã 443 ãæå®ãããšãå®å šã«ãªãããšã«æ³šæããŠãã ããã
[SSL] ã¿ãã§ãããŒãšèšŒææžãžã®ãã¹ãæå®ããŸãã
ããªã¹ããŒããäœæãããŸããã次ã«ããä»®æ³ãã¹ã ãããã³ã°ãã»ã¯ã·ã§ã³ã§ä»®æ³ãã¹ããããã«è¿œå ããŸãã
LSWS ã XNUMX ã€ã®ãµãŒãã¹ã®ã¿ã«ãããã·ããå Žåã¯ãæ§æãå®äºã§ããŸãã ãã ãããã¡ã€ã³åã«å¿ããŠç°ãªããã€ã³ã¹ã¿ã³ã¹ãã«ãªã¯ãšã¹ããéä¿¡ããããã«ããã䜿çšããäºå®ã§ãã ãããŠããã¹ãŠã®ãã¡ã€ã³ãç¬èªã®èšŒææžãæã¡ãŸãã ãããã£ãŠãä»®æ³ãã¹ãæ§æã«ç§»åãã[SSL] ã¿ãã§ãã®ããŒãšèšŒææžãå床æå®ããå¿ èŠããããŸãã å°æ¥çã«ã¯ããããæ°ããä»®æ³ãã¹ãããšã«è¡ãå¿ èŠããããŸãã
http ãªã¯ãšã¹ãã https ã«ã¢ãã¬ã¹æå®ãããããã« URL æžãæããèšå®ããå¿
èŠããããŸãã
(ãšããã§ãããã¯ãã€çµããã®ã§ãããã?ãã©ãŠã¶ããã®ä»ã®ãœãããŠã§ã¢ãããã©ã«ã㧠https ã«ç§»è¡ããå¿
èŠã«å¿ããŠæåã§é SSL ã«è»¢éããææãæ¥ãŸãã)ã
[æžãæããæå¹ã«ãã] ããªã³ã«ããŠãæžãæãã«ãŒã«ãæžã蟌ã¿ãŸãã
RewriteCondïŒ {SERVER_PORT} 80
RewriteRule ^ïŒã*ïŒ$https://%{SERVER_NAME}%{REQUEST_URI [R=301,L]
å€ãªèª€è§£ã«ãããéåžžã®ã°ã¬ãŒã¹ãã«ãªã¹ã¿ãŒãã§ã¯Rewriteã«ãŒã«ãé©çšããããšãã§ããŸããã ãããã£ãŠãLSWS ãåªé ã«ã§ã¯ãªãã倱瀌ãã€å¹ççã«åèµ·åããŸãã
sudo systemctl åèµ·å lsws.service
ãµãŒããŒãããŒã 80 ããªãã¹ã³ããããã«ããã«ã¯ãå¥ã®ãªã¹ããŒãäœæããŸãããã ããã http ãšåŒã³ã80 çªç®ã®ããŒããæå®ãããããéã»ãã¥ã¢ã«ãªãããã«ããŸãã
https ãªã¹ããŒèšå®ãšåæ§ã«ãä»®æ³ãã¹ããããã«ã¢ã¿ããããŠã¿ãŸãããã
ããã§ãLSWS ã¯ããŒã 80 ã§ãªãã¹ã³ãããããã 443 ã«ãªã¯ãšã¹ããéä¿¡ããURL ãæžãæããŸãã
çµè«ãšããŠãããã©ã«ãã§ãããã°ã«èšå®ãããŠãã LSWS ãã° ã¬ãã«ãäžããããšããå§ãããŸãã ãã®ã¢ãŒãã§ã¯ã䞞倪ãé»å
ç³ç«ã®ã¹ããŒãã§å¢æ®ããŸãã ã»ãšãã©ã®å ŽåãèŠåã¬ãã«ã§ååã§ãã [ãµãŒããŒæ§æ] > [ãã°] ã«ç§»åããŸãã
ããã§ãªããŒã¹ãããã·ãšããŠã®OpenLiteSpeedã®èšå®ã¯å®äºã§ãã ããäžåºŠ LSWS ãåèµ·åãããªã³ã¯ãã¯ãªãã¯ããŸãã
Nextcloud ãç§ãã¡ãèš±å¯ããã«ã¯ãcloud.connect.link ãã¡ã€ã³ãä¿¡é Œã§ãããªã¹ãã«è¿œå ããå¿
èŠããããŸãã config.php ãç·šéããŸãããã Ubuntu ã®ã€ã³ã¹ããŒã«æã« Nextcloud ãèªåçã«ã€ã³ã¹ããŒã«ããŸãããæ§æ㯠/var/snap/nextcloud/current/nextcloud/config ã«ãããŸãã
ãcloud.connect.linkããã©ã¡ãŒã¿ãtrusted_domainsããŒã«è¿œå ããŸãã
'trusted_domains' =>
é åïŒ
0 => '172.16.22.110'ã
1 => 'cloud.connect.link',
),
ããã«ãåãèšå®ã§ãããã·ã® IP ã¢ãã¬ã¹ãæå®ããå¿ èŠããããŸãã ã¢ãã¬ã¹ã¯ Nextcloud ãµãŒããŒããèŠããã¢ãã¬ã¹ãæå®ããå¿ èŠããããšããäºå®ã«æ³šæããŠãã ããã ããŒã«ã« LSWS ã€ã³ã¿ãŒãã§ã€ã¹ã® IPã ãã®æé ãè¡ããªããšãNextcloud Web ã€ã³ã¿ãŒãã§ã€ã¹ã¯æ©èœããŸãããã¢ããªã±ãŒã·ã§ã³ã¯æ¿èªãããŸããã
'trusted_proxies' =>
é åïŒ
0 => '172.16.22.100'ã
),
ããã§ãèªèšŒã€ã³ã¿ãŒãã§ã€ã¹ã«å ¥ãããšãã§ããŸãã
åé¡ã解決ããŸããïŒ ããã§ãåã¯ã©ã€ã¢ã³ãã¯èªåã®å人 URL ã§ããã¡ã€ã« ã¯ã©ãŠãããå®å
šã«äœ¿çšã§ããããã«ãªãããã¡ã€ã«ã®ãããµãŒããŒã¯ã€ã³ã¿ãŒãããããåé¢ãããå°ââæ¥ã®ã¯ã©ã€ã¢ã³ãã¯ãã¹ãŠåããã®ãåä¿¡ããè¿œå ã® IP ã¢ãã¬ã¹ã¯ XNUMX ã€ã圱é¿ãåããªããªããŸãã
ããã«ããªããŒã¹ ãããã·ã䜿çšããŠéçã³ã³ãã³ããé
ä¿¡ããããšãã§ããŸãããNextcloud ã®å Žåãããã«ãã£ãŠé床ãé¡èã«åäžããããšã¯ãããŸããã ãããã£ãŠãããã¯ä»»æã§ãããä»»æã§ãã
ãã®è©±ãå ±æã§ããããšãå¬ããæããŸãã誰ãã®åœ¹ã«ç«ã€ããšãé¡ã£ãŠããŸãã åé¡ã解決ããããã®ããæŽç·Žãããå¹ççãªæ¹æ³ããåç¥ã®å Žåã¯ãã³ã¡ã³ããããã ããã°å¹žãã§ãã
åºæïŒ habr.com