parent
d847d459a9
commit
3996187366
@ -0,0 +1,8 @@ |
||||
cpanminus |
||||
libssl1.0.0 |
||||
libssl-dev |
||||
make |
||||
gcc |
||||
libdbi-perl |
||||
libdbd-mysql-perl |
||||
mysql-server |
@ -1,13 +1,67 @@ |
||||
#!/bin/bash |
||||
#!/bin/sh |
||||
|
||||
# install applications |
||||
sudo apt-get install mysql-server # bind9 |
||||
CDIR=`dirname $0` |
||||
|
||||
# Get libs |
||||
bash ./get_libs.sh |
||||
usage() { |
||||
echo "usage : $0 cmd |
||||
|
||||
cmd in : |
||||
|
||||
# db install |
||||
mysql -u root --password="${PASS}" < init-create-user.sql |
||||
mysql -u root --password="${PASS}" < init-create-db.sql |
||||
mysql -u root --password="${PASS}" < init-grant-user.sql |
||||
mysql -u root --password="${PASS}" < init-tables.sql |
||||
installdep : install packages from your distribution |
||||
perlmodules : install cpan modules |
||||
dbinstall : install the database with a password provided by \$PATH |
||||
dbreinstall : reinstall the database with a password provided by \$PATH |
||||
all : do the full installation |
||||
" 2>&1 |
||||
|
||||
exit 1 |
||||
} |
||||
|
||||
if [ $# -lt 1 ] ; then |
||||
usage |
||||
fi |
||||
|
||||
# install required applications |
||||
installdep_f() { |
||||
sudo apt-get update |
||||
cat ${CDIR}/dependancies.ubuntu | xargs sudo apt-get install |
||||
} |
||||
|
||||
# install Perl modules |
||||
perlmodules_f() { |
||||
cpanm --local-lib=~/perl5 local::lib && eval $(perl -I ~/perl5/lib/perl5/ -Mlocal::lib) |
||||
cat ${CDIR}/perlmodules | xargs cpanm |
||||
} |
||||
|
||||
# SQL |
||||
dbinstall_core_f() { |
||||
mysql -u root --password="${PASS}" < ${CDIR}/sql/init-create-user.sql |
||||
mysql -u root --password="${PASS}" < ${CDIR}/sql/init-create-db.sql |
||||
mysql -u root --password="${PASS}" < ${CDIR}/sql/init-grant-user.sql |
||||
mysql -u root --password="${PASS}" < ${CDIR}/sql/init-tables.sql |
||||
} |
||||
|
||||
dbinstall_f() { |
||||
PASS=${PASS-notsodummy} |
||||
dbinstall_core_f |
||||
} |
||||
|
||||
dbreinstall_f() { |
||||
PASS=${PASS-notsodummy} |
||||
mysql -u root --password="${PASS}" < ${CDIR}/sql/remove-db.sql |
||||
mysql -u root --password="${PASS}" < ${CDIR}/sql/remove-user.sql |
||||
dbinstall_core_f |
||||
} |
||||
|
||||
case $1 in |
||||
installdep) installdep_f ;; |
||||
perlmodules) perlmodules_f ;; |
||||
dbinstall) dbinstall_f ;; |
||||
dbreinstall) dbreinstall_f ;; |
||||
all) |
||||
installdep_f |
||||
perlmodules_f |
||||
dbinstall_f |
||||
;; |
||||
*) usage ;; |
||||
esac |
||||
|
@ -1,38 +0,0 @@ |
||||
#!/bin/bash |
||||
|
||||
## En attendant de faire de vrais paquets pour l'application |
||||
|
||||
sudo apt-get update |
||||
|
||||
sudo apt-get install libssl1.0.0 libssl-dev cpanminus make gcc \ |
||||
libdbi-perl libdbd-mysql-perl |
||||
|
||||
# sudo apt-get install bind9 |
||||
|
||||
cpanm --local-lib=~/perl5 local::lib && eval $(perl -I ~/perl5/lib/perl5/ -Mlocal::lib) |
||||
|
||||
cpanm Dancer2 |
||||
cpanm Dancer2::Plugin::Deferred |
||||
cpanm YAML::XS |
||||
cpanm Data::Dump |
||||
cpanm File::Basename |
||||
cpanm Find::Lib |
||||
cpanm Test::More |
||||
cpanm String::ShellQuote |
||||
cpanm Data::Structure::Util |
||||
cpanm Modern::Perl |
||||
cpanm Config::Simple |
||||
cpanm Crypt::Digest::SHA256 |
||||
cpanm Dancer::Session::Storable |
||||
cpanm ExtUtils::MakeMaker |
||||
cpanm Storable |
||||
cpanm Plack::Handler::FCGI |
||||
cpanm Plack::Runner |
||||
cpanm DNS::ZoneParse |
||||
cpanm Net::OpenSSH |
||||
cpanm Template |
||||
cpanm Net::SSH |
||||
cpanm Date::Calc |
||||
cpanm Data::Validate::IP |
||||
|
||||
# cpanm Template::Toolkit non trouvé |
@ -0,0 +1,23 @@ |
||||
Dancer2 |
||||
Dancer2::Plugin::Deferred |
||||
YAML::XS |
||||
Data::Dump |
||||
File::Basename |
||||
Find::Lib |
||||
Test::More |
||||
String::ShellQuote |
||||
Data::Structure::Util |
||||
Modern::Perl |
||||
Config::Simple |
||||
Crypt::Digest::SHA256 |
||||
Dancer::Session::Storable |
||||
ExtUtils::MakeMaker |
||||
Storable |
||||
Plack::Handler::FCGI |
||||
Plack::Runner |
||||
DNS::ZoneParse |
||||
Net::OpenSSH |
||||
Template |
||||
Net::SSH |
||||
Date::Calc |
||||
Data::Validate::IP |
@ -1,10 +0,0 @@ |
||||
#!/bin/bash |
||||
|
||||
PASS="not-so-dummy" |
||||
|
||||
mysql -u root --password=${PASS} < remove-db.sql |
||||
mysql -u root --password=${PASS} < remove-user.sql |
||||
mysql -u root --password=${PASS} < init-create-db.sql |
||||
mysql -u root --password=${PASS} < init-create-user.sql |
||||
mysql -u root --password=${PASS} < init-grant-user.sql |
||||
mysql -u root --password=${PASS} < init-tables.sql |
@ -0,0 +1,35 @@ |
||||
package rt::adminfake; |
||||
|
||||
use configuration ':all'; |
||||
use app; |
||||
use utf8; |
||||
|
||||
use Data::Dump qw( dump ); |
||||
|
||||
use Exporter 'import'; |
||||
# what we want to export eventually |
||||
our @EXPORT_OK = qw/rt_admin_fake/; |
||||
|
||||
# bundle of exports (tags) |
||||
our %EXPORT_TAGS = ( all => [qw/rt_admin_fake/] ); |
||||
|
||||
sub rt_admin_fake { |
||||
my ($session, $param, $request) = @_; |
||||
my $res; |
||||
my $alldomains = [ { qw/domain toto.netlib.re login toto/ } ]; |
||||
my $allusers = [ { qw/ login toto admin 0 / } |
||||
, { qw/login bidule admin 1/ } |
||||
, { qw/login machin admin 0 / } ]; |
||||
my $domains = [ { qw/toto.netlib.re/ } ]; |
||||
$$res{template} = 'administration'; |
||||
$$res{params} = { |
||||
login => "toto" |
||||
, admin => 1 |
||||
, domains => $domains |
||||
, alldomains => $alldomains |
||||
, allusers => $allusers |
||||
}; |
||||
$res |
||||
} |
||||
|
||||
1; |
@ -0,0 +1,140 @@ |
||||
package rt::domainfake; |
||||
|
||||
use v5.14; |
||||
use configuration ':all'; |
||||
use encryption ':all'; |
||||
use util ':all'; |
||||
use app; |
||||
use utf8; |
||||
use Dancer ':syntax'; |
||||
use Data::Dump qw( dump ); |
||||
use Data::Validate::IP qw(is_ipv4 is_ipv6); |
||||
use MIME::Base64 qw(encode_base64 decode_base64); |
||||
|
||||
use Exporter 'import'; |
||||
# what we want to export eventually |
||||
our @EXPORT_OK = qw/ |
||||
rt_dom_cli_mod_entry_fake |
||||
rt_dom_cli_autoupdate_fake |
||||
rt_dom_mod_entry_fake |
||||
rt_dom_del_entry_fake |
||||
rt_dom_del_fake |
||||
rt_dom_add_fake |
||||
rt_dom_details_fake |
||||
rt_dom_add_entry_fake |
||||
rt_dom_updateraw_fake |
||||
/; |
||||
|
||||
# bundle of exports (tags) |
||||
our %EXPORT_TAGS = ( all => [qw/ |
||||
rt_dom_cli_mod_entry_fake |
||||
rt_dom_cli_autoupdate_fake |
||||
rt_dom_mod_entry_fake |
||||
rt_dom_del_entry_fake |
||||
rt_dom_del_fake |
||||
rt_dom_add_fake |
||||
rt_dom_details_fake |
||||
rt_dom_add_entry_fake |
||||
rt_dom_updateraw_fake |
||||
/] ); |
||||
|
||||
sub rt_dom_cli_autoupdate_fake { |
||||
my ($session, $param, $request) = @_; |
||||
my $res; |
||||
$res |
||||
} |
||||
|
||||
sub rt_dom_cli_mod_entry_fake { |
||||
my ($session, $param, $request) = @_; |
||||
my $res; |
||||
$res |
||||
} |
||||
|
||||
sub rt_dom_mod_entry_fake { |
||||
my ($session, $param, $request) = @_; |
||||
my $res; |
||||
$$res{route} = '/domain/details/toto.netlib.re'; |
||||
$res |
||||
} |
||||
|
||||
sub rt_dom_del_entry_fake { |
||||
my ($session, $param, $request) = @_; |
||||
my $res; |
||||
$$res{route} = '/domain/details/toto.netlib.re'; |
||||
$res |
||||
} |
||||
|
||||
sub rt_dom_del_fake { |
||||
my ($session, $param, $request) = @_; |
||||
my $res; |
||||
$$res{route} = $$request{referer}; |
||||
$res |
||||
} |
||||
|
||||
sub rt_dom_add_fake { |
||||
my ($session, $param) = @_; |
||||
my $res; |
||||
$$res{route} = '/user/home'; |
||||
$res |
||||
} |
||||
|
||||
sub rt_dom_details_fake { |
||||
my ($session, $param, $request) = @_; |
||||
my $res; |
||||
|
||||
$$res{template} = 'details'; |
||||
$$res{params} = { |
||||
login => "toto" |
||||
, admin => 1 |
||||
, domain => "toto.netlib.re." |
||||
, domain_zone => " |
||||
example.com. IN SOA ns.example.com. username.example.com. ( 2007120710 1d 2h 4w 1h ) |
||||
example.com. 3600 IN NS ns |
||||
example.com. 3600 IN NS ns.somewhere.example. |
||||
example.com. 3600 IN MX 10 mail.example.com. |
||||
@ 3600 IN MX 20 mail2.example.com. |
||||
@ 3600 IN MX 50 mail3 |
||||
example.com. 3600 IN A 192.0.2.1 |
||||
example.com 3600 IN AAAA 3600 2001:db8:10::1 |
||||
ns 3600 IN A 192.0.2.2 |
||||
example.com 3600 IN AAAA 2001:db8:10::2 |
||||
www 3600 IN CNAME example.com. |
||||
wwwtest 3600 IN CNAME www |
||||
mail 3600 IN A 192.0.2.3 |
||||
mail2 3600 IN A 192.0.2.4 |
||||
mail3 3600 IN A 192.0.2.5 |
||||
" |
||||
, user_ip => $$request{address} |
||||
}; |
||||
|
||||
$$res{params}{zone} =[ |
||||
{ qw/type A name bla ttl 30 rdata 10.0.0.1/ } |
||||
,{ qw/type AAAA name www ttl 36 rdata fe80::de4a:3eff:fe01:3b44/ } |
||||
,{ qw/type CNAME name web ttl 36 rdata www/ } |
||||
,{ qw/type MX name mail ttl 3600 priority 10 rdata web/ } |
||||
,{ qw/type SRV name _sip._tcp.example.com. ttl 86400 priority 0 |
||||
weight 5 port 5060 rdata sipserver.example.com./ } |
||||
]; |
||||
|
||||
if($$param{expert}) { |
||||
$$res{params}{expert} = 1; |
||||
} |
||||
|
||||
$res |
||||
} |
||||
|
||||
sub rt_dom_add_entry_fake { |
||||
my ($session, $param, $request) = @_; |
||||
my $res; |
||||
$$res{route} = '/domain/details/toto.netlib.re'; |
||||
$res |
||||
} |
||||
|
||||
sub rt_dom_updateraw_fake { |
||||
my ($session, $param, $request) = @_; |
||||
my $res; |
||||
$$res{route} = '/domain/details/toto.netlib.re'; |
||||
$res |
||||
} |
||||
|
||||
1; |
@ -0,0 +1,28 @@ |
||||
package rt::rootfake; |
||||
|
||||
use configuration ':all'; |
||||
use app; |
||||
use utf8; |
||||
|
||||
use Exporter 'import'; |
||||
# what we want to export eventually |
||||
our @EXPORT_OK = qw/rt_root_fake/; |
||||
|
||||
# bundle of exports (tags) |
||||
our %EXPORT_TAGS = ( all => [qw/rt_root_fake/] ); |
||||
|
||||
sub rt_root_fake { |
||||
my ($session) = @_; |
||||
my $res; |
||||
|
||||
$$res{template} = 'index'; |
||||
$$res{params} = { |
||||
login => "toto" |
||||
, admin => 1 |
||||
, domains => qw/toto.netlib.re/ |
||||
}; |
||||
|
||||
$res |
||||
} |
||||
|
||||
1; |
@ -0,0 +1,90 @@ |
||||
package rt::userfake; |
||||
|
||||
use v5.14; |
||||
use configuration ':all'; |
||||
use encryption ':all'; |
||||
use app; |
||||
use utf8; |
||||
|
||||
use YAML::XS; |
||||
|
||||
use Exporter 'import'; |
||||
# what we want to export eventually |
||||
our @EXPORT_OK = qw/ |
||||
rt_user_login_fake |
||||
rt_user_del_fake |
||||
rt_user_toggleadmin_fake |
||||
rt_user_subscribe_fake |
||||
rt_user_changepasswd_fake |
||||
rt_user_add_fake |
||||
rt_user_home_fake |
||||
/; |
||||
|
||||
# bundle of exports (tags) |
||||
our %EXPORT_TAGS = ( all => [qw/ |
||||
rt_user_login_fake |
||||
rt_user_del_fake |
||||
rt_user_toggleadmin_fake |
||||
rt_user_subscribe_fake |
||||
rt_user_changepasswd_fake |
||||
rt_user_add_fake |
||||
rt_user_home_fake |
||||
/] ); |
||||
|
||||
sub rt_user_login_fake { |
||||
my ($session, $param, $request) = @_; |
||||
my $res; |
||||
$$res{route} = '/admin'; |
||||
$res |
||||
} |
||||
|
||||
sub rt_user_del_fake { |
||||
my ($session, $param, $request) = @_; |
||||
my $res; |
||||
$$res{route} = $$request{referer}; |
||||
$res |
||||
} |
||||
|
||||
sub rt_user_toggleadmin_fake { |
||||
my ($session, $param, $request) = @_; |
||||
my $res; |
||||
$$res{route} = $$request{referer}; |
||||
$res |
||||
} |
||||
|
||||
sub rt_user_subscribe_fake { |
||||
my ($session, $param, $request) = @_; |
||||
my $res; |
||||
$$res{route} = '/user/home'; |
||||
$res |
||||
} |
||||
|
||||
sub rt_user_changepasswd_fake { |
||||
my ($session, $param, $request) = @_; |
||||
my $res; |
||||
$$res{route} = '/user/home'; |
||||
$res |
||||
} |
||||
|
||||
sub rt_user_add_fake { |
||||
my ($session, $param, $request) = @_; |
||||
my $res; |
||||
$$res{route} = '/user/home'; |
||||
$res |
||||
} |
||||
|
||||
sub rt_user_home_fake { |
||||
my ($session, $param, $request) = @_; |
||||
my $res; |
||||
$$res{template} = 'home'; |
||||
$$res{params} = { |
||||
login => "toto" |
||||
, admin => 1 |
||||
, domains => [ {qw/domain toto.netlib.re/} ] |
||||
, provideddomains => [ qw/netlib.re. codelib.re./ ] |
||||
, domainName => '' |
||||
}; |
||||
$res |
||||
} |
||||
|
||||
1; |
Loading…
Reference in new issue