Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

Eigen server draaien voor development van web projecten

Pagina: 1
Acties:

Vraag


  • PirateStef
  • Registratie: Februari 2009
  • Laatst online: 01-02 14:21
Mijn vraag
Ik ben momenteel mij aan het verdiepen in de server kant van webdevelopment. Eerder draaiden mijn projecten via de Heroku dienst. Dit is ideaal want hier kan ik gewoon een git repository aan koppelen en hoppa er is een ontwikkel domein.

Nu wil ik graag spelen met een eigen server thuis. Echter voor nu met het doel om mijn eigen web projecten daarop te draaien, niet om mijn tijd te stoppen in server management.

Wat voor hardware en software zou ik naar moeten kijken?
Heeft het zin om op V/A een tweede hands server te kopen? of ben ik beter af met een VPS?

Relevante software en hardware die ik gebruik
Heroku, git, vue/react/node

Wat ik al gevonden of geprobeerd heb
Wat ik al heb gevonden is dokku en intercity.io (grafische interface voor dokku), cPanel

Zijn dit de interfaces waar ik naar opzoek ben? van wat ik lees ziet het er erg verouderd uit en is het veelal gericht op het hosten van 1 website.

Beste antwoord (via PirateStef op 28-12-2018 13:51)


Verwijderd

PirateStef schreef op vrijdag 28 december 2018 @ 12:26:
Waarom ik weg wil is omdat ik veel wil proberen met het bouwen van kleine websites en services. denk aan een site is 1x per dan iets scraped en presenteert. persoonlijke wiki's/sites en andere projecten.
"Klein" in welk opzicht? Mijn websites bestaan meestal uit mijn eigen custom scripting. Die draait alleen als ik iets wijzig (via "make"), en daarna zijn het statische paginas met nul tot een handvol verdere te laden items, dus een pageload is vaak maar een enkel http request. Daar kun je een hele harddisk vol van hebben maar dat opserveren is een peuleschil voor een goede webserver ("sendfile()").

Als je daarentegen een enkele pagina hebt die desondanks per pageview twintig SQL-queries doet die niet indexeerbaar zijn maar wel op flink grote tabellen lopen, dan is je website "klein" maar zodra heel de schoolklas tegelijk die pagina opvraagt ga je het merken in het gebrek aan snelheid. Of als een pageview een scrape elders veroorzaakt, dan komt die latency er ook nog bij.

Voor wikis, kijk eens bij wikimatrix.org (disclaimer: geen relatie) om te kijken wat er zoal te krijgen is, wat de dependencies zijn, en zo verder. (Ongerelateerde hint: Voor mij is CREOLE-syntax een criterium.)
Om hiervoor bij heroku elke keer voor $7 per maand, per site te betalen wordt een beetje veel, voor wat eigenlijk een hobby is. Nu ben ik dus opzoek naar een plek/manier waarbij ik gemakkelijk zelf iets vergelijkbaars kan draaien.
"Makkelijk" is waar je heroku voor betaalt, naast flexibiliteit, schaalbaarheid, en zo verder. Er zijn best een hele hoop hosters waar je minder makkelijk maar nog steeds redelijk makkelijk het "standaardpakket" van php+mysql en dan "single click installs" van allerlei php-pakketten kan krijgen. Maar dat is dus al vrij specifiek en eigenlijk vooral gericht op iedereen die denkt dat "website bouwen" hetzelfde is als "wordpress+plugins neerzetten".

Maar jouw vraag was veel algemener. Dus als je "makkelijk" wil maar niet heroku, dan moet je specifiek vertellen wat je nodig hebt. En dan op zoek naar een geschikte hoster. Of de softwarepakketten die de hosters gebruiken om je provisioning te doen. Of zelf iets knutselen, maar dat is een "makkelijk" van een hele andere orde.

