Toon posts:

[Apache/PHP/MySQL] Ophalen van Virtualhosts uit databeest.

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb verschillende velden in een mySQL database staan die samen(gecombineerd dus) een apache virtualhost vormen.

Het probleem is nu, het zijn verschillende velden dus die kan ik niet zomaar aanroepen in Apache, daar zijn _helaas_ geen modules voor(wel voor het aanroepen van 1 veld trouwens.)

Mijn vraag is nu ongeveer, kun je in een PHP(of perl I really dont care) een optie doorgeven zodat hij automagisch weet hoe hij het moet uitvoeren(dus zonder /usr/bin/perl bijv.)

Misschien kan ik dan dat bestand includen, als hij hem dan ook parsed dan zijn mijn problemen voorbij. :)

[ Voor 9% gewijzigd door Verwijderd op 09-04-2003 22:53 ]


  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

waarom gebruik je niet een cron-job die elke vijf minuten je config file herschrijft; en bij een verandering ook je apache opnieuw opstart ?

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


Verwijderd

Topicstarter
omdat je dan bij een verandering:

- moet gaan kijken of er iets veranderd is.
- de regels aan moet gaan passen die veranderd zijn(en werken met fopen e.d. is nou niet echt een van mijn favorite bezigheden.)

daarom dus eigenlijk, het lijkt mij zo gewoon het makkelijkst.
Op deze manier plukt hij(mits het trouwens zou kunnen hoor) gewoon altijd de laatste informatie zonder dat ik daar ook maar een bestand voor hoef weg te schrijven.

  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

En antwoorden als deze:
jep schreef op 08 February 2003 @ 20:55:
Ik heb voor mijn klanten een vrij slim control-panel, al zeg ik 't zelf. Het virtualhost-deel is iets wat niet veel performance nodig heeft.

Een klant logged in op een systeem in php/mysql, en kan ik virtualhosts toevoegen, verwijderen en wijzigen. Na elke wijziging komt er in de database in een 'check' table een 0 of een 1. Dit komt in de check-table van server1, server2, server3, etc. Elke minuut draaien er vervolgens op alle servers scriptjes (klein scriptje) die kijkt of er in de table van server2 (bijv) een 1 staat. Als dat zo is zuigt hij de data binnen en maakt hij er virtualhosts van. Die virtualhost staan in een file die included is in de apache httpd.conf :).

Na dit alles krijgt apache een snelle graceful restart en zijn de vhosts doorgevoerd. Zo doe ik het ook voor e-mail. Wijzigingen zijn in het script aan te passen en werken op alle virtualhosts, het is snel en effectief, en het verwijderen van vhosts kan eigenlijk nooit mis gaan! :)

offtopic:
Ik wou ff op rentserver.nl kijken, maar is down ;(
:?

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


Verwijderd

Topicstarter
Spider.007 schreef op 09 April 2003 @ 23:30:
En antwoorden als deze:

[...]

:?
Ik wil niet onaardig doen, en ik appricieer je hulp ook - maar in mijn situatie is de oplossing waarnaar ik boven aan vroeg(dus kan een PHP/perl bestand ook geparsed worden zonder commandline options: daar komt 't teminste wel op neer) de beste.

Ik werk nu al een tijdje met een ander systeem waar ik de complete virtualhost gewoon in de database zet, maar hieraan zitten een paar "maar's" en daarom ben ik dus opzoek gegaan naar een nieuw concept. :)

  • Kees
  • Registratie: Juni 1999
  • Laatst online: 14:44

Kees

Serveradmin / BOFH / DoC
Verwijderd schreef op 09 April 2003 @ 23:35:
[...]
dus kan een PHP/perl bestand ook geparsed worden zonder commandline options
Jah,

Begin je PHP file met:
PHP:
1
2
3
4
#/usr/local/bin/php -q
<?
echo "Hello world";
?>

(uiteraard aanpassen aan je eigen situatie)

Ik geloof dat php bij de nieuwe versies automagisch de cli installeerd, bij oudere versies kan het zijn dat je php moet compileren zonder apache support, dan wordt hij ook als 'php' binary geinstalleerd.

"Een serveradmin, voluit een serveradministrator, is dan weer een slavenbeheerder oftewel een slavendrijver" - Rataplan


  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

Verwijderd schreef op 09 April 2003 @ 23:35:
[...]

Ik wil niet onaardig doen, en ik appricieer je hulp ook - maar in mijn situatie is de oplossing waarnaar ik boven aan vroeg(dus kan een PHP/perl bestand ook geparsed worden zonder commandline options: daar komt 't teminste wel op neer) de beste.

Ik werk nu al een tijdje met een ander systeem waar ik de complete virtualhost gewoon in de database zet, maar hieraan zitten een paar "maar's" en daarom ben ik dus opzoek gegaan naar een nieuw concept. :)
offtopic:
ik zal morgen eens nalezen wat een onzin ik allemaal heb geschreven; ik ben wellicht idd iets te brak hiervoor :'(

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


Verwijderd

Topicstarter
Kees schreef op 09 april 2003 @ 23:39:
[...]

Jah,

Begin je PHP file met:
PHP:
1
2
3
4
#/usr/local/bin/php -q
<?
echo "Hello world";
?>

(uiteraard aanpassen aan je eigen situatie)

Ik geloof dat php bij de nieuwe versies automagisch de cli installeerd, bij oudere versies kan het zijn dat je php moet compileren zonder apache support, dan wordt hij ook als 'php' binary geinstalleerd.
de cli wordt inderdaad tegenwoordig(gelukkig) automagisch meegecompiled,
op een of andere manier krijg ik het op die manier dus niet aan de gang(dat was ik dus ook al gewoon tegen gekomen op onze vriend google.)

misschien dat ik iets over het hoofd zie, morgen dus weer verder! bedankt hé!

  • Kees
  • Registratie: Juni 1999
  • Laatst online: 14:44

Kees

Serveradmin / BOFH / DoC
wel het script op +x gechmod? ;)

