|
@@ -38,6 +38,7 @@ app_repo="TODO"
|
38
|
38
|
app_repo_commit='TODO'
|
39
|
39
|
app_php=
|
40
|
40
|
app_node=
|
|
41
|
+app_onion_only=
|
41
|
42
|
app_port=''
|
42
|
43
|
your_name=''
|
43
|
44
|
your_email=''
|
|
@@ -59,6 +60,7 @@ function show_help {
|
59
|
60
|
echo $' -c --commit [hash] Git commit'
|
60
|
61
|
echo $' --port [number] Port number for the app'
|
61
|
62
|
echo $' --node [yes|no] Is this a nodejs app?'
|
|
63
|
+ echo $' -o --onion [yes|no] Is this app only available on an onion address?'
|
62
|
64
|
echo $' -p --php [yes|no] Is this a PHP app?'
|
63
|
65
|
echo $' -d --database [mariadb|postgresql] Type of database'
|
64
|
66
|
echo ''
|
|
@@ -108,6 +110,12 @@ do
|
108
|
110
|
shift
|
109
|
111
|
app_node="$1"
|
110
|
112
|
;;
|
|
113
|
+ -o|--onion)
|
|
114
|
+ shift
|
|
115
|
+ if [[ "$1" == 'yes' ]]; then
|
|
116
|
+ app_onion_only=1
|
|
117
|
+ fi
|
|
118
|
+ ;;
|
111
|
119
|
--port)
|
112
|
120
|
shift
|
113
|
121
|
app_port="$1"
|
|
@@ -191,6 +199,9 @@ echo "VARIANTS='full full-vim'"
|
191
|
199
|
echo ''
|
192
|
200
|
echo 'IN_DEFAULT_INSTALL=0'
|
193
|
201
|
echo "SHOW_ON_ABOUT=${SHOW_ON_ABOUT}"
|
|
202
|
+if [ $app_onion_only ]; then
|
|
203
|
+ echo 'SHOW_ICANN_ADDRESS_ON_ABOUT=0'
|
|
204
|
+fi
|
194
|
205
|
echo ''
|
195
|
206
|
echo "${app_name_upper}_DOMAIN_NAME="
|
196
|
207
|
echo "${app_name_upper}_CODE="
|
|
@@ -227,16 +238,20 @@ echo " echo '0'"
|
227
|
238
|
echo '}'
|
228
|
239
|
echo ''
|
229
|
240
|
echo "function install_interactive_${app_name} {"
|
230
|
|
-echo ' if [ ! $ONION_ONLY ]; then'
|
231
|
|
-echo " ONION_ONLY='no'"
|
232
|
|
-echo ' fi'
|
233
|
|
-echo ''
|
234
|
|
-echo ' if [[ $ONION_ONLY != "no" ]]; then'
|
235
|
|
-echo " ${app_name_upper}_DOMAIN_NAME='${app_name}.local'"
|
236
|
|
-echo " write_config_param \"${app_name_upper}_DOMAIN_NAME\" \"\$${app_name_upper}_DOMAIN_NAME\""
|
237
|
|
-echo ' else'
|
238
|
|
-echo " interactive_site_details \"${app_name}\" \"${app_name_upper}_DOMAIN_NAME\" \"${app_name}_CODE\""
|
239
|
|
-echo ' fi'
|
|
241
|
+if [ ! $app_onion_only ]; then
|
|
242
|
+ echo ' if [ ! $ONION_ONLY ]; then'
|
|
243
|
+ echo " ONION_ONLY='no'"
|
|
244
|
+ echo ' fi'
|
|
245
|
+ echo ''
|
|
246
|
+ echo ' if [[ $ONION_ONLY != "no" ]]; then'
|
|
247
|
+ echo " ${app_name_upper}_DOMAIN_NAME='${app_name}.local'"
|
|
248
|
+ echo " write_config_param \"${app_name_upper}_DOMAIN_NAME\" \"\$${app_name_upper}_DOMAIN_NAME\""
|
|
249
|
+ echo ' else'
|
|
250
|
+ echo " interactive_site_details \"${app_name}\" \"${app_name_upper}_DOMAIN_NAME\" \"${app_name}_CODE\""
|
|
251
|
+ echo ' fi'
|
|
252
|
+else
|
|
253
|
+ echo " echo -n ''"
|
|
254
|
+fi
|
240
|
255
|
echo ' APP_INSTALLED=1'
|
241
|
256
|
echo '}'
|
242
|
257
|
echo ''
|
|
@@ -541,7 +556,7 @@ echo ''
|
541
|
556
|
echo " chmod g+w /var/www/\$${app_name_upper}_DOMAIN_NAME/htdocs"
|
542
|
557
|
echo " chown -R www-data:www-data /var/www/\$${app_name_upper}_DOMAIN_NAME/htdocs"
|
543
|
558
|
|
544
|
|
-if [[ "$database_type" == "mariadb" || "$database_type" == "mysql" ]]; then
|
|
559
|
+if [[ "$database_type" == "mariadb" || "$database_type" == "mysql" || "$database_type" == "postgres"* ]]; then
|
545
|
560
|
echo ''
|
546
|
561
|
echo " ${app_name}_create_database"
|
547
|
562
|
fi
|
|
@@ -551,53 +566,58 @@ echo ''
|
551
|
566
|
echo " ${app_name_upper}_ONION_HOSTNAME=\$(add_onion_service ${app_name} 80 \${${app_name_upper}_ONION_PORT})"
|
552
|
567
|
echo ''
|
553
|
568
|
echo " ${app_name}_nginx_site=/etc/nginx/sites-available/\$${app_name_upper}_DOMAIN_NAME"
|
554
|
|
-echo ' if [[ $ONION_ONLY == "no" ]]; then'
|
555
|
|
-if [[ "$app_php" == 'yes' ]]; then
|
556
|
|
- echo " nginx_http_redirect \$${app_name_upper}_DOMAIN_NAME \"index index.php\""
|
557
|
|
-else
|
558
|
|
- echo " nginx_http_redirect \$${app_name_upper}_DOMAIN_NAME \"index index.html\""
|
559
|
|
-fi
|
560
|
|
-echo " echo 'server {' >> \$${app_name}_nginx_site"
|
561
|
|
-echo " echo ' listen 443 ssl;' >> \$${app_name}_nginx_site"
|
562
|
|
-echo " echo ' listen [::]:443 ssl;' >> \$${app_name}_nginx_site"
|
563
|
|
-echo " echo \" server_name \$${app_name_upper}_DOMAIN_NAME;\" >> \$${app_name}_nginx_site"
|
564
|
|
-echo " echo '' >> \$${app_name}_nginx_site"
|
565
|
|
-echo " nginx_compress \$${app_name_upper}_DOMAIN_NAME"
|
566
|
|
-echo " echo '' >> \$${app_name}_nginx_site"
|
567
|
|
-echo " echo ' # Security' >> \$${app_name}_nginx_site"
|
568
|
|
-echo " nginx_ssl \$${app_name_upper}_DOMAIN_NAME"
|
569
|
|
-echo ''
|
570
|
|
-echo " nginx_disable_sniffing \$${app_name_upper}_DOMAIN_NAME"
|
571
|
|
-echo ''
|
572
|
|
-echo " echo ' add_header Strict-Transport-Security max-age=15768000;' >> \$${app_name}_nginx_site"
|
573
|
|
-echo " echo '' >> \$${app_name}_nginx_site"
|
574
|
|
-echo " echo ' # Logs' >> \$${app_name}_nginx_site"
|
575
|
|
-echo " echo ' access_log /dev/null;' >> \$${app_name}_nginx_site"
|
576
|
|
-echo " echo ' error_log /dev/null;' >> \$${app_name}_nginx_site"
|
577
|
|
-echo " echo '' >> \$${app_name}_nginx_site"
|
578
|
|
-echo " echo ' # Root' >> \$${app_name}_nginx_site"
|
579
|
|
-echo " echo \" root /var/www/\$${app_name_upper}_DOMAIN_NAME/htdocs;\" >> \$${app_name}_nginx_site"
|
580
|
|
-echo " echo '' >> \$${app_name}_nginx_site"
|
581
|
|
-if [[ "$app_php" == 'yes' ]]; then
|
582
|
|
- echo " echo ' index index.php;' >> \$${app_name}_nginx_site"
|
583
|
|
- echo " echo ' location ~ \.php {' >> \$${app_name}_nginx_site"
|
584
|
|
- echo " echo ' include snippets/fastcgi-php.conf;' >> \$${app_name}_nginx_site"
|
585
|
|
- echo " echo ' fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;' >> \$${app_name}_nginx_site"
|
586
|
|
- echo " echo ' fastcgi_read_timeout 30;' >> \$${app_name}_nginx_site"
|
587
|
|
- echo " echo ' }' >> \$${app_name}_nginx_site"
|
|
569
|
+
|
|
570
|
+if [ $app_onion_only ]; then
|
|
571
|
+ echo ' if [[ $ONION_ONLY == "no" ]]; then'
|
|
572
|
+ if [[ "$app_php" == 'yes' ]]; then
|
|
573
|
+ echo " nginx_http_redirect \$${app_name_upper}_DOMAIN_NAME \"index index.php\""
|
|
574
|
+ else
|
|
575
|
+ echo " nginx_http_redirect \$${app_name_upper}_DOMAIN_NAME \"index index.html\""
|
|
576
|
+ fi
|
|
577
|
+ echo " echo 'server {' >> \$${app_name}_nginx_site"
|
|
578
|
+ echo " echo ' listen 443 ssl;' >> \$${app_name}_nginx_site"
|
|
579
|
+ echo " echo ' listen [::]:443 ssl;' >> \$${app_name}_nginx_site"
|
|
580
|
+ echo " echo \" server_name \$${app_name_upper}_DOMAIN_NAME;\" >> \$${app_name}_nginx_site"
|
|
581
|
+ echo " echo '' >> \$${app_name}_nginx_site"
|
|
582
|
+ echo " nginx_compress \$${app_name_upper}_DOMAIN_NAME"
|
|
583
|
+ echo " echo '' >> \$${app_name}_nginx_site"
|
|
584
|
+ echo " echo ' # Security' >> \$${app_name}_nginx_site"
|
|
585
|
+ echo " nginx_ssl \$${app_name_upper}_DOMAIN_NAME"
|
|
586
|
+ echo ''
|
|
587
|
+ echo " nginx_disable_sniffing \$${app_name_upper}_DOMAIN_NAME"
|
|
588
|
+ echo ''
|
|
589
|
+ echo " echo ' add_header Strict-Transport-Security max-age=15768000;' >> \$${app_name}_nginx_site"
|
|
590
|
+ echo " echo '' >> \$${app_name}_nginx_site"
|
|
591
|
+ echo " echo ' # Logs' >> \$${app_name}_nginx_site"
|
|
592
|
+ echo " echo ' access_log /dev/null;' >> \$${app_name}_nginx_site"
|
|
593
|
+ echo " echo ' error_log /dev/null;' >> \$${app_name}_nginx_site"
|
588
|
594
|
echo " echo '' >> \$${app_name}_nginx_site"
|
|
595
|
+ echo " echo ' # Root' >> \$${app_name}_nginx_site"
|
|
596
|
+ echo " echo \" root /var/www/\$${app_name_upper}_DOMAIN_NAME/htdocs;\" >> \$${app_name}_nginx_site"
|
|
597
|
+ echo " echo '' >> \$${app_name}_nginx_site"
|
|
598
|
+ if [[ "$app_php" == 'yes' ]]; then
|
|
599
|
+ echo " echo ' index index.php;' >> \$${app_name}_nginx_site"
|
|
600
|
+ echo " echo ' location ~ \.php {' >> \$${app_name}_nginx_site"
|
|
601
|
+ echo " echo ' include snippets/fastcgi-php.conf;' >> \$${app_name}_nginx_site"
|
|
602
|
+ echo " echo ' fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;' >> \$${app_name}_nginx_site"
|
|
603
|
+ echo " echo ' fastcgi_read_timeout 30;' >> \$${app_name}_nginx_site"
|
|
604
|
+ echo " echo ' }' >> \$${app_name}_nginx_site"
|
|
605
|
+ echo " echo '' >> \$${app_name}_nginx_site"
|
|
606
|
+ else
|
|
607
|
+ echo " echo ' index index.html;' >> \$${app_name}_nginx_site"
|
|
608
|
+ fi
|
|
609
|
+ echo " echo ' # Location' >> \$${app_name}_nginx_site"
|
|
610
|
+ echo " echo ' location / {' >> \$${app_name}_nginx_site"
|
|
611
|
+ echo " nginx_limits \$${app_name_upper}_DOMAIN_NAME '15m'"
|
|
612
|
+ echo " echo ' try_files \$uri \$uri/ @${app_name};' >> \$${app_name}_nginx_site"
|
|
613
|
+ echo " echo ' }' >> \$${app_name}_nginx_site"
|
|
614
|
+ echo " echo '}' >> \$${app_name}_nginx_site"
|
|
615
|
+ echo ' else'
|
|
616
|
+ echo " echo -n '' > \$${app_name}_nginx_site"
|
|
617
|
+ echo ' fi'
|
589
|
618
|
else
|
590
|
|
- echo " echo ' index index.html;' >> \$${app_name}_nginx_site"
|
|
619
|
+ echo " echo -n '' > \$${app_name}_nginx_site"
|
591
|
620
|
fi
|
592
|
|
-echo " echo ' # Location' >> \$${app_name}_nginx_site"
|
593
|
|
-echo " echo ' location / {' >> \$${app_name}_nginx_site"
|
594
|
|
-echo " nginx_limits \$${app_name_upper}_DOMAIN_NAME '15m'"
|
595
|
|
-echo " echo ' try_files \$uri \$uri/ @${app_name};' >> \$${app_name}_nginx_site"
|
596
|
|
-echo " echo ' }' >> \$${app_name}_nginx_site"
|
597
|
|
-echo " echo '}' >> \$${app_name}_nginx_site"
|
598
|
|
-echo ' else'
|
599
|
|
-echo " echo -n '' > \$${app_name}_nginx_site"
|
600
|
|
-echo ' fi'
|
601
|
621
|
echo " echo 'server {' >> \$${app_name}_nginx_site"
|
602
|
622
|
echo " echo \" listen 127.0.0.1:\$${app_name_upper}_ONION_PORT default_server;\" >> \$${app_name}_nginx_site"
|
603
|
623
|
echo " echo \" server_name \$${app_name_upper}_ONION_HOSTNAME;\" >> \$${app_name}_nginx_site"
|