Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

New better install procedure, better (more interesting) yaws.conf tem…

…plate generated

git-svn-id: https://erlyaws.svn.sourceforge.net/svnroot/erlyaws/trunk/yaws@637 9fbdc01b-0d2c-0410-bfb7-fb27d70d8b52
  • Loading branch information...
commit 1dcb0263bf1338d79517edc6ffb52b5d94dac209 1 parent ffee7fc
@klacke authored
View
2  Makefile
@@ -1,5 +1,5 @@
-SUBDIRS = c_src src scripts man www/shopingcart doc
+SUBDIRS = c_src src man www/shopingcart doc scripts
include ./include.mk
View
25 README
@@ -9,13 +9,14 @@ To build and install
2. ./configure --prefix=/usr/local
-Note: If can also change the target directory for etc and var directories by using:
+Note: If can also change the target directory for etc and var
+ directories by using:
--localstatedir=DIR for files that should go in /var
--sysconfdir=DIR for files that should go in /etc
This way you can precisely control where you install the software (This is
-usefull for computers where you do not have right access to the standard system
-dirs). It is now possible to install everything in a single directory
-and use Stow to create symlinks to /usr/local
+usefull for computers where you do not have right access to the
+standard systemdirs). It is now possible to install everything in a
+single directory and use Stow to create symlinks to /usr/local
For example:
./configure --prefix=/home/install/yaws-1.01 --localstatedir=/home/install/yaws-1.01/var --sysconfdir=/home/install/yaws-1.01/etc
@@ -29,24 +30,26 @@ For example:
make local_install
and perform something we call a
- local install. It will create an executable script in the bin directory
- and a config file in $HOME/yaws.conf
+ local install. It will create an executable script in the $HOMe/bin
+ directory and a config file in $HOME/yaws.conf
4. Start as bin/yaws -i
- This will create a webserver at http://127.0.0.1:8000
+ This will create a webserver at http://0.0.0.0:8000
5. as root make install
6. as root Start as /usr/local/bin/yaws -i
(this starts an interactive system)
-7. This will create a webserver at http://127.0.0.1
+7. This will create a webserver at http://${host} and one at https://${host}
8. as root Edit /etc/yaws.conf
9. Create content in /var/yaws
-10.Start as /usr/local/bin/yaws -D -heart
- This will start a daemon (-D) which will be autorestarted when/if
- it crashes or hangs (-heart)
+10a. Start as /usr/local/bin/yaws -D -heart
+ This will start a daemon (-D) which will be autorestarted when/if
+ it crashes or hangs (-heart)
+
+10b. Or start interactive system as /usr/local/bin/yaws -i
View
8 man/yaws.conf.5
@@ -321,7 +321,7 @@ within a matching pair of <auth> and </auth> delimiters.
\fBdir = Dir\fR
Makes Dir to be controlled bu WWW-authenticate headers. In order for
a user to have access to WWW-Authenticate controled directory, the user
-must supply a password.
+must supply a password. The Dir must be specified relative to the docroot.
.TP
\fBrealm = Realm\fR
@@ -397,7 +397,7 @@ logdir = /var/log/yaws
docroot = /var/yaws/www
access_log = false
<auth>
- dir = /var/yaws/www/secret
+ dir = secret/dir1
realm = foobar
user = jonny:verysecretpwd
user = benny:thequestion
@@ -422,8 +422,8 @@ at startup, as well as some user specific configuration.
docroot = /var/yaws/www_funky_org
start_mod = btt
<opaque>
- dbdir = /tmp
- logdir = /tmp/log
+ mydbdir = /tmp
+ mylogdir = /tmp/log
</opaque>
</server>
View
39 scripts/Install
@@ -1,43 +1,46 @@
#!/bin/sh
-
prefix=$1
installprefix=$2
erl=$3
werl=$4
etcdir=$5
+vardir=$6
. ../vsn.mk
y=yaws-${YAWS_VSN}
p=${prefix}
-# sed mangler
-mangle ()
-{
- d=$1
- e=$2
- w=$3
- from=$4
- to=$5
+cat yaws.template | \
+ ./Subst %yawsdir% ${prefix}/lib/yaws | \
+ ./Subst %erl% "${erl}" | \
+ ./Subst %werl% "${werl}" > ${installprefix}/bin/yaws
+
+chmod +x ${installprefix}/bin/yaws
- install -d `dirname $to`
- sed -e "s;%yawsdir%;$d;g" -e "s;%erl%;$e;" -e "s;%werl%;$w;" $from > $to
-}
-mangle ${prefix}/lib/yaws "${erl}" "${werl}" yaws.ss ${installprefix}/bin/yaws
install -d ${installprefix}/lib/yaws/examples/ebin
install -d ${installprefix}/lib/yaws/examples/include
-chmod +x ${installprefix}/bin/yaws
+
if [ -f ${etcdir}/yaws.conf ]; then
- t=${etcdir}/yaws.conf.template
+ target=${etcdir}/yaws.conf.template
else
- t=${etcdir}/yaws.conf
+ target=${etcdir}/yaws.conf
fi
+echo "--- Writing config file to ${target}"
+
-mangle ${prefix}/lib/yaws "${erl}" "${werl}" yaws.conf.template ${t}
+cat yaws.conf.template | \
+ ./Subst %yawsdir% ${prefix}/lib/yaws | \
+ ./Subst %logdir% /var/log/yaws | \
+ ./Subst %host% `hostname` | \
+ ./Subst %port% 80 | \
+ ./Subst %docroot% ${vardir}/yaws/www | \
+ ./Subst %certdir% ${etcdir} | \
+ ./Subst %sslport% 443 > ${target}
if [ -f /etc/gentoo-release ]; then
@@ -70,3 +73,5 @@ fi
+
+
View
40 scripts/Makefile
@@ -3,27 +3,43 @@ include ../include.mk
all debug: ../bin/yaws
-../bin/yaws: yaws.ss
- sh -x ./mangle `pwd`/.. "$(ERL)" "$(WERL)" yaws.ss ../bin/yaws
- @chmod +x ../bin/yaws
+../bin/yaws: yaws.template
+ cat yaws.template | \
+ ./Subst %yawsdir% `pwd`/.. | \
+ ./Subst %erl% "$(ERL)" | \
+ ./Subst %werl% "$(WERL)" > ../bin/yaws
+ chmod +x ../bin/yaws
+
local_install: ../bin/yaws
+ @install -d $$HOME/yaws_logs
@if [ -f $$HOME/yaws.conf ]; \
- then echo "$$HOME/yaws.conf already exists "; \
+ then target=$$HOME/yaws.conf.template; \
else \
- sh ./mangle `pwd`/.. "$(ERL)" "$(WERL)" yaws.conf.template.local ${HOME}/yaws.conf; echo "installed yaws.conf in $$HOME "; fi
- install -d $$HOME/bin
- cp ../bin/yaws $$HOME/bin/yaws
-
+ target=$$HOME/yaws.conf; \
+ fi; \
+ echo "--- Installing local config file at $${target} "; \
+ cat yaws.conf.template | \
+ ./Subst %yawsdir% `pwd`/.. | \
+ ./Subst %logdir% $$HOME/yaws_logs | \
+ ./Subst %host% `hostname` | \
+ ./Subst %port% 8000 | \
+ ./Subst %docroot% `pwd`/../www | \
+ ./Subst %certdir% `pwd`/../ssl | \
+ ./Subst %sslport% 4443 > $${target}; \
+ install -d $$HOME/bin; \
+ cp ../bin/yaws $$HOME/bin/yaws; \
+ echo "--- Installed $$HOME/bin/yaws"
clean:
rm -f ../bin/yaws
-install: all .foo
+install:
-rm -rf /tmp/yaws 2> /dev/null
-
-.foo:
- sh -x ./Install $(PREFIX) $(INSTALLPREFIX) "$(ERL)" "$(WERL)" $(ETCDIR)
+ sh ./Install $(PREFIX) $(INSTALLPREFIX) "$(ERL)" \
+ "$(WERL)" $(ETCDIR) $(VARDIR)
+ @cp ../ssl/yaws-cert.pem $(ETCDIR)
+ @cp ../ssl/yaws-key.pem $(ETCDIR)
View
8 scripts/Subst
@@ -0,0 +1,8 @@
+#!/bin/sh
+
+
+p=$1
+d=$2
+
+sed -e "s;$p;$d;g"
+
View
11 scripts/mangle
@@ -1,11 +0,0 @@
-#!/bin/sh
-
-d=$1
-e=$2
-w=$3
-s=$4
-t=$5
-
-install -d `dirname $t`
-sed -e "s;%yawsdir%;$d;g" -e "s;%erl%;$e;" -e "s;%werl%;$w;" $s > $t
-
View
33 scripts/yaws.conf.basic_auth
@@ -1,33 +0,0 @@
-
-# conf for yaws
-
-
-# first we have a set of globals
-
-logdir = /var/log/yaws
-ebin_dir = %yawsdir%/examples/ebin
-include_dir = %yawsdir%/examples/include
-
-
-
-#end then a set of servers
-
-
-
-# enter hostname and IP here
-<server localhost>
- port = 80
- listen = 127.0.0.1
- <auth>
- dir = /var/yaws/www/secure
- dir = /var/yaws/www/secure2
- realm = secure_area
- user = sean:mypassword
- user = chandru:hispassword
- </auth>
- docroot = /var/yaws/www
-</server>
-
-
-
-
View
105 scripts/yaws.conf.template
@@ -3,24 +3,117 @@
# first we have a set of globals
+# That apply to all virtual servers
+
+
+# This is the directory where all logfiles for
+# all virtual servers will be written
+
+logdir = %logdir%
+
+# This the path to a directory where additional
+# beam code can be placed. The daemon will add this
+# directory to its search path
-logdir = /var/log/yaws
ebin_dir = %yawsdir%/examples/ebin
+
+
+# This is a directory where application specific .hrl
+# files can be placed. application specifig .yaws code can
+# then include these .hrl files
+
include_dir = %yawsdir%/examples/include
-#end then a set of servers
+# This is a debug variable, possible values are http | traffic | false
+# It is also possible to set the trace (possibly to the tty) while
+# invoking yaws from the shell as in
+# yaws -i -T -x (see man yaws)
+
+trace = false
+
+
+
+# it is possible to have yaws start additional
+# application specific code at startup
+#
+# runmod = mymodule
+
+
+
+
+# If yaws is started as root, it can, once it has opened
+# all relevant sockets for listening, change the uid to a
+# user with lower accessrights than root
+
+# username = nobody
+
+
+# If HTTP auth is used, it is possible to have a specific
+# auth log.
+
+auth_log = true
+# When we're running multiple yaws systems on the same
+# host, we need to give each yaws system an individual
+# name. Yaws will write a number of runtime files under
+# /tmp/yaws/${id}
+#
+
+
+# id = myname
+
+
+
+
+
+
+
+
+# end then a set of virtual servers
+# First two virthosted servers on the same IP (0.0.0.0)
+# in this case, but an explicit IP can be given as well
+
+<server %host%>
+ port = %port%
+ listen = 0.0.0.0
+ docroot = %docroot%
+</server>
-# enter hostname and IP here
<server localhost>
- port = 80
- listen = 127.0.0.1
- docroot = /var/yaws/www
+ port = %port%
+ listen = 0.0.0.0
+ docroot = /tmp
+ dir_listings = true
+ <auth>
+ realm = foobar
+ dir = /
+ user = foo:bar
+ user = baz:bar
+ </auth>
</server>
+# And then an ssl server
+
+<server %host%>
+ port = %sslport%
+ docroot = /tmp
+ listen = 0.0.0.0
+ dir_listings = true
+ <ssl>
+ keyfile = %certdir%/yaws-key.pem
+ certfile = %certdir%/yaws-cert.pem
+ </ssl>
+</server>
+
+
+
+
+
+
+
View
26 scripts/yaws.conf.template.local
@@ -1,26 +0,0 @@
-
-# conf for yaws
-
-
-# first we have a set of globals
-
-logdir = .
-ebin_dir = %yawsdir%/examples/ebin
-include_dir = %yawsdir%/examples/include
-
-
-
-#end then a set of servers
-
-
-
-# enter hostname and IP here
-<server localhost>
- port = 8000
- listen = 127.0.0.1
- docroot = %yawsdir%/www
-</server>
-
-
-
-
View
0  scripts/yaws.ss → scripts/yaws.template
File renamed without changes
View
3  src/Makefile
@@ -46,7 +46,8 @@ all: yaws_vsn.erl $(EBIN_FILES)
$(EBIN_FILES) : ../include/yaws.hrl ../include/yaws_api.hrl
yaws_vsn.erl: yaws_vsn.template
- . ../vsn.mk; sed "s/%VSN%/${YAWS_VSN}/" < yaws_vsn.template > yaws_vsn.erl
+ . ../vsn.mk; \
+ sed "s/%VSN%/${YAWS_VSN}/" < yaws_vsn.template > yaws_vsn.erl
mime_types.erl: mime.types mime_type_c.erl
erl -noshell -pa ../ebin -s mime_type_c compile
View
9 src/yaws_config.erl
@@ -222,8 +222,11 @@ fload(FD, globals, GC, C, Cs, Lno, Chars) ->
"http" ->
fload(FD, globals, GC#gconf{trace = {true, http}},
C, Cs, Lno+1, Next);
+ "false" ->
+ fload(FD, globals, GC#gconf{trace = false},
+ C, Cs, Lno+1, Next);
_ ->
- {error, ?F("Expect bool at line ~w",[Lno])}
+ {error, ?F("Expect false|http|traffic at line ~w",[Lno])}
end;
["logdir", '=', Logdir] ->
@@ -273,7 +276,7 @@ fload(FD, globals, GC, C, Cs, Lno, Chars) ->
end;
- %% depracted, don't use
+ %% deprected, don't use
["read_timeout", '=', _Val] ->
fload(FD, globals, GC, C, Cs, Lno+1, Next);
@@ -780,3 +783,5 @@ is_space(C) ->
is_special(C) ->
lists:member(C, [$=, $<, $>]).
+
+
View
5 src/yaws_server.erl
@@ -413,8 +413,9 @@ gserv(GC, Group0) ->
SC#sconf.port,
catch map(fun(S) ->
io_lib:format("~n - ~s://~s under ~s",
- [if SSLBOOL -> "https";
- true -> "http"
+ [if SSLBOOL == undefined ->
+ "http";
+ true -> "https"
end,
S#sconf.servername,
S#sconf.docroot])
View
28 ssl/cert.example
@@ -1,28 +0,0 @@
------BEGIN CERTIFICATE-----
-MIIEqjCCBBOgAwIBAgIBADANBgkqhkiG9w0BAQQFADCBwDELMAkGA1UEBhMCVVMx
-FDASBgNVBAgTC09ha2xhZm9ybmlhMRAwDgYDVQQHEwdUZXN0aW5nMSgwJgYDVQQK
-Ex9UZXN0IEluYy4gMSAxMDo0MTo0NyAyMDAxLTEyLTIxMRIwEAYDVQQLEwl0ZXN0
-IGRlcHQxIDAeBgNVBAMTF3d3dy5kdW1teXNzbHRlc3RpbmcuY29tMSkwJwYJKoZI
-hvcNAQkBFhp0ZXN0ZXJAZHVtbXlzc2x0ZXN0aW5nLmNvbTAeFw0wMTEyMjEwOTQx
-NDdaFw0wMjEyMjEwOTQxNDdaMIHAMQswCQYDVQQGEwJVUzEUMBIGA1UECBMLT2Fr
-bGFmb3JuaWExEDAOBgNVBAcTB1Rlc3RpbmcxKDAmBgNVBAoTH1Rlc3QgSW5jLiAx
-IDEwOjQxOjQ3IDIwMDEtMTItMjExEjAQBgNVBAsTCXRlc3QgZGVwdDEgMB4GA1UE
-AxMXd3d3LmR1bW15c3NsdGVzdGluZy5jb20xKTAnBgkqhkiG9w0BCQEWGnRlc3Rl
-ckBkdW1teXNzbHRlc3RpbmcuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKB
-gQDCh32ldc/MuYmPHQE0CA2h5b/RFXYWMYihuezMgfaRs728bMXAGrKCIARb3vWx
-e28XVXov95FLqaCzBlNGjYqbAqEGiBsDfc2rH/nb7+/53CLmeHD6rFP0hCdLT34F
-O8z2gomHtfEZXSNOFCq3/+kCEIjvY0MDiCJX+o1bnvYyXQIDAQABo4IBsDCCAaww
-DAYDVR0TBAUwAwEB/zARBglghkgBhvhCAQEEBAMCAkQwLAYJYIZIAYb4QgENBB8W
-HWlTRC1TU0wgR2VuZXJhdGVkIENlcnRpZmljYXRlMB0GA1UdDgQWBBSUJyeKnVD+
-h/13c1ud6jZnX//XhDCB7QYDVR0jBIHlMIHigBSUJyeKnVD+h/13c1ud6jZnX//X
-hKGBxqSBwzCBwDELMAkGA1UEBhMCVVMxFDASBgNVBAgTC09ha2xhZm9ybmlhMRAw
-DgYDVQQHEwdUZXN0aW5nMSgwJgYDVQQKEx9UZXN0IEluYy4gMSAxMDo0MTo0NyAy
-MDAxLTEyLTIxMRIwEAYDVQQLEwl0ZXN0IGRlcHQxIDAeBgNVBAMTF3d3dy5kdW1t
-eXNzbHRlc3RpbmcuY29tMSkwJwYJKoZIhvcNAQkBFhp0ZXN0ZXJAZHVtbXlzc2x0
-ZXN0aW5nLmNvbYIBADAlBgNVHREEHjAcgRp0ZXN0ZXJAZHVtbXlzc2x0ZXN0aW5n
-LmNvbTAlBgNVHRIEHjAcgRp0ZXN0ZXJAZHVtbXlzc2x0ZXN0aW5nLmNvbTANBgkq
-hkiG9w0BAQQFAAOBgQBMW/QxlBsJhSvNm6VPZdG70HSttcZiVhvjinBFNRRPrMWU
-/zFQFW0I8vdvUSiGYpQ7zSDA0kdp94dDy2fj/bIOq0KIUysgll0fi/3kTLF7/9Kt
-BxxoXW6rk1XQMNOWlbZTcNLRL8IFbEhWZAImtZRO9kckmX357QYSGRb692KPuw==
------END CERTIFICATE-----
-
View
15 ssl/key.example
@@ -1,15 +0,0 @@
------BEGIN RSA PRIVATE KEY-----
-MIICXAIBAAKBgQDCh32ldc/MuYmPHQE0CA2h5b/RFXYWMYihuezMgfaRs728bMXA
-GrKCIARb3vWxe28XVXov95FLqaCzBlNGjYqbAqEGiBsDfc2rH/nb7+/53CLmeHD6
-rFP0hCdLT34FO8z2gomHtfEZXSNOFCq3/+kCEIjvY0MDiCJX+o1bnvYyXQIDAQAB
-AoGAWXZudnXkB0cc2FCCiSda/aXnvYSdNj+5kocrPDJY71E2ZT2xBFRC3E1VM9sq
-K2GVCaop831ruNxeJ3c1PTFDGJGrNr6A8MPLqnex0adh+eupvGtxlXZOJvDnifi8
-z4dB7HHDXw14Dm6KjsVfggROMUGhdlEPEmnzaLwqPZABs5ECQQDhju150XKPx7/j
-1ysV+73oXnKvydAjDK5oLn1mZiG5JepN028vQrIJi0thQGiGWdCNRDooDmSCa4CW
-wSK9XTXnAkEA3MiBRp7H9nH5NDeKNjuR9mLo8+t7VEfxWaYnOlZdt5KqU8QNcXRg
-IsN8s/L6rOS6iNnkQ9LHPWInRKbNIMwFGwJAKJBVsNSz75uSrNzjSL7PNlzV7zsy
-DTuYme/SaXnwkqV476oYkr1B22mLkt/MbGz2jpE4jD+aX8IJjBMLtlZu/QJAe9oO
-iysvSVSOU3iEk/++1dSOkaabvJ/PCFdo0hT45a3k1rC4SdjaxSWcouW/MZXt/i8d
-Gd733bteA+j+UVOh2QJBAKCIq/Wkvb2pCogTXUhSLhqmWZePw60fAVwkgbgGAPh4
-TfZIr0oIwLDU4L2Foyrf8sbZuTku9BoxXJpQPn8Wjjs=
------END RSA PRIVATE KEY-----
View
26 ssl/yaws-cert.pem
@@ -0,0 +1,26 @@
+-----BEGIN CERTIFICATE-----
+MIIEbTCCA9agAwIBAgIBADANBgkqhkiG9w0BAQQFADCBqTELMAkGA1UEBhMCc2Ux
+FTATBgNVBAgTDEdvbmR3YW5hbGFuZDERMA8GA1UEBxMIWWF3c3Rvd24xEzARBgNV
+BAoTCkh5YmVyIEluYy4xGzAZBgNVBAsTEkphbml0b3JpYWwgc2VjdGlvbjESMBAG
+A1UEAxMJbG9jYWxob3N0MSowKAYJKoZIhvcNAQkBFhtub2JvZHlAbm93aGVyZS5n
+b25kd2FuYWxhbmQwHhcNMDQwMzE4MDk0NDA5WhcNMDkwOTA4MDk0NDA5WjCBqTEL
+MAkGA1UEBhMCc2UxFTATBgNVBAgTDEdvbmR3YW5hbGFuZDERMA8GA1UEBxMIWWF3
+c3Rvd24xEzARBgNVBAoTCkh5YmVyIEluYy4xGzAZBgNVBAsTEkphbml0b3JpYWwg
+c2VjdGlvbjESMBAGA1UEAxMJbG9jYWxob3N0MSowKAYJKoZIhvcNAQkBFhtub2Jv
+ZHlAbm93aGVyZS5nb25kd2FuYWxhbmQwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ
+AoGBAMwkcBwlcH1PORiD+CFc2M4CnfNyAoLpdmjj33VI8Zi6QpVTUW9FfRiA/HfD
+PwB7vKQ9zQpbs7cP0+fyWJrNNgRpeyQ0oDM4WvWC0F3un3fs8o1CT77f8CzkR8mP
+P6UGvBQZtKJwmCV0mTcKPz2G0xSobAvYGX/I5Aixm3IuWs/XAgMBAAGjggGhMIIB
+nTAMBgNVHRMEBTADAQH/MBEGCWCGSAGG+EIBAQQEAwICRDAyBglghkgBhvhCAQ0E
+JRYjQWx0ZW9uL05vcnRlbCBHZW5lcmF0ZWQgQ2VydGlmaWNhdGUwHQYDVR0OBBYE
+FCgQch3M7taVtzPbNV2hEqkhSIMWMIHWBgNVHSMEgc4wgcuAFCgQch3M7taVtzPb
+NV2hEqkhSIMWoYGvpIGsMIGpMQswCQYDVQQGEwJzZTEVMBMGA1UECBMMR29uZHdh
+bmFsYW5kMREwDwYDVQQHEwhZYXdzdG93bjETMBEGA1UEChMKSHliZXIgSW5jLjEb
+MBkGA1UECxMSSmFuaXRvcmlhbCBzZWN0aW9uMRIwEAYDVQQDEwlsb2NhbGhvc3Qx
+KjAoBgkqhkiG9w0BCQEWG25vYm9keUBub3doZXJlLmdvbmR3YW5hbGFuZIIBADAm
+BgNVHREEHzAdgRtub2JvZHlAbm93aGVyZS5nb25kd2FuYWxhbmQwJgYDVR0SBB8w
+HYEbbm9ib2R5QG5vd2hlcmUuZ29uZHdhbmFsYW5kMA0GCSqGSIb3DQEBBAUAA4GB
+AJta5N4bDsuLdft6COg2k/+nUN6sIPSm0g6px8Zdj6+9u1ERydqmPJoFBZVDnvKt
+w5O91ErGuwTGTLwJwPBU7bvEhynWEJbLbEF/kNWZBHfzAq5rg9qmu87c6yhXX4C+
+5Qlk+IW7ZE5HOW3Q41Ln6WBQGS/ec85BKoro/hh9X1Bg
+-----END CERTIFICATE-----
View
15 ssl/yaws-key.pem
@@ -0,0 +1,15 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIICWwIBAAKBgQDMJHAcJXB9TzkYg/ghXNjOAp3zcgKC6XZo4991SPGYukKVU1Fv
+RX0YgPx3wz8Ae7ykPc0KW7O3D9Pn8liazTYEaXskNKAzOFr1gtBd7p937PKNQk++
+3/As5EfJjz+lBrwUGbSicJgldJk3Cj89htMUqGwL2Bl/yOQIsZtyLlrP1wIDAQAB
+AoGAYgEwTWLwAUjSaWGZ8zJm52g8Ok7Gw+CfNzYG5oCxdBgftR693sSmjOgHzNtQ
+WMQOyW7eDBYATmdr3VPsk8znHBSfQ19gAJjR89lJ6lt5qDMNtXMUWILn91g+RbkO
+gmTkhD8uc0e/3FJBwPxFJWQzFEcAR4jNFJwhNzg6CO8CK/ECQQD7sNzvMRnUi1RQ
+tiKgRxdjdEwNh58OUPwuJWhKdBLIpHBAJxCBHJB+1N0ufpqaEgUfJ5+gEYrBRMJh
+aTCIJul5AkEAz6MsmkMz6Iej5zlKrlDL5q6GU+wElXK/F1H8tN/JchoSXN8BRCJZ
+DLpK0mcMN4yukHKDCo0LD9NBlRQFDll/zwJASb2CrW2kVLpRhKgoMu9BMflDwv8G
+IcqmZ9q72HxzeGd9H76SPlGhIBe7icC8CQHYkE0qnlolXgSIMsP/3RQReQJAYHnt
++INvNAUKSB6br6EFDNtcuNO6UYJufbRvmc89d5HbpGFN4k2fWMWajGarC4iHd8Bt
+WNKuKB09pLoXm1JEiwJAfRtIXE6sr4MQOL6aWwGElw+Yb4B1WBhBiPRRwGTX0nzN
+HXF3851+kgZBZjjzA3Ib2nr5PeXkZBBLE/4NJvRPRA==
+-----END RSA PRIVATE KEY-----
Please sign in to comment.
Something went wrong with that request. Please try again.