Ik heb er geen probleem mee zelf een linux (of een *BSD, ofzo) plus diensten erbovenop neer te zetten, maar je zei dat je dat liever niet zelf deed. Dus dan moet je toch even bedenken hoeveel je zelf wil doen. Of de stoute schoenen aantrekken en het gewoon proberen, meermaals mischien tot je iets hebt waarvan je denkt dat je ermee uit de voeten kan, nu en later. Bijvoorbeeld, als je uitvogelt hoe je zelf httpd configs schrijft, heb je geen webinterface nodig het voor je te doen. Dus die hoef je ook niet te installeren. En configs schrijven kan want je hebt toch toegang op je eigen servertje.

Of je bouwt er een script omheen dat precies doet wat jij nodig hebt. Of je bouwt een config(-generator) die automatisch voor elke subdir in je webroot een apart subdomein creert. Of je hangt een shell script aan git zodat een nieuwe repo een nieuwe site met (sub)domein betekent. Of weetikhet. Maar dat is dus wel even uitgebreid werk om het op te zetten en ter reproductie te documenteren. Een goede sysadmin zorgt zo dat het niet veel moeite kost het onderhoud te doen. En hij weet ook dat minder installeren is minder onderhoudswerk, dus hij kiest zorgvuldig wat dan wel te installeren. Maar valt dat voor jou nog onder de "hobby"-noemer?
een PI of een klein pc/NUC lijkt een goede optie. Zijn er nog dingen waarbij er rekening mee houden moet worden? zuinigheid? bepaalde snelheid? of maakt het niet veel uit?
Daar is weinig over te zeggen zonder enig idee hoeveel cpu, geheugen, disk, bandbreedte, etc. je nodig gaat hebben. De sysadmin in mij zegt, zorg dat je performance grafiekjes hebt, dan merk je het gauw genoeg.

Heel algemeen: Als je al een oude desktop hebt staan dan pak je die om uit te vogelen wat je nodig hebt. Moet je op de centen letten dan kijk je uit naar iets uit dat voldoende sjoege heeft maar weinig stroom verbruikt. Een watt meer is 8,8kWh per jaar maal de kWh-prijs is zoveel meer euro per jaar. Dus pak een wattmeter en reken maar uit wat een vervanging voor je afdankdesktop-als-server mag kosten.

Alle reacties


  • Christoxz
  • Registratie: Maart 2014
  • Laatst online: 21-11 17:30
RPI + Nginx/Apache?

Zo heb ik het in iedere geval draaiend voor mijn web projecten.

Als het puur een server is voor development voor thuis zou ik lekker simpel blijven denken.
Of heb je specifieke eisen?

[ Voor 18% gewijzigd door Christoxz op 28-12-2018 11:13 ]

T.Net Creality 3D Printer Discord


  • lier
  • Registratie: Januari 2004
  • Laatst online: 15:16

lier

MikroTik nerd

Wil je de server aan Internet hangen (en dus de sites publiek beschikbaar stellen)?

Eerst het probleem, dan de oplossing


  • PirateStef
  • Registratie: Februari 2009
  • Laatst online: 01-02 14:21
lier schreef op vrijdag 28 december 2018 @ 11:13:
Wil je de server aan Internet hangen (en dus de sites publiek beschikbaar stellen)?
Ja als het kan wel, maar niet voor live/klanten sites, meer voor ontwikkeling/testen van webprojecten

  • Frogmen
  • Registratie: Januari 2004
  • Niet online
Je kan twee dingen doen, een aparte machine draaien op een erg zuinig bordje (mijn server draait prima op een Atom bordje) of virtualiseren als je PC windows 10 pro draait kan je gewoon hyper-V aanzetten en zo een machine virtualiseren. Zeker als je hem niet altijd aan hebt staan werkt dat prima.
Voordeel van virtualiseren is vooral ook dat je makkelijk versies terug kan zetten bewaren of meerdere naast elkaar kan draaien.

