1 |
diff -Nur smeserver-user-webspace-0.1/root/etc/e-smith/db/configuration/defaults[21~/UserPublicWeb/php smeserver-user-webspace-0.1.new/root/etc/e-smith/db/configuration/defaults/UserPublicWeb/php |
2 |
--- smeserver-user-webspace-0.1/root/etc/e-smith/db/configuration/defaults/UserPublicWeb/php 1969-12-31 17:00:00.000000000 -0700 |
3 |
+++ smeserver-user-webspace-0.1.new/root/etc/e-smith/db/configuration/defaults/UserPublicWeb/php 2013-10-27 16:34:28.002390969 -0600 |
4 |
@@ -0,0 +1 @@ |
5 |
+enabled |
6 |
diff -Nur smeserver-user-webspace-0.1/root/etc/e-smith/db/configuration/defaults/UserPublicWeb/PublicAccess smeserver-user-webspace-0.1.new/root/etc/e-smith/db/configuration/defaults/UserPublicWeb/PublicAccess |
7 |
--- smeserver-user-webspace-0.1/root/etc/e-smith/db/configuration/defaults/UserPublicWeb/PublicAccess 1969-12-31 17:00:00.000000000 -0700 |
8 |
+++ smeserver-user-webspace-0.1.new/root/etc/e-smith/db/configuration/defaults/UserPublicWeb/PublicAccess 2013-10-27 16:35:34.386597294 -0600 |
9 |
@@ -0,0 +1 @@ |
10 |
+local |
11 |
diff -Nur smeserver-user-webspace-0.1/root/etc/e-smith/db/configuration/defaults/UserPublicWeb/status smeserver-user-webspace-0.1.new/root/etc/e-smith/db/configuration/defaults/UserPublicWeb/status |
12 |
--- smeserver-user-webspace-0.1/root/etc/e-smith/db/configuration/defaults/UserPublicWeb/status 1969-12-31 17:00:00.000000000 -0700 |
13 |
+++ smeserver-user-webspace-0.1.new/root/etc/e-smith/db/configuration/defaults/UserPublicWeb/status 2013-10-27 16:34:36.753412561 -0600 |
14 |
@@ -0,0 +1 @@ |
15 |
+enabled |
16 |
diff -Nur smeserver-user-webspace-0.1/root/etc/e-smith/db/configuration/defaults/UserPublicWeb/type smeserver-user-webspace-0.1.new/root/etc/e-smith/db/configuration/defaults/UserPublicWeb/type |
17 |
--- smeserver-user-webspace-0.1/root/etc/e-smith/db/configuration/defaults/UserPublicWeb/type 1969-12-31 17:00:00.000000000 -0700 |
18 |
+++ smeserver-user-webspace-0.1.new/root/etc/e-smith/db/configuration/defaults/UserPublicWeb/type 2013-10-27 16:33:58.712282844 -0600 |
19 |
@@ -0,0 +1 @@ |
20 |
+service |
21 |
diff -Nur smeserver-user-webspace-0.1/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/20LoadModule85userdir smeserver-user-webspace-0.1.new/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/20LoadModule85userdir |
22 |
--- smeserver-user-webspace-0.1/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/20LoadModule85userdir 1969-12-31 17:00:00.000000000 -0700 |
23 |
+++ smeserver-user-webspace-0.1.new/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/20LoadModule85userdir 2013-10-27 16:43:46.975302468 -0600 |
24 |
@@ -0,0 +1,9 @@ |
25 |
+{ |
26 |
+ my $status = $UserPublicWeb{'status'} || "disabled"; |
27 |
+ return " # user-webspace is disabled in this VirtualHost" |
28 |
+ unless $status eq 'enabled'; |
29 |
+ |
30 |
+$OUT .=" # userdir module\n"; |
31 |
+$OUT .=" LoadModule userdir_module modules/mod_userdir.so\n"; |
32 |
+ |
33 |
+} |
34 |
diff -Nur smeserver-user-webspace-0.1/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/50UserDir00 smeserver-user-webspace-0.1.new/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/50UserDir00 |
35 |
--- smeserver-user-webspace-0.1/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/50UserDir00 1969-12-31 17:00:00.000000000 -0700 |
36 |
+++ smeserver-user-webspace-0.1.new/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/50UserDir00 2013-10-27 16:31:59.666853073 -0600 |
37 |
@@ -0,0 +1,10 @@ |
38 |
+ |
39 |
+# UserDir: The name of the directory which is appended onto a user's home |
40 |
+# directory if a ~user request is recieved. |
41 |
+{ |
42 |
+ |
43 |
+ (defined($UserPublicWeb) && ($UserPublicWeb{'status'} eq "enabled")) |
44 |
+ ? "UserDir home/public_html" |
45 |
+ : "#UserDir home/public_html" |
46 |
+} |
47 |
+ |
48 |
diff -Nur smeserver-user-webspace-0.1/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/90e-smithAccess50userdir smeserver-user-webspace-0.1.new/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/90e-smithAccess50userdir |
49 |
--- smeserver-user-webspace-0.1/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/90e-smithAccess50userdir 2013-10-27 16:06:07.472028211 -0600 |
50 |
+++ smeserver-user-webspace-0.1.new/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/90e-smithAccess50userdir 2013-10-27 16:42:23.802028345 -0600 |
51 |
@@ -9,6 +9,57 @@ |
52 |
my $value; |
53 |
my $result = ""; |
54 |
|
55 |
+ my $status = $UserPublicWeb{'status'} || "disabled"; |
56 |
+ return " # user-webspace is disabled in this VirtualHost" |
57 |
+ unless $status eq 'enabled'; |
58 |
+ |
59 |
+ my $phpglobal = $UserPublicWeb{'php'} || "disabled"; |
60 |
+ |
61 |
+ my $allow = 'all'; |
62 |
+ my $pass = '0'; |
63 |
+ my $satisfy = 'all'; |
64 |
+ |
65 |
+ for ('exit-if-none') |
66 |
+ { |
67 |
+ if ($UserPublicWeb{'PublicAccess'}) |
68 |
+ { |
69 |
+ if ($UserPublicWeb{'PublicAccess'} eq 'none') |
70 |
+ { |
71 |
+ next; |
72 |
+ } |
73 |
+ elsif ($UserPublicWeb{'PublicAccess'} eq 'local') |
74 |
+ { |
75 |
+ $allow = $localAccess; |
76 |
+ $pass = 0; |
77 |
+ $satisfy = 'all'; |
78 |
+ } |
79 |
+ elsif ($UserPublicWeb{'PublicAccess'} eq 'local-pw') |
80 |
+ { |
81 |
+ $allow = $localAccess; |
82 |
+ $pass = 1; |
83 |
+ $satisfy = 'all'; |
84 |
+ } |
85 |
+ elsif ($UserPublicWeb{'PublicAccess'} eq 'global') |
86 |
+ { |
87 |
+ $allow = 'all'; |
88 |
+ $pass = 0; |
89 |
+ $satisfy = 'all'; |
90 |
+ } |
91 |
+ elsif ($UserPublicWeb{'PublicAccess'} eq 'global-pw') |
92 |
+ { |
93 |
+ $allow = 'all'; |
94 |
+ $pass = 1; |
95 |
+ $satisfy = 'all'; |
96 |
+ } |
97 |
+ elsif ($UserPublicWeb{'PublicAccess'} eq 'global-pw-remote') |
98 |
+ { |
99 |
+ $allow = $localAccess; |
100 |
+ $pass = 1; |
101 |
+ $satisfy = 'any'; |
102 |
+ } |
103 |
+ } |
104 |
+ |
105 |
+ |
106 |
# Global user dir assignments. Give ~user access |
107 |
# Turned on/off globally through the var UserPublicWeb |
108 |
# eg. to turn on run /sbin/e-smith/config set UserPublicWeb on |
109 |
@@ -24,9 +75,25 @@ |
110 |
if ($type eq 'user') |
111 |
{ |
112 |
$result .= "Alias /$key /home/e-smith/files/users/$key/home/public_html\n"; |
113 |
+ $result .= "\n"; |
114 |
+ $result .= "#-------------------------------------------------------\n"; |
115 |
+ $result .= "#$key user dir access directive\n"; |
116 |
+ $result .= "#-------------------------------------------------------\n"; |
117 |
+ $result .= "<Directory /home/e-smith/files/users/$key/home/public_html>\n"; |
118 |
+ $result .= " AllowOverride FileInfo AuthConfig Limit\n"; |
119 |
+ $result .= " Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec\n"; |
120 |
+ |
121 |
+ my $phpexec = $properties{''} || $phpglobal; |
122 |
+ $result .= " AddType application/x-httpd-php .php .php3 .phtml\n" if $phpexec eq "enabled"; |
123 |
+ $result .= " AddType application/x-httpd-php-source .phps\n" if $phpexec eq "enabled"; |
124 |
+ $result .= " php_admin_value open_basedir /home/e-smith/files/users/$key/home/public_html/:/home/e-smith/files/users/$key/tmp/:/usr/share/pear\n"; |
125 |
+ $result .= " php_admin_value upload_tmp_dir /home/e-smith/files/users/$key/tmp/ \n"; |
126 |
+ $result .= "</Directory>\n"; |
127 |
+ |
128 |
} |
129 |
} |
130 |
|
131 |
+ |
132 |
$result .= "\n"; |
133 |
$result .= "#-------------------------------------------------------\n"; |
134 |
$result .= "#Generic user dir access directive\n"; |
135 |
@@ -34,6 +101,17 @@ |
136 |
$result .= "<Directory /home/e-smith/files/users/*/home/public_html>\n"; |
137 |
$result .= " AllowOverride FileInfo AuthConfig Limit\n"; |
138 |
$result .= " Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec\n"; |
139 |
+ $result .= " order deny,allow\n"; |
140 |
+ $result .= " deny from all\n"; |
141 |
+ $result .= " allow from $allow\n"; |
142 |
+ if ($pass) |
143 |
+ { |
144 |
+ $result .= " AuthName \"$name\"\n"; |
145 |
+ $result .= " AuthType Basic\n"; |
146 |
+ $result .= " AuthExternal pwauth\n"; |
147 |
+ $result .= " require valid-user\n"; |
148 |
+ $result .= " Satisfy $satisfy\n"; |
149 |
+ } |
150 |
$result .= " <Limit GET POST OPTIONS PROPFIND>\n"; |
151 |
$result .= " Order allow,deny\n"; |
152 |
$result .= " Allow from all\n"; |
153 |
diff -Nur smeserver-user-webspace-0.1/root/etc/e-smith/templates-custom/etc/httpd/conf/httpd.conf/20LoadModule85userdir smeserver-user-webspace-0.1.new/root/etc/e-smith/templates-custom/etc/httpd/conf/httpd.conf/20LoadModule85userdir |
154 |
--- smeserver-user-webspace-0.1/root/etc/e-smith/templates-custom/etc/httpd/conf/httpd.conf/20LoadModule85userdir 2013-10-27 16:06:07.475028221 -0600 |
155 |
+++ smeserver-user-webspace-0.1.new/root/etc/e-smith/templates-custom/etc/httpd/conf/httpd.conf/20LoadModule85userdir 1969-12-31 17:00:00.000000000 -0700 |
156 |
@@ -1,7 +0,0 @@ |
157 |
- |
158 |
- # userdir module |
159 |
- LoadModule userdir_module modules/mod_userdir.so |
160 |
- # userdir module |
161 |
- # userdir module |
162 |
- # userdir module |
163 |
- |
164 |
diff -Nur smeserver-user-webspace-0.1/root/etc/e-smith/templates-custom/etc/httpd/conf/httpd.conf/50UserDir00 smeserver-user-webspace-0.1.new/root/etc/e-smith/templates-custom/etc/httpd/conf/httpd.conf/50UserDir00 |
165 |
--- smeserver-user-webspace-0.1/root/etc/e-smith/templates-custom/etc/httpd/conf/httpd.conf/50UserDir00 2013-10-27 16:06:07.469028199 -0600 |
166 |
+++ smeserver-user-webspace-0.1.new/root/etc/e-smith/templates-custom/etc/httpd/conf/httpd.conf/50UserDir00 1969-12-31 17:00:00.000000000 -0700 |
167 |
@@ -1,12 +0,0 @@ |
168 |
- |
169 |
-# UserDir: The name of the directory which is appended onto a user's home |
170 |
-# directory if a ~user request is recieved. |
171 |
-{ |
172 |
- my %conf; |
173 |
- tie %conf, 'esmith::config'; |
174 |
- |
175 |
- (defined($conf{'UserPublicWeb'}) && ($conf{'UserPublicWeb'} eq "on")) |
176 |
- ? "UserDir home/public_html" |
177 |
- : "#UserDir home/public_html" |
178 |
-} |
179 |
- |