{"id":8,"date":"2018-01-12T11:20:00","date_gmt":"2018-01-12T11:20:00","guid":{"rendered":""},"modified":"2023-08-02T17:10:00","modified_gmt":"2023-08-02T17:10:00","slug":"magento2-trgovine-spletni-strezniki-in-varnost","status":"publish","type":"post","link":"https:\/\/d-mashina.net\/index.php\/2018\/01\/12\/magento2-trgovine-spletni-strezniki-in-varnost\/","title":{"rendered":"Magento2 trgovine, spletni stre\u017eniki in varnost"},"content":{"rendered":"<div style=\"text-align: justify;\">\nPo dolgem \u010dasu nov zapis. Skoraj eno leto bo \u017ee, kar sem se sre\u010dal z zahtevkom po postavitvi stre\u017enika za Magento2 trgovino. Z Magentom 1.x sem imel \u017ee nekaj izku\u0161nej, ampak Magento 2 je popolnoma druga\u010den. Bolj\u0161i? Morda, ne morem ga ocenit s stali\u0161\u010da programerja, ampak s stali\u0161\u010da sistemskega administratorja, ki je &#8220;mahnjen&#8221; na varnost stre\u017enikov in mu neoptimizirani stre\u017eniki gredo na &#8220;jetra&#8221;, bom rekel, da je popolnoma druga\u010den in neverjetno po\u017ere\u0161en.<\/div>\n<div style=\"text-align: justify;\">\n<\/div>\n<div style=\"text-align: justify;\">\n\u017de rahlo zahtevnej\u0161a trgovina, zahteva ogromno sodelovanja med programerji in sistemskim administratorjem. Naziva DevOps se namerno izogibam, saj tega ni, to je naziv, ki so ga izumili, samo zato, da so lahko slabega programerja in slabega sistemca zdru\u017eili v eni osebi in ravno taki ljudje, ki delajo v kadrovskih slu\u017ebah pi\u0161ejo oglase, kjer i\u0161\u010dejo IT-jevca, ki obvalda C++, C#, .Net, Oracle, MSSQL, MySQL, Node.JS, PHP, Perl, Linux, UNIX, Windows, &#8230; poservisira \u0161efov avto in je pripravljen su\u017enjelastni\u0161ko delati v StartUpu 18 ur\/dan.<\/div>\n<p>\nGremo nazaj na stre\u017enike &#8230;<\/p>\n<p>Za\u010detki postavitev so segali v implementacijo stre\u017enika z 12 GB RAM, SSD diski, 4 CPU.<\/p>\n<p>Programska oprema za za\u010detek je bila:<\/p>\n<p>Apache 2.4<br \/>\nPHP 7.0 FPM<br \/>\nRedis<br \/>\nMySQL<br \/>\nOSSEC in CSF za varnostno za\u0161\u010dito, ter \u0161e Malware scanner (zadeve, ki precej obremenijo stre\u017enike)<\/p>\n<p>za teste je bilo to dovolj, ampak za produkcijo ne &#8230;<\/p>\n<p>stre\u017enik se je postopoma nadgradil na 64 GB RAM, 16 CPU, SSD diski, \u0161e vedno na VPS &#8230;<\/p>\n<p>dodal sem \u0161e slede\u010do programsko opremo:<\/p>\n<p>Haproxy 1.6.x<br \/>\nVarnish 5.x<br \/>\nMySQL menjal z MariaDB<br \/>\nElasticsearch, ki za sabo potegne \u0161e Java 1.8<\/p>\n<div style=\"text-align: justify;\">\nti dve priteklini sta delovanje izbolj\u0161ali, stre\u017enik pohitrili, ampak \u0161e vedno je ob \u0161picah kar precej\u0161en LOAD stre\u017enika. S samim stanjem nisem bil zadovoljen, zato sem pre\u0161el na Dedicated stre\u017enik z 64 GB RAM, SSD diski v HW RAID1 polju in delno zamenjal programsko opremo:<\/div>\n<p>\nHitch<br \/>\nVarnish 5.x<br \/>\nNginx<br \/>\nPHP 7.0 FPM in FastCGI<br \/>\nRadis<br \/>\nMariaDB<br \/>\nOSSEC in CSF ter \u0161e Malscan za preglede pred Malwareom<\/p>\n<div style=\"text-align: justify;\">\nAmpak to ni to, imamo dobro postavitev, ki deluje, ampak \u017eelim si uporabljati najnovej\u0161e tehnologije, zato sem k NGINX pridru\u017eil \u0161e HHVM in za teste sem MariaDB menjal z Percona MySQL, in ko se nastavijo vsi potrebni parametri delovanja zadeva deluje, kot mora.<\/div>\n<p>\nAmpak, \u010de se gremo igrat HA, potrebujemo HA &#8230; torej visoko razpolo\u017eljivost.<\/p>\n<div style=\"text-align: justify;\">\nNa\u010din HA v primeru uporabe Dedicated stre\u017enikov je zahtevnej\u0161i, saj potrbujemo stre\u017enik, ki je lahko tudi VPS, ki bo pridru\u017een na\u0161emu privatnemu omre\u017eju in, ki bo s pomo\u010djo recimo HAProxy delal LOAD Balance, med dvema stre\u017enikoma, ki stre\u017eeta splet. Za spletnimi stre\u017eniki, pa je potrebno postaviti \u0161e MySQL ali MariaDB stre\u017enike in med njima izvajati raplikacijo v realnem \u010dasu &#8211; tu sem uporabil Maria Galera Cluster. Seveda MySQL replikacija ni nujna, ampak je pa priporo\u010dljiva. Postavitev brez MySQL replikacije bi izgledala nekako takole:<\/div>\n<p><\/p>\n<div style=\"clear: both; text-align: center;\">\n<a href=\"https:\/\/d-mashina.net\/wp-content\/uploads\/2018\/01\/808-scaling.png\" style=\"margin-left: 1em; margin-right: 1em;\"><img decoding=\"async\" border=\"0\" src=\"https:\/\/d-mashina.net\/wp-content\/uploads\/2018\/01\/808-scaling.png\" \/><\/a><\/div>\n<p><\/p>\n<div style=\"text-align: justify;\">\nPostavitev je komplicirana, ampak nuja za trgovino oz. spletno stran, ki ima ogromno obiska. Zavedati se je potrebno tudi to, da Magento2, ni optmiziran, da ima ogromno napak, ki se \u0161e odpravljajo. V kolikor se uporabljajo dodatni moduli, lahko tudi ti vsebujejo napake.&nbsp;<\/div>\n<div style=\"text-align: justify;\">\n<\/div>\n<div style=\"text-align: justify;\">\nV kolikor gradite Development stre\u017enik za Magento2 oz. HiTraffic spletne strani, \u017eelite tu in tam tudi kak UIv Linuxu, potem namestite komponente na\u0161tete spodaj oz. izlo\u010dite tiste, ki jih ne potrebujete:<\/div>\n<div style=\"text-align: justify;\">\n<\/div>\n<blockquote style=\"text-align: justify;\"><p>\nWEBMIN CONTROL PANEL<br \/>PERCONA 5.6<br \/>HHVM<br \/>VARNISH<br \/>NGINX<br \/>PHP 7<br \/>REDIS<br \/>MEMCACHED<br \/>PROFTPD<br \/>JAVA<\/p>\n<p>MALWARE REALTIME MONITOR<br \/>CLAMAV ENGINE<br \/>PERCONA TOOLKIT<br \/>MYSQLTUNER<br \/>MYTOP<br \/>PHPMYADMIN<br \/>CSF FIREWALL<br \/>OSSEC<br \/>MAGERUN 2<br \/>ELASTICSEARCH<\/p>\n<p>images optimization<br \/>letsencrypt<br \/>goaccess<br \/>iotop<br \/>sysstat<br \/>git\/svn<br \/>strace<br \/>python-pip<br \/>iptraf<br \/>SOLR<\/p><\/blockquote>\n<div style=\"text-align: justify;\">\n<\/div>\n<div style=\"text-align: justify;\">\nUpam, da sem komu pomagal pri postavitvi, da bo porabil \u010dim manj \u010dasa z iskanjem re\u0161itve.<\/div>\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Po dolgem \u010dasu nov zapis. Skoraj eno leto bo \u017ee, kar sem se sre\u010dal z zahtevkom po postavitvi stre\u017enika za Magento2 trgovino. Z Magentom 1.x sem imel \u017ee [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":246,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-8","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/d-mashina.net\/index.php\/wp-json\/wp\/v2\/posts\/8","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/d-mashina.net\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/d-mashina.net\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/d-mashina.net\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/d-mashina.net\/index.php\/wp-json\/wp\/v2\/comments?post=8"}],"version-history":[{"count":1,"href":"https:\/\/d-mashina.net\/index.php\/wp-json\/wp\/v2\/posts\/8\/revisions"}],"predecessor-version":[{"id":247,"href":"https:\/\/d-mashina.net\/index.php\/wp-json\/wp\/v2\/posts\/8\/revisions\/247"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/d-mashina.net\/index.php\/wp-json\/wp\/v2\/media\/246"}],"wp:attachment":[{"href":"https:\/\/d-mashina.net\/index.php\/wp-json\/wp\/v2\/media?parent=8"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/d-mashina.net\/index.php\/wp-json\/wp\/v2\/categories?post=8"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/d-mashina.net\/index.php\/wp-json\/wp\/v2\/tags?post=8"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}