Voor een Tweaker is de weg naar het resultaat net zo belangrijk als het resultaat.


  • entetex
  • Registratie: Juni 2012
  • Laatst online: 31-10 23:16
@chriistiix Een Raspberry Pi zou kunnen, maar als je met CI/CD bezig wil zal dat waarschijnlijk wat traag aanvoelen. Ik zou tegenwoordig eerder kiezen voor bijvoorbeeld een Intel NUC. Deze komen regelmatig voor relatief lage prijzen langs in de VnA.
Wat ik eerder heb gedaan is op Debian ISPConfig installeren. Dit is een open-source web management panel, en in tegenstelling tot cPanel gratis. Daarnaast heb ik GitLab opgezet met CI/CD naar een van de domeinen die ik op ISPConfig heb opgezet. Dus dan kun je gewoon met git blijven doorwerken.

AMD R9 7900X, Gigabyte X670 Gaming X AX, 64GB 5600, Gigabyte 4070 SE OC 12G


  • PirateStef
  • Registratie: Februari 2009
  • Laatst online: 01-02 14:21
entetex schreef op vrijdag 28 december 2018 @ 11:28:
@chriistiix Een Raspberry Pi zou kunnen, maar als je met CI/CD bezig wil zal dat waarschijnlijk wat traag aanvoelen. Ik zou tegenwoordig eerder kiezen voor bijvoorbeeld een Intel NUC. Deze komen regelmatig voor relatief lage prijzen langs in de VnA.
Wat ik eerder heb gedaan is op Debian ISPConfig installeren. Dit is een open-source web management panel, en in tegenstelling tot cPanel gratis. Daarnaast heb ik GitLab opgezet met CI/CD naar een van de domeinen die ik op ISPConfig heb opgezet. Dus dan kun je gewoon met git blijven doorwerken.
Dit klinkt erg interessant. Als je dan met meerder projecten werkt. moet je dan voor elk nieuw project iets aparts opzetten of als je het aan een domein koppelt dat hij dan sub-domeinen aanmaakt?

  • entetex
  • Registratie: Juni 2012
  • Laatst online: 31-10 23:16
Dat zou er vanaf hangen hoe de websites die je maakt zouden werken. Ik zou uit best practice altijd proberen om een aparte domein of sub-domein te gebruiken per project dat ik zou programmeren. Dit is op zich met ISPConfig heel gemakkelijk te regelen. Die maakt dan een nieuwe folder aan in /var/www/clients/. Bij de CI/CD van GitLab voeg je die locatie op de disk toe waar de content vanuit je git naartoe geschreven dient te worden. Ik zou je aanraden om de documentatie er bij te houden tijdens het instellen.
Frogmen schreef op vrijdag 28 december 2018 @ 11:26:
Voordeel van virtualiseren is vooral ook dat je makkelijk versies terug kan zetten bewaren of meerdere naast elkaar kan draaien.
Het klopt dat je met de virtualisatie meerdere VMs tegelijkertijd zou kunnen draaien, maar als Git je uitgangspunt zou hebben, heb je hoe dan ook de versioning al. Wel zou het leuk zijn om bijvoorbeeld wat te spelen met daarnaast bijvoorbeeld pfSense.

[ Voor 6% gewijzigd door entetex op 28-12-2018 12:03 ]

AMD R9 7900X, Gigabyte X670 Gaming X AX, 64GB 5600, Gigabyte 4070 SE OC 12G


  • Frogmen
  • Registratie: Januari 2004
  • Niet online
Als je super eenvoudig meerdere websites wilt draaien met verschillende PHP versies en ook HTTPS kan ik ClearOS aanraden basis is gewoon CentOS 7 maar voor beheer etc simpel met Apps en een webinterface. Draai het zelf al jaren.

Voor een Tweaker is de weg naar het resultaat net zo belangrijk als het resultaat.


  • wolly_a
  • Registratie: September 2002
  • Niet online
