|
@@ -33,20 +33,84 @@ VARIANTS=''
|
33
|
33
|
IN_DEFAULT_INSTALL=0
|
34
|
34
|
SHOW_ON_ABOUT=0
|
35
|
35
|
|
|
36
|
+PELICAN_BLOG_DOMAIN=
|
|
37
|
+PELICAN_BLOG_CODE=
|
|
38
|
+
|
36
|
39
|
STATIC_BLOG_INSTALL_DIR=/etc/staticblog
|
37
|
40
|
PELICAN_THEMES_REPO="https://github.com/getpelican/pelican-themes"
|
38
|
41
|
PELICAN_PLUGINS_REPO="https://github.com/getpelican/pelican-plugins"
|
39
|
42
|
DEFAULT_BLOG_TITLE=$"Freedombone Blog"
|
40
|
43
|
|
41
|
44
|
pelican_variables=(MY_USERNAME
|
42
|
|
- STATIC_BLOG_DOMAIN)
|
|
45
|
+ ONION_ONLY
|
|
46
|
+ PELICAN_BLOG_DOMAIN
|
|
47
|
+ PELICAN_BLOG_CODE)
|
43
|
48
|
|
44
|
49
|
function configure_interactive_pelican {
|
45
|
50
|
echo -n ''
|
46
|
51
|
}
|
47
|
52
|
|
48
|
53
|
function install_interactive_pelican {
|
49
|
|
- echo -n ''
|
|
54
|
+ if [ ! $ONION_ONLY ]; then
|
|
55
|
+ ONION_ONLY='no'
|
|
56
|
+ fi
|
|
57
|
+
|
|
58
|
+ if [[ $ONION_ONLY != "no" ]]; then
|
|
59
|
+ PELICAN_BLOG_DOMAIN='pelican.local'
|
|
60
|
+ else
|
|
61
|
+ PELICAN_DETAILS_COMPLETE=
|
|
62
|
+ while [ ! $PELICAN_DETAILS_COMPLETE ]
|
|
63
|
+ do
|
|
64
|
+ data=$(tempfile 2>/dev/null)
|
|
65
|
+ trap "rm -f $data" 0 1 2 5 15
|
|
66
|
+ if [[ $DDNS_PROVIDER == "default@freedns.afraid.org" ]]; then
|
|
67
|
+ dialog --backtitle $"Freedombone Configuration" \
|
|
68
|
+ --title $"Pelican Blog Configuration" \
|
|
69
|
+ --form $"\nPlease enter your blog details.\n\nIMPORTANT: This should be a domain name which is supported by Let's Encrypt:" 14 65 2 \
|
|
70
|
+ $"Domain:" 1 1 "$(grep 'PELICAN_BLOG_DOMAIN' temp.cfg | awk -F '=' '{print $2}')" 1 25 33 40 \
|
|
71
|
+ $"Code:" 2 1 "$(grep 'PELICAN_BLOG_CODE' temp.cfg | awk -F '=' '{print $2}')" 2 25 33 255 \
|
|
72
|
+ 2> $data
|
|
73
|
+ else
|
|
74
|
+ dialog --backtitle $"Freedombone Configuration" \
|
|
75
|
+ --title $"Pelican Blog Configuration" \
|
|
76
|
+ --form $"\nPlease enter your GNU Social details. The background image URL can be left blank.\n\nIMPORTANT: This should be a domain name which is supported by Let's Encrypt:" 14 65 2 \
|
|
77
|
+ $"Domain:" 1 1 "$(grep 'PELICAN_BLOG_DOMAIN' temp.cfg | awk -F '=' '{print $2}')" 1 25 33 40 \
|
|
78
|
+ 2> $data
|
|
79
|
+ fi
|
|
80
|
+ sel=$?
|
|
81
|
+ case $sel in
|
|
82
|
+ 1) exit 1;;
|
|
83
|
+ 255) exit 1;;
|
|
84
|
+ esac
|
|
85
|
+ PELICAN_BLOG_DOMAIN=$(cat $data | sed -n 1p)
|
|
86
|
+ if [ $PELICAN_BLOG_DOMAIN ]; then
|
|
87
|
+ if [[ $PELICAN_BLOG_DOMAIN == "$HUBZILLA_DOMAIN_NAME" ]]; then
|
|
88
|
+ PELICAN_BLOG_DOMAIN=""
|
|
89
|
+ fi
|
|
90
|
+ TEST_DOMAIN_NAME=$PELICAN_BLOG_DOMAIN
|
|
91
|
+ validate_domain_name
|
|
92
|
+ if [[ $TEST_DOMAIN_NAME != $PELICAN_BLOG_DOMAIN ]]; then
|
|
93
|
+ PELICAN_BLOG_DOMAIN=
|
|
94
|
+ dialog --title $"Domain name validation" --msgbox "$TEST_DOMAIN_NAME" 15 50
|
|
95
|
+ else
|
|
96
|
+ if [[ $DDNS_PROVIDER == "default@freedns.afraid.org" ]]; then
|
|
97
|
+ PELICAN_BLOG_CODE=$(cat $data | sed -n 2p)
|
|
98
|
+ validate_freedns_code "$PELICAN_BLOG_CODE"
|
|
99
|
+ if [ ! $VALID_CODE ]; then
|
|
100
|
+ PELICAN_BLOG_DOMAIN=
|
|
101
|
+ fi
|
|
102
|
+ fi
|
|
103
|
+ fi
|
|
104
|
+ fi
|
|
105
|
+ if [ $PELICAN_BLOG_DOMAIN ]; then
|
|
106
|
+ PELICAN_DETAILS_COMPLETE="yes"
|
|
107
|
+ fi
|
|
108
|
+ done
|
|
109
|
+
|
|
110
|
+ # save the results in the config file
|
|
111
|
+ write_config_param "PELICAN_BLOG_CODE" "$PELICAN_BLOG_CODE"
|
|
112
|
+ fi
|
|
113
|
+ write_config_param "PELICAN_BLOG_DOMAIN" "$PELICAN_BLOG_DOMAIN"
|
50
|
114
|
APP_INSTALLED=1
|
51
|
115
|
}
|
52
|
116
|
|
|
@@ -75,11 +139,11 @@ function restore_remote_pelican {
|
75
|
139
|
}
|
76
|
140
|
|
77
|
141
|
function remove_pelican {
|
78
|
|
- if [ -d /var/www/$STATIC_BLOG_DOMAIN/htdocs ]; then
|
79
|
|
- rm -rf /var/www/$STATIC_BLOG_DOMAIN/htdocs
|
|
142
|
+ if [ -d /var/www/$PELICAN_BLOG_DOMAIN/htdocs ]; then
|
|
143
|
+ rm -rf /var/www/$PELICAN_BLOG_DOMAIN/htdocs
|
80
|
144
|
fi
|
81
|
145
|
pip uninstall pelican
|
82
|
|
- remove_certs $STATIC_BLOG_DOMAIN
|
|
146
|
+ remove_certs $PELICAN_BLOG_DOMAIN
|
83
|
147
|
}
|
84
|
148
|
|
85
|
149
|
function create_pelican_conf {
|
|
@@ -319,7 +383,7 @@ function install_pelican {
|
319
|
383
|
pip install pelican
|
320
|
384
|
|
321
|
385
|
STATIC_BLOG_INSTALL_DIR=/etc/blog
|
322
|
|
- STATIC_BLOG_PATH=/var/www/$STATIC_BLOG_DOMAIN/htdocs
|
|
386
|
+ STATIC_BLOG_PATH=/var/www/$PELICAN_BLOG_DOMAIN/htdocs
|
323
|
387
|
|
324
|
388
|
if [ ! -d $STATIC_BLOG_INSTALL_DIR ]; then
|
325
|
389
|
mkdir -p $STATIC_BLOG_INSTALL_DIR
|