en al iets gevonden ?
Je zou bijvoorbeeld met php een vhost file kunnen aanmaken zoals Foijonghaai ook vertelt, en kan je bijvoorbeeld een gehele tabel uit mysql in de file droppen, vervolgens reload je apache en dan werken de vhost's
zo zou hij er met db tabel uit zien
Script
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
| <?php
// Config
//MySQL
$dbhost = 'localhost'; // server ip or hostname of server
$dbuser = 'root'; // mysql username
$dbpass = 'Secr*t'; // mysql password
$dbname = 'vhosts'; // mysql database
// File
$path = 'extra/'; // path to config file
$file = 'vhost_dynamic.conf'; // file in path
// Connect DB
$mysqli = mysqli_connect($dbhost, $dbuser, $dbpass, $dbname);
// SQL query
$sql = "SELECT `server_admin`, `from_domain`, `to_domain` FROM `vhost_table`";
// run query
$res = mysqli_query($mysqli, $sql);
// Put database results into a array
while($row = mysqli_fetch_assoc($res)) {
$vhosts[] = $row;
}
// Start writing to variabel
$file_content = '';
// Start comments for file
$file_content .= '#'.PHP_EOL;
$file_content .= '#Dynamic file from mysql'.PHP_EOL;
$file_content .= '#'.PHP_EOL;
if(count($vhosts) > 0) {
foreach($vhosts as $key => $value) {
// Commands for vhost
$file_content .= PHP_EOL;
$file_content .= "#".PHP_EOL;
$file_content .= "# VHOST: ".$value["from_domain"].PHP_EOL;
$file_content .= "#".PHP_EOL;
$file_content .= PHP_EOL;
// Vhost
$file_content .= "<VirtualHost *:80>".PHP_EOL;
$file_content .= "\tServerAdmin ".$value["server_admin"].PHP_EOL;
$file_content .= "\tServerName ".$value["from_domain"].PHP_EOL;
$file_content .= "\tProxyRequest Off".PHP_EOL;
$file_content .= "\t".PHP_EOL;
$file_content .= "\tProxyPreserveHost On".PHP_EOL;
$file_content .= "\t".PHP_EOL;
$file_content .= "\t<Proxy *>".PHP_EOL;
$file_content .= "\t\t Order deny,allow".PHP_EOL;
$file_content .= "\t\t Allow from all".PHP_EOL;
$file_content .= "\t</Proxy>".PHP_EOL;
$file_content .= "\t".PHP_EOL;
$file_content .= "\tProxyPass / ".$value["to_domain"].PHP_EOL;
$file_content .= "\tProxyPassReverse / ".$value["to_domain"].PHP_EOL;
$file_content .= "</VirtualHost>".PHP_EOL;
}
}
// Write variabel to file
file_put_contents($path.$file, $file_content);
// Reload Apache
//exec("services apache reload");
?> |
OUTPUT
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
| #
#Dynamic file from mysql
#
#
# VHOST: web01.domain.nl
#
<VirtualHost *:80>
ServerAdmin system@domain.nl
ServerName web01.domain.nl
ProxyRequest Off
ProxyPreserveHost On
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass / web01.todomain.nl
ProxyPassReverse / web01.todomain.nl
</VirtualHost>
#
# VHOST: web02.domain.nl
#
<VirtualHost *:80>
ServerAdmin system@domain.nl
ServerName web02.domain.nl
ProxyRequest Off
ProxyPreserveHost On
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass / web02.todomain.nl
ProxyPassReverse / web02.todomain.nl
</VirtualHost>
#
# VHOST: web03.domain.nl
#
<VirtualHost *:80>
ServerAdmin system@domain.nl
ServerName web03.domain.nl
ProxyRequest Off
ProxyPreserveHost On
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass / web03.todomain.nl
ProxyPassReverse / web03.todomain.nl
</VirtualHost>
#
# VHOST: web04.domain.nl
#
<VirtualHost *:80>
ServerAdmin system@domain.nl
ServerName web04.domain.nl
ProxyRequest Off
ProxyPreserveHost On
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass / web04.todomain.nl
ProxyPassReverse / web04.todomain.nl
</VirtualHost>
#
# VHOST: web05.domain.nl
#
<VirtualHost *:80>
ServerAdmin system@domain.nl
ServerName web05.domain.nl
ProxyRequest Off
ProxyPreserveHost On
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass / web05.todomain.nl
ProxyPassReverse / web05.todomain.nl
</VirtualHost> |
Ik hoor graag of dit de oplossing is
ps. waarom php en geen java, er draait toch al een webserver en misschien wil je hiervoor dan geen java gebruiken, en mijn programmeerkunsten zijn beter in php als java

. Betekend niet dat java geen optie is.
EDIT:
Script beetje aangepast.
[
Voor 60% gewijzigd door
xleeuwx op 26-05-2014 16:21
]