Heb je toevallig geen NAS staan? Ik gebruik mijn Synology NAS voor dit soort dingen. Apache/Nginx, PHP 5.6 of 7.0. Je kan het zelf instellen zoals je wil. Zou je hier niet wat mee kunnen?

Verwijderd

PirateStef schreef op vrijdag 28 december 2018 @ 11:06:
Mijn vraag
Ik ben momenteel mij aan het verdiepen in de server kant van webdevelopment. Eerder draaiden mijn projecten via de Heroku dienst. Dit is ideaal want hier kan ik gewoon een git repository aan koppelen en hoppa er is een ontwikkel domein.

Nu wil ik graag spelen met een eigen server thuis. Echter voor nu met het doel om mijn eigen web projecten daarop te draaien, niet om mijn tijd te stoppen in server management.
Wacht even. Heroku is een managed web-app dienst waar behoorlijk veel infrastructuur achter zit. En jij wil dat nu even vervangen door iets waar je niet naar om hoeft te kijken, maar dan wel bij je thuis.

Nu is een hele hoop van wat heroku doet bedoeld om "schaalbaarheid" te doen, en dat kun je allemaal weglaten omdat het om een enkel servertje gaat. Maar als zo'n apparaat thuis moet staan dan moet je nog steeds wel iets aan infrastructuur bouwen. Al was het maar om automatische deployment via git te regelen. Maar ook de webserver, scripting plugins, database, en oh ja ook een OS, en... dan zit je toch weer aan onderhoud.

Als je dat niet wil dan moet je toch eens uitleggen waarom je bij heroku weg wil.
Wat voor hardware en software zou ik naar moeten kijken?
Heeft het zin om op V/A een tweede hands server te kopen? of ben ik beter af met een VPS?
Je hebt iets van hardware nodig. Hoeveel hangt af van hoeveel load er op die server gaat draaien. Voor test-en-development zal dat niet heel veel zijn, of je moet de stack hoog stapelen. Een "server" is tegenwoordig een opgeleukte desktop, dus die kan je prima pakken, of een raspberry pi of wat dan ook. Maar dan moet je dus wel je eigen installatie en onderhoud doen. Een VPS draait niet bij jou thuis, maar moet ook geinstalleerd en onderhouden. Anders kom je bij shared hosting uit.

Mischien ook wel goed te bedenken dat al je site-bezoekers, waar je de server ook parkeert, meer latency en minder bandbreedte gaan hebben dan jijzelf als de server bij jou aan je gigabit LAN hangt. Daar zul je rekening mee moeten houden. Bijvoorbeeld door een "verlangzamer" in te bouwen.

  • Saeverix
  • Registratie: Maart 2002
  • Laatst online: 21-11 13:36
Verdiep je ook eens in de kosten van het draaien van een server thuis. Het 24/7 online hebben van een server kan aardig in de papieren gaan lopen. Zeker als je niet een hele grote load nodig hebt loont het om dan een VPS te huren bij Digital Ocean of Vultr. Ik heb ervaring met beide. Voor nieuwe users hebben beide providers vaak ook een tegoed van zo'n 75-100 euro die je in de eerste 1-2 maand kan gebruiken.

Een goedkope VPS bij Digital Ocean of Vultr met 1GB geheugen, 1 CPU, 25GB SSD en 1 TB Load kost je 5 dollar per maand. Daar kun je geen eigen server voor draaien.

People who live in glass houses shouldn't throw stones.


  • PirateStef
  • Registratie: Februari 2009
  • Laatst online: 01-02 14:21
Verwijderd schreef op vrijdag 28 december 2018 @ 12:15:
[...]

Wacht even. Heroku is een managed web-app dienst waar behoorlijk veel infrastructuur achter zit. En jij wil dat nu even vervangen door iets waar je niet naar om hoeft te kijken, maar dan wel bij je thuis.

