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
|
<?php
// A script to make a new site
// TODO:
// Nginx conf
// Git repo
// Directory structure
// Handle options
$options = getopt('d:n:');
if (!array_key_exists('d', $options)) {
echo "please provide a domain (-d)\n";
exit(1);
}
if (!array_key_exists('n', $options)) {
echo "please provide a name (-n)\n";
exit(1);
}
$domain = $options['d'];
$name = $options['n'];
$conf = include_once('nginx.php');
$conf = sprintf($conf[0], $domain, $name, $name, $name, $name, $name);
echo "Making directory structure\n";
if (!mkdir('/web/sites/' . $name)) {
echo "Failed to create '/web/sites/'" . $name . "\n";
exit(1);
}
chown('/web/sites/' . $name, "nginx");
if (!mkdir('/web/sites/' . $name . '/logs')) {
echo "Failed to create '/web/sites/'" . $name . "/logs\n";
exit(1);
}
chown('/web/sites/' . $name . '/logs', "nginx");
if (!mkdir('/web/sites/' . $name . '/web')) {
echo "Failed to create '/web/sites/'" . $name . "/web\n";
exit(1);
}
chown('/web/sites/' . $name . '/logs', "nginx");
echo "Complete\n";
if (!file_put_contents("/web/etc/nginx/" . $name . ".conf", $conf)) {
echo "Failed to write nginx conf\n";
}
chown('/web/etc/nginx/' . $name . ".conf", "nginx");
touch('/web/sites/' . $name . '/logs/' . $name . '.access_log');
chown('/web/sites/' . $name . '/logs/' . $name . '.access_log', "nginx");
touch('/web/sites/' . $name . '/logs/' . $name . '.error_log');
chown('/web/sites/' . $name . '/logs/' . $name . '.error_log', "nginx");
touch('/web/sites/' . $name . '/web/index.php');
chown('/web/sites/' . $name . '/web/index.php', "nginx");
|