Maar het zou in principe prima moeten werken op die manier :)

Wat ook kan is:
maak met (x)inetd een service aan die op een poort luistert (wel private ip range nmen, en/of de poort blokken voor outsiders mbv iptables) zodra er een request op die poort komt roept hij het refreshscriptje aan. (dus ipv de crontab)

voordelen: servers kunnen allemaal meteen reloaden zodra de wijziging er is en je hebt geen cron draaien die elke minuut je db tjekt :)

[ Voor 68% gewijzigd door Kees op 10-04-2003 00:32 ]

"Een serveradmin, voluit een serveradministrator, is dan weer een slavenbeheerder oftewel een slavendrijver" - Rataplan


  • hammerhead
  • Registratie: April 2000
  • Laatst online: 19:22
Kees schreef op 09 April 2003 @ 23:39:
[...]

Jah,

Begin je PHP file met:
PHP:
1
2
3
4
#/usr/local/bin/php -q
<?
echo "Hello world";
?>

...
moet er niet nog een ! tussenstaan? Alle shellscripts die ik ken beginnen altijd met
code:
1
2
3
#!/usr/bin/perl
of
#!/bin/bash

Aviation is proof that given the will, we have the capacity to achieve the impossible.
--Eddie Rickenbacker


Verwijderd

Topicstarter
Kees schreef op 10 april 2003 @ 00:30:
wel het script op +x gechmod? ;)

Maar het zou in principe prima moeten werken op die manier :)

Wat ook kan is:
maak met (x)inetd een service aan die op een poort luistert (wel private ip range nmen, en/of de poort blokken voor outsiders mbv iptables) zodra er een request op die poort komt roept hij het refreshscriptje aan. (dus ipv de crontab)

voordelen: servers kunnen allemaal meteen reloaden zodra de wijziging er is en je hebt geen cron draaien die elke minuut je db tjekt :)
Ik heb er inderdaad wel gewoon een chmod +x overgegooid, ik ben er al achter was er mis was had iets verkeerd gecompiled.

Maar goed, dit hele idee werkt dus niet - ik include nu het .php bestand direct in de httpd.conf en dan krijg je(zoals ik al verwacht had) gewoon heel 'netjes':

code:
1
2
3
4
[root@acesonline /]# /usr/local/apache/bin/apachectl configtest
Syntax error on line 2 of /test.php:
Invalid command '<?php', perhaps mis-spelled or defined by a module not included in the server configuration
[root@acesonline /]#


Ik ga even over de andere mogelijkheid die je aangaf nadenken.

Verwijderd

Topicstarter
hammerhead schreef op 10 April 2003 @ 01:04:
[...]


moet er niet nog een ! tussenstaan? Alle shellscripts die ik ken beginnen altijd met
code:
1
2
3
#!/usr/bin/perl
of
#!/bin/bash
Oh ja, dat klopt trouwens wel :), er moet idd een ! bij.
Pagina: 1