Nu is een hele hoop van wat heroku doet bedoeld om "schaalbaarheid" te doen, en dat kun je allemaal weglaten omdat het om een enkel servertje gaat. Maar als zo'n apparaat thuis moet staan dan moet je nog steeds wel iets aan infrastructuur bouwen. Al was het maar om automatische deployment via git te regelen. Maar ook de webserver, scripting plugins, database, en oh ja ook een OS, en... dan zit je toch weer aan onderhoud.

Als je dat niet wil dan moet je toch eens uitleggen waarom je bij heroku weg wil.
Klopt bij heroku is veel infrastructuur. Erg veel wat ik ook niet gebruikt met name het schaalen naar meerdere servers. Waarom ik weg wil is omdat ik veel wil proberen met het bouwen van kleine websites en services. denk aan een site is 1x per dan iets scraped en presenteert. persoonlijke wiki's/sites en andere projecten.

Om hiervoor bij heroku elke keer voor $7 per maand, per site te betalen wordt een beetje veel, voor wat eigenlijk een hobby is. Nu ben ik dus opzoek naar een plek/manier waarbij ik gemakkelijk zelf iets vergelijkbaars kan draaien.
Verwijderd schreef op vrijdag 28 december 2018 @ 12:15:
Je hebt iets van hardware nodig. Hoeveel hangt af van hoeveel load er op die server gaat draaien. Voor test-en-development zal dat niet heel veel zijn, of je moet de stack hoog stapelen. Een "server" is tegenwoordig een opgeleukte desktop, dus die kan je prima pakken, of een raspberry pi of wat dan ook. Maar dan moet je dus wel je eigen installatie en onderhoud doen. Een VPS draait niet bij jou thuis, maar moet ook geinstalleerd en onderhouden. Anders kom je bij shared hosting uit.
een PI of een klein pc/NUC lijkt een goede optie. Zijn er nog dingen waarbij er rekening mee houden moet worden? zuinigheid? bepaalde snelheid? of maakt het niet veel uit?
Verwijderd schreef op vrijdag 28 december 2018 @ 12:15:Mischien ook wel goed te bedenken dat al je site-bezoekers, waar je de server ook parkeert, meer latency en minder bandbreedte gaan hebben dan jijzelf als de server bij jou aan je gigabit LAN hangt. Daar zul je rekening mee moeten houden. Bijvoorbeeld door een "verlangzamer" in te bouwen.
Logisch! bedankt voor de tip!

Acties:
  • Beste antwoord

Verwijderd

PirateStef schreef op vrijdag 28 december 2018 @ 12:26:
Waarom ik weg wil is omdat ik veel wil proberen met het bouwen van kleine websites en services. denk aan een site is 1x per dan iets scraped en presenteert. persoonlijke wiki's/sites en andere projecten.
"Klein" in welk opzicht? Mijn websites bestaan meestal uit mijn eigen custom scripting. Die draait alleen als ik iets wijzig (via "make"), en daarna zijn het statische paginas met nul tot een handvol verdere te laden items, dus een pageload is vaak maar een enkel http request. Daar kun je een hele harddisk vol van hebben maar dat opserveren is een peuleschil voor een goede webserver ("sendfile()").

Als je daarentegen een enkele pagina hebt die desondanks per pageview twintig SQL-queries doet die niet indexeerbaar zijn maar wel op flink grote tabellen lopen, dan is je website "klein" maar zodra heel de schoolklas tegelijk die pagina opvraagt ga je het merken in het gebrek aan snelheid. Of als een pageview een scrape elders veroorzaakt, dan komt die latency er ook nog bij.

