commit
1fafc84198
9 changed files with 157 additions and 0 deletions
@ -0,0 +1 @@ |
||||
url |
@ -0,0 +1 @@ |
||||
limesurvey |
@ -0,0 +1 @@ |
||||
limesurvey |
@ -0,0 +1 @@ |
||||
enabled |
@ -0,0 +1 @@ |
||||
webapp |
@ -0,0 +1,27 @@ |
||||
{ |
||||
my $rec = $DB->get('limesurvey') |
||||
|| $DB->new_record('limesurvey', {type => 'webapp'}); |
||||
my $pw = $rec->prop('DbPassword'); |
||||
if (not $pw or length($pw) < 57){ |
||||
use MIME::Base64 qw(encode_base64); |
||||
|
||||
$pw = "not set due to error"; |
||||
if ( open( RANDOM, "/dev/urandom" ) ){ |
||||
my $buf; |
||||
# 57 bytes is a full line of Base64 coding, and contains |
||||
# 456 bits of randomness - given a perfectly random /dev/random |
||||
if ( read( RANDOM, $buf, 57 ) != 57 ){ |
||||
warn("Short read from /dev/random: $!"); |
||||
} |
||||
else{ |
||||
$pw = encode_base64($buf); |
||||
chomp $pw; |
||||
} |
||||
close RANDOM; |
||||
} |
||||
else{ |
||||
warn "Could not open /dev/urandom: $!"; |
||||
} |
||||
$rec->set_prop('DbPassword', $pw); |
||||
} |
||||
} |
@ -0,0 +1,64 @@ |
||||
{ |
||||
my $access = $limesurvey{'access'} || 'private'; |
||||
my $allow = ($access eq 'public')?'all':"$localAccess $externalSSLAccess"; |
||||
|
||||
my $alias = (($limesurvey{'AliasOnPrimary'} || 'enabled') eq 'enabled') ? |
||||
'':"Alias /limesurvey/tmp /var/lib/limesurvey/tmp\n" . |
||||
"Alias /limesurvey/upload /var/lib/limesurvey/upload\n" . |
||||
"Alias /limesurvey /usr/share/limesurvey"; |
||||
|
||||
if ($limesurvey{'status'} eq 'enabled'){ |
||||
|
||||
$OUT .=<<"END" |
||||
|
||||
# LimeSurvey Configuration |
||||
$alias |
||||
|
||||
<Directory /usr/share/limesurvey> |
||||
AllowOverride None |
||||
SSLRequireSSL on |
||||
AddType application/x-httpd-php .php |
||||
php_admin_value open_basedir /usr/share/limesurvey:/var/lib/limesurvey |
||||
php_admin_flag file_uploads On |
||||
php_admin_flag magic_quotes Off |
||||
php_admin_flag magic_quotes_gpc Off |
||||
php_admin_value upload_max_filesize 10M |
||||
php_admin_value post_max_size 12M |
||||
php_admin_value memory_limit 100M |
||||
php_admin_value max_execution_time 120 |
||||
php_admin_value upload_tmp_dir /var/lib/limesurvey/tmp |
||||
php_admin_value session.save_path /var/lib/limesurvey/sessions |
||||
order deny,allow |
||||
deny from all |
||||
allow from $allow |
||||
Satisfy all |
||||
</Directory> |
||||
<DirectoryMatch "/var/lib/limesurvey/(tmp|upload)"> |
||||
AllowOverride None |
||||
SSLRequireSSL on |
||||
AddType application/x-httpd-php .php |
||||
php_admin_value open_basedir /usr/share/limesurvey:/var/lib/limesurvey |
||||
php_admin_flag file_uploads On |
||||
php_admin_flag magic_quotes Off |
||||
php_admin_flag magic_quotes_gpc Off |
||||
php_admin_value upload_max_filesize 10M |
||||
php_admin_value post_max_size 12M |
||||
php_admin_value memory_limit 100M |
||||
php_admin_value max_execution_time 120 |
||||
php_admin_value upload_tmp_dir /var/lib/limesurvey/tmp |
||||
php_admin_value session.save_path /var/lib/limesurvey/sessions |
||||
order deny,allow |
||||
deny from all |
||||
allow from $allow |
||||
Satisfy all |
||||
</Directory> |
||||
<DirectoryMatch "/usr/share/limesurvey/(framework|console|installer/sql|locale)"> |
||||
Deny from all |
||||
</Directory> |
||||
|
||||
END |
||||
} |
||||
else{ |
||||
$OUT .= "# LimeSurvey is disabled\n"; |
||||
} |
||||
} |
@ -0,0 +1,12 @@ |
||||
{ |
||||
my $sslport = $modSSL{'TCPPort'} || '443'; |
||||
my $status = $limesurvey{'status'} || 'enabled'; |
||||
my $alias = $limesurvey{'AliasOnPrimary'} || 'enabled'; |
||||
|
||||
if (($port ne $sslport) && ($status eq 'enabled') && ($alias eq 'enabled')){ |
||||
|
||||
## Redirect Web Address to Secure Address |
||||
$OUT .= " RewriteRule ^/limesurvey(/.*|\$) https://%{HTTP_HOST}/limesurvey\$1 \[L,R\]\n"; |
||||
|
||||
} |
||||
} |
@ -0,0 +1,49 @@ |
||||
%define name smeserver-limesurvey |
||||
%define version 0.1.0 |
||||
%define release 1.beta0 |
||||
Summary: SME server integration of limesurvey |
||||
Name: %{name} |
||||
Version: %{version} |
||||
Release: %{release}%{?dist} |
||||
License: GNU GPL version 2 |
||||
URL: http://www.limesurvey.org |
||||
Group: SMEserver/addon |
||||
Source: %{name}-%{version}.tar.gz |
||||
|
||||
BuildArchitectures: noarch |
||||
BuildRequires: e-smith-devtools |
||||
BuildRoot: /var/tmp/%{name}-%{version} |
||||
Requires: e-smith-base |
||||
Requires: limesurvey |
||||
Requires: smeserver-webapps-common |
||||
AutoReqProv: no |
||||
|
||||
%description |
||||
Integration of LimeSUrvey on SME Server |
||||
|
||||
%changelog |
||||
* Thu Nov 7 2013 Daniel Berteaud <daniel@firewall-services.com> 0.1.0-1.sme |
||||
- First release |
||||
|
||||
%prep |
||||
%setup |
||||
|
||||
%build |
||||
#perl ./createlinks |
||||
|
||||
%install |
||||
rm -rf $RPM_BUILD_ROOT |
||||
(cd root ; find . -depth -print | cpio -dump $RPM_BUILD_ROOT) |
||||
rm -f %{name}-%{version}-filelist |
||||
/sbin/e-smith/genfilelist $RPM_BUILD_ROOT \ |
||||
> %{name}-%{version}-filelist |
||||
|
||||
%files -f %{name}-%{version}-filelist |
||||
%defattr(-,root,root) |
||||
|
||||
%clean |
||||
rm -rf $RPM_BUILD_ROOT |
||||
|
||||
|
||||
%postun |
||||
|
Loading…
Reference in new issue