Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
appcluster-hosting [2017/10/06 11:25]
matthias [Standaard Software]
appcluster-hosting [2019/05/28 10:47] (current)
Line 1: Line 1:
-====== ​Hosting ​bij NPO ICT ======+====== ​Webhosting ​bij NPO ICT ======
  
-Wij bieden twee types hosting ​aan en een testomgeving:​+Webhosting bij NPO ICT is een vorm van managed hosting. ​Wij beheren de 
 +hardware, het OS, loadbalancers,​ webservers, applicatieservers en databases. 
 +De applicatie zelf (denk aan php, ruby, java of python code) wordt door u beheerd. 
 +We bieden twee types webhosting ​aan en een testomgeving:​
  
-  * __[[http://​hosting.omroep.nl/​omgevingen#​shared_plus_hosting|Shared Plus Hosting]]__ +  * [[:​omgevingen#​shared_plus_hosting|Shared Plus Hosting]] 
- +  * [[:​omgevingen#​cell_block_hosting|Cell Block Hosting]] 
-  * __[[http://​hosting.omroep.nl/​omgevingen#​cell_block_hosting|Cell Block Hosting]]__ +  * gratis((bij afname van een hosting pakket zit standaard ook een testomgeving))  ​[[:​omgevingen#​testomgeving|Testomgeving]]
- +
-  * __gratis* ​[[http://​hosting.omroep.nl/​omgevingen#cell_block_hosting|Testomgeving]]__ +
-//* bij afname van een hostingspakket zit standaard ook een testomgeving// ​+
  
 Prijzen kunnen opgevraagd worden via onze servicedesk. Prijzen kunnen opgevraagd worden via onze servicedesk.
Line 20: Line 20:
 Andere setups kunnen we vaak ook hosten, afgelopen jaren hebben wij waar nodig passend maatwerk geleverd. ​ Andere setups kunnen we vaak ook hosten, afgelopen jaren hebben wij waar nodig passend maatwerk geleverd. ​
  
 +Het kan zijn dat deze vorm van managed hosting "te veel" voor uw
 +doeleinden is, omdat u zelf dieper wilt kunnen ingrijpen in het OS,
 +bijvoorbeeld door zelf makkelijk extra software te kunnen installeren.
 +In dat geval is ons [[:chp]] misschien geschikter voor u.
  
- ====== Quick Start ====== ​+ 
 +====== Quick Start ====== ​
 Om ons platform (goed) te kunnen gebruiken is het belangrijk om van een aantal dingen op te hoogte te zijn.  Om ons platform (goed) te kunnen gebruiken is het belangrijk om van een aantal dingen op te hoogte te zijn. 
  
Line 39: Line 44:
   * [[sterretje-cluster:​appcluster-hosting_ruby-on-rails| Het aanleveren van een Ruby on Rails applicatie]]   * [[sterretje-cluster:​appcluster-hosting_ruby-on-rails| Het aanleveren van een Ruby on Rails applicatie]]
   * [[sterretje-cluster:​appcluster-hosting_aanleveren-van-java-applicatie| Het aanleveren van een Java applicatie]]   * [[sterretje-cluster:​appcluster-hosting_aanleveren-van-java-applicatie| Het aanleveren van een Java applicatie]]
 +  * [[sterretje-cluster:​appcluster-hosting_wordpress|Het installeren van een Wordpress applicatie]]
  
  
  
-===== Standaard Software =====+====== Standaard Software ​======
 Alle omgevingen zijn zoveel mogelijk gebaseerd op open source software Alle omgevingen zijn zoveel mogelijk gebaseerd op open source software
 componenten:​ Linux, Apache, MySQL, PHP, Tomcat, Ruby, Rails, etcetera. componenten:​ Linux, Apache, MySQL, PHP, Tomcat, Ruby, Rails, etcetera.
 Wij zijn namelijk overtuigd van de kracht van open source en bij NPO ICT is er de nodige kennis aanwezig van de gebruikte open source componenten. Wij zijn namelijk overtuigd van de kracht van open source en bij NPO ICT is er de nodige kennis aanwezig van de gebruikte open source componenten.
  
-^ Component ^ Versie ​^ Opmerkingen ^+^ Component ^ Gebruikte software ​^ Opmerkingen ^
 | OS | Scientific Linux 6, 64 bit | Scientific Linux is gebaseerd op Redhat Enterprise Linux. Vergelijkbaar met CentOS 6 [[https://​www.scientificlinux.org/​|kijk op hun website]] | | OS | Scientific Linux 6, 64 bit | Scientific Linux is gebaseerd op Redhat Enterprise Linux. Vergelijkbaar met CentOS 6 [[https://​www.scientificlinux.org/​|kijk op hun website]] |
-| HA-Loadbalancer | Keepalived-1.2.x ​| Loadbalancing wordt verzorgd door Keepalived dmv Direct Routing. ​ We draaien de loadbalancers in een master-slave configuratie,​ waarin de slave het overneemt als de master er mee ophoudt. ​ Het loadbalancen gebeurt op basis van direct routing, wat betekent dat retour verkeer niet door de loadbalancers heen hoeft, waardoor deze grote aantallen verkeer kunnen verwerken. |+| HA-Loadbalancer | Keepalived | Loadbalancing wordt verzorgd door Keepalived dmv Direct Routing. ​ We draaien de loadbalancers in een master-slave configuratie,​ waarin de slave het overneemt als de master er mee ophoudt. ​ Het loadbalancen gebeurt op basis van direct routing, wat betekent dat retour verkeer niet door de loadbalancers heen hoeft, waardoor deze grote aantallen verkeer kunnen verwerken. |
 | Statische webserver / front-Proxy | Apache-2.4.x + mod_worker of Nginx | Deze front-proxies kunnen statische data (html, plaatjes, .css, .js etc.) snel en efficient uitserveren;​ vele malen sneller en efficienter dan een '​backend'​ applicatieserver. Daarnaast zorgen ze voor loadbalancing en failover tussen 2 of meer applicatieservers In geval van java sites kan de proxy ook caching verzorgen. Php, jsp en railsapplicaties worden geproxied naar een applicatieserver. | | Statische webserver / front-Proxy | Apache-2.4.x + mod_worker of Nginx | Deze front-proxies kunnen statische data (html, plaatjes, .css, .js etc.) snel en efficient uitserveren;​ vele malen sneller en efficienter dan een '​backend'​ applicatieserver. Daarnaast zorgen ze voor loadbalancing en failover tussen 2 of meer applicatieservers In geval van java sites kan de proxy ook caching verzorgen. Php, jsp en railsapplicaties worden geproxied naar een applicatieserver. |
-Dynamische webserver voor PHP sites | Apache-2.4.x + mod_prefork ​of php-fpm | PHP sites draaien onder apache-2.4 Wij geven er de voorkeur aan om de PHP webservers achter ​een proxy te zetten, waarbij de proxy de statische content zelf kan uitserveren. ​+Applicatieserver ​| Apache-2.4.x + mod_preforkphp-fpm, passenger, tomcat ​| PHP kan zowel in apache ​onder mod_php als fastcgi draaienRuby en Python applicaties draaien onder Passenger en Java applicaties draaien in een tomcat container ​
-| PHP | php(-fpm) 5.6.x 7.1.x | Voor PHP kunnen wij [[sterretje-cluster:​appcluster-hosting_php-modules|deze]] modules leveren ​  |+| PHP | php(-fpm) 5.6.x7.1.x, 7.2.x | Voor PHP kunnen wij [[sterretje-cluster:​appcluster-hosting_php-modules|deze]] modules leveren ​  |
 | Database | MySQL(tegenwoordig MariaDB 10.x) of Postgresql | Wij bieden alleen versies aan die updates ontvangen | | Database | MySQL(tegenwoordig MariaDB 10.x) of Postgresql | Wij bieden alleen versies aan die updates ontvangen |
-| Mail | postfix-3.2.x ​| Mail [[mail:​clusterservices#​Uitgaande mail|versturen]] en [[mail:​clusterservices#​Inkomende mail|ontvangen]] kan via verschillende methoden. |+| Mail | postfix | Mail [[mail:​clusterservices#​Uitgaande mail|versturen]] en [[mail:​clusterservices#​Inkomende mail|ontvangen]] kan via verschillende methoden. |
  
-==== Extra software in het appcluster ====+===== Extra software in het appcluster ​=====
 In het appcluster is naast de gewone LAMP stack (en Nginx) ook  andere hosting mogelijk van bijvoorbeeld Java, Ruby on Rails en NodeJS. Daartoe zijn de volgende software componenten In het appcluster is naast de gewone LAMP stack (en Nginx) ook  andere hosting mogelijk van bijvoorbeeld Java, Ruby on Rails en NodeJS. Daartoe zijn de volgende software componenten
 beschikbaar:​ beschikbaar:​
  
 ^ Component ^ Versie ^ Opmerkingen ^ ^ Component ^ Versie ^ Opmerkingen ^
-| Java | jre-1.8 | Liefst gebruiken ​we alleen de runtime environment (jre). ​In sommige gevallen kunnen we ook een jdk aanbieden ​+| Java | jre-1.8, openjdk-8 en openjdk-11 ​Normaliter bieden ​we alleen de runtime environment (jre) aanOp de upload servers is de volledige ​jdk beschikbaar ​
-| Servlet container | Tomcat-6.x | | +| Servlet container | tomcat-8.5.x of  tomcat-9 ​| | 
-| Ruby on Rails | Ruby-2.3.X, Passenger5, Rubygems-1.3.x ​ | Wij bieden verschillende versies van Ruby aan, per site is dit in te regelen. |+| [[https://​rubyonrails.org/​|Ruby on Rails]] | Ruby-2.4.X, Passenger5, Rubygems-1.3.x ​ | Wij bieden verschillende versies van Ruby aan, per site is dit in te regelen. ​
 +| [[https://​www.python.org/​|Python]] | Python-2.7, Python-3.x | Wij bieden **[[https://​pythonclock.org/​|nog]]** Python-2.7 aan, maar adviseren iedereen om over te stappen naar Python-3.x | 
 +| [[https://​nodejs.org/​en/​|Node.js]] | meerdere versies, we adviseren 8.x | |
 | ElasticSearch | vanaf versie 5 | | | ElasticSearch | vanaf versie 5 | |
 +| [[https://​www.maxmind.com/​en/​geoip2-databases|Maxmind GeoIP location]] | zowel legacy als GeoIP2 | [[:​maxmind-geoip|meer info]] |
 | Overig | - | Andere tools als ImageMagick,​ ffmpeg e.d. zijn op aanvraag beschikbaar | | Overig | - | Andere tools als ImageMagick,​ ffmpeg e.d. zijn op aanvraag beschikbaar |
  
Line 78: Line 87:
  
  
-==== De Upload-sites-server ====+====== De Upload-sites-server ​======
 De upload-server is te bereiken vanaf upload-sites of upload-testsites voor de testomgeving. Dit is een server die verbonden is met de centrale storage en is bedoeld -zoals de naam laat zien- om sites en content daarvan te uploaden. Als ontwikkelaar heb je, als het goed is, een account voor upload-sites. Want het grote publiek heeft geen toegang tot dit systeem. De upload-server is te bereiken vanaf upload-sites of upload-testsites voor de testomgeving. Dit is een server die verbonden is met de centrale storage en is bedoeld -zoals de naam laat zien- om sites en content daarvan te uploaden. Als ontwikkelaar heb je, als het goed is, een account voor upload-sites. Want het grote publiek heeft geen toegang tot dit systeem.
  
Line 85: Line 94:
   * Bekijken van [[:​faq:​index#​logging|logs]]   * Bekijken van [[:​faq:​index#​logging|logs]]
   * Via upoad-sites kun je een sql connectie leggen naar je database. ​   * Via upoad-sites kun je een sql connectie leggen naar je database. ​
-  * Shell toegang ​*1 (afhankelijk of je een ftp of sftp account hebt). Bijvoorbeeld om een cron-job aan te maken of via de commandline dingen te kopieren, te verplaatsen etc. +  * Shell toegang((Let wel, dit is geen shell toegang tot de webservers zelf)) ​(afhankelijk of je een ftp of sftp account hebt). Bijvoorbeeld om een cron-job aan te maken of via de commandline dingen te kopieren, te verplaatsen etc. 
  
-**Sftp** \\+Om zelf (f)cron jobs te kunnen aanmaken hebben wij speciale [[:​sterretje-cluster:​shellservers|shellservers]] ingericht. 
 +===Sftp===
 Als NPO ICT hebben we een duidelijke voorkeur dat men gebruik maakt van SFTP (d.m.v. ssh-keys). FTP is een oud en onveilig protocol wat alle data, ook wachtwoorden onversleuteld verstuurd. Als je verbinding niet beveiligd is liggen die gegevens voor het oprapen. ​ Je kunt SFTP gebruiken met Filezilla of Transmit voor de Mac en tal van andere FTP clients. Als NPO ICT hebben we een duidelijke voorkeur dat men gebruik maakt van SFTP (d.m.v. ssh-keys). FTP is een oud en onveilig protocol wat alle data, ook wachtwoorden onversleuteld verstuurd. Als je verbinding niet beveiligd is liggen die gegevens voor het oprapen. ​ Je kunt SFTP gebruiken met Filezilla of Transmit voor de Mac en tal van andere FTP clients.
- 
-Om zelf (f)cron jobs te kunnen aanmaken hebben wij speciale [[:​sterretje-cluster:​shellservers|shellservers]] ingericht. 
- 
-//*1 Let wel, dit is geen shell toegang tot de webservers zelf// ​ 
  
  
-==== De Frontproxy-,​ Applicatie- en Database servers ====+====== De Frontproxy-,​ Applicatie- en Database servers ​======
 Al het webverkeer wordt afgehandeld door de frontproxies,​ deze zitten tussen de '​buitenwereld'​ en de applicatieservers. De belangrijkst reden hiervoor is performance en schaalbaarheid. Dit wordt vooral bereikt door de caching: Al het webverkeer wordt afgehandeld door de frontproxies,​ deze zitten tussen de '​buitenwereld'​ en de applicatieservers. De belangrijkst reden hiervoor is performance en schaalbaarheid. Dit wordt vooral bereikt door de caching:
 alle requests die uit de cache geserveerd kunnen worden hoeven niet door alle requests die uit de cache geserveerd kunnen worden hoeven niet door
Line 115: Line 121:
  
  
-==== Logrotatie van applicatie logs ====+====== Logrotatie van applicatie logs ======
 Dit kan gebruikt worden om logfiles die door webapplicaties weggeschreven worden dagelijks te laten roteren. Dit gebeurt op eenzelfde wijze als ook voor bijvoorbeeld Apache logfiles het geval is. Dit kan gebruikt worden om logfiles die door webapplicaties weggeschreven worden dagelijks te laten roteren. Dit gebeurt op eenzelfde wijze als ook voor bijvoorbeeld Apache logfiles het geval is.
  
  • appcluster-hosting.txt
  • Last modified: 2019/05/28 10:47
  • (external edit)