Voor wikis, kijk eens bij wikimatrix.org (disclaimer: geen relatie) om te kijken wat er zoal te krijgen is, wat de dependencies zijn, en zo verder. (Ongerelateerde hint: Voor mij is CREOLE-syntax een criterium.)
Om hiervoor bij heroku elke keer voor $7 per maand, per site te betalen wordt een beetje veel, voor wat eigenlijk een hobby is. Nu ben ik dus opzoek naar een plek/manier waarbij ik gemakkelijk zelf iets vergelijkbaars kan draaien.
"Makkelijk" is waar je heroku voor betaalt, naast flexibiliteit, schaalbaarheid, en zo verder. Er zijn best een hele hoop hosters waar je minder makkelijk maar nog steeds redelijk makkelijk het "standaardpakket" van php+mysql en dan "single click installs" van allerlei php-pakketten kan krijgen. Maar dat is dus al vrij specifiek en eigenlijk vooral gericht op iedereen die denkt dat "website bouwen" hetzelfde is als "wordpress+plugins neerzetten".

Maar jouw vraag was veel algemener. Dus als je "makkelijk" wil maar niet heroku, dan moet je specifiek vertellen wat je nodig hebt. En dan op zoek naar een geschikte hoster. Of de softwarepakketten die de hosters gebruiken om je provisioning te doen. Of zelf iets knutselen, maar dat is een "makkelijk" van een hele andere orde.

Ik heb er geen probleem mee zelf een linux (of een *BSD, ofzo) plus diensten erbovenop neer te zetten, maar je zei dat je dat liever niet zelf deed. Dus dan moet je toch even bedenken hoeveel je zelf wil doen. Of de stoute schoenen aantrekken en het gewoon proberen, meermaals mischien tot je iets hebt waarvan je denkt dat je ermee uit de voeten kan, nu en later. Bijvoorbeeld, als je uitvogelt hoe je zelf httpd configs schrijft, heb je geen webinterface nodig het voor je te doen. Dus die hoef je ook niet te installeren. En configs schrijven kan want je hebt toch toegang op je eigen servertje.

Of je bouwt er een script omheen dat precies doet wat jij nodig hebt. Of je bouwt een config(-generator) die automatisch voor elke subdir in je webroot een apart subdomein creert. Of je hangt een shell script aan git zodat een nieuwe repo een nieuwe site met (sub)domein betekent. Of weetikhet. Maar dat is dus wel even uitgebreid werk om het op te zetten en ter reproductie te documenteren. Een goede sysadmin zorgt zo dat het niet veel moeite kost het onderhoud te doen. En hij weet ook dat minder installeren is minder onderhoudswerk, dus hij kiest zorgvuldig wat dan wel te installeren. Maar valt dat voor jou nog onder de "hobby"-noemer?
een PI of een klein pc/NUC lijkt een goede optie. Zijn er nog dingen waarbij er rekening mee houden moet worden? zuinigheid? bepaalde snelheid? of maakt het niet veel uit?
Daar is weinig over te zeggen zonder enig idee hoeveel cpu, geheugen, disk, bandbreedte, etc. je nodig gaat hebben. De sysadmin in mij zegt, zorg dat je performance grafiekjes hebt, dan merk je het gauw genoeg.

Heel algemeen: Als je al een oude desktop hebt staan dan pak je die om uit te vogelen wat je nodig hebt. Moet je op de centen letten dan kijk je uit naar iets uit dat voldoende sjoege heeft maar weinig stroom verbruikt. Een watt meer is 8,8kWh per jaar maal de kWh-prijs is zoveel meer euro per jaar. Dus pak een wattmeter en reken maar uit wat een vervanging voor je afdankdesktop-als-server mag kosten.

  • PirateStef
  • Registratie: Februari 2009
  • Laatst online: 01-02 14:21
@Verwijderd Onwijs bedankt voor je lange antwoord, dit help een hoop. Ik denk dat de optie voor een configgenerator/shell script aan de gitrepo het meeste lijkt op de workflow die ik voor ogen heb. Ik ga bmij eens verder inlezen in alle dingen die genoemd zijn in dit topic, en gaan experimenteren naar wat prettig werkt.

Voor nu lijkt het plan:
Git -> CI/CD -> ?shell script? -> eigen server + domein

Bedankt voor alle info!
Pagina: 1