|
@@ -1933,7 +1933,11 @@ function check_certificates {
|
1933
|
1933
|
if [ ! $1 ]; then
|
1934
|
1934
|
return
|
1935
|
1935
|
fi
|
1936
|
|
- if [[ $LETSENCRYPT_ENABLED != "yes" ]]; then
|
|
1936
|
+ USE_LETSENCRYPT='no'
|
|
1937
|
+ if [ $2 ]; then
|
|
1938
|
+ USE_LETSENCRYPT=$2
|
|
1939
|
+ fi
|
|
1940
|
+ if [[ $USE_LETSENCRYPT == 'no' ]]; then
|
1937
|
1941
|
if [ ! -f /etc/ssl/private/$1.key ]; then
|
1938
|
1942
|
echo $"Private certificate for $CHECK_HOSTNAME was not created"
|
1939
|
1943
|
exit 63959
|
|
@@ -1958,6 +1962,39 @@ function check_certificates {
|
1958
|
1962
|
fi
|
1959
|
1963
|
}
|
1960
|
1964
|
|
|
1965
|
+function create_site_certificate {
|
|
1966
|
+ SITE_DOMAIN_NAME="$1"
|
|
1967
|
+
|
|
1968
|
+ # if yes then only "valid" certs are allowed, not self-signed
|
|
1969
|
+ NO_SELF_SIGNED='no'
|
|
1970
|
+ if [ $2 ]; then
|
|
1971
|
+ NO_SELF_SIGNED="$2"
|
|
1972
|
+ fi
|
|
1973
|
+
|
|
1974
|
+ if [[ $ONION_ONLY == "no" ]]; then
|
|
1975
|
+ if [ ! -f /etc/ssl/certs/$SITE_DOMAIN_NAME.dhparam ]; then
|
|
1976
|
+ if [[ $LETSENCRYPT_ENABLED != "yes" ]]; then
|
|
1977
|
+ ${PROJECT_NAME}-addcert -h $SITE_DOMAIN_NAME --dhkey $DH_KEYLENGTH
|
|
1978
|
+ check_certificates $SITE_DOMAIN_NAME
|
|
1979
|
+ else
|
|
1980
|
+ ${PROJECT_NAME}-addcert -e $SITE_DOMAIN_NAME -s $LETSENCRYPT_SERVER --dhkey $DH_KEYLENGTH --email $MY_EMAIL_ADDRESS
|
|
1981
|
+ if [ ! "$?" = "0" ]; then
|
|
1982
|
+ if [[ $NO_SELF_SIGNED == 'no' ]]; then
|
|
1983
|
+ echo $"Lets Encrypt failed for $SITE_DOMAIN_NAME, so try making a self-signed cert"
|
|
1984
|
+ ${PROJECT_NAME}-addcert -h $SITE_DOMAIN_NAME --dhkey $DH_KEYLENGTH
|
|
1985
|
+ check_certificates $SITE_DOMAIN_NAME
|
|
1986
|
+ else
|
|
1987
|
+ echo $"Lets Encrypt failed for $SITE_DOMAIN_NAME"
|
|
1988
|
+ exit 682529
|
|
1989
|
+ fi
|
|
1990
|
+ else
|
|
1991
|
+ check_certificates $SITE_DOMAIN_NAME 'yes'
|
|
1992
|
+ fi
|
|
1993
|
+ fi
|
|
1994
|
+ fi
|
|
1995
|
+ fi
|
|
1996
|
+}
|
|
1997
|
+
|
1961
|
1998
|
function backup_database_local {
|
1962
|
1999
|
# Makes local backups of databases which can then be automatically rolled
|
1963
|
2000
|
# back if corruption is detected
|
|
@@ -6452,16 +6489,7 @@ function install_owncloud_official_deb {
|
6452
|
6489
|
|
6453
|
6490
|
configure_php
|
6454
|
6491
|
|
6455
|
|
- if [[ $ONION_ONLY == "no" ]]; then
|
6456
|
|
- if [ ! -f /etc/ssl/certs/$OWNCLOUD_DOMAIN_NAME.dhparam ]; then
|
6457
|
|
- if [[ $LETSENCRYPT_ENABLED != "yes" ]]; then
|
6458
|
|
- ${PROJECT_NAME}-addcert -h $OWNCLOUD_DOMAIN_NAME --dhkey $DH_KEYLENGTH
|
6459
|
|
- else
|
6460
|
|
- ${PROJECT_NAME}-addcert -e $OWNCLOUD_DOMAIN_NAME -s $LETSENCRYPT_SERVER --dhkey $DH_KEYLENGTH --email $MY_EMAIL_ADDRESS
|
6461
|
|
- fi
|
6462
|
|
- check_certificates $OWNCLOUD_DOMAIN_NAME
|
6463
|
|
- fi
|
6464
|
|
- fi
|
|
6492
|
+ create_site_certificate $OWNCLOUD_DOMAIN_NAME
|
6465
|
6493
|
|
6466
|
6494
|
# Ensure that the database gets backed up locally, if remote
|
6467
|
6495
|
# backups are not being used
|
|
@@ -6804,16 +6832,7 @@ function install_gogs {
|
6804
|
6832
|
|
6805
|
6833
|
configure_php
|
6806
|
6834
|
|
6807
|
|
- if [[ $ONION_ONLY == "no" ]]; then
|
6808
|
|
- if [ ! -f /etc/ssl/certs/$GIT_DOMAIN_NAME.dhparam ]; then
|
6809
|
|
- if [[ $LETSENCRYPT_ENABLED != "yes" ]]; then
|
6810
|
|
- ${PROJECT_NAME}-addcert -h $GIT_DOMAIN_NAME --dhkey $DH_KEYLENGTH
|
6811
|
|
- else
|
6812
|
|
- ${PROJECT_NAME}-addcert -e $GIT_DOMAIN_NAME -s $LETSENCRYPT_SERVER --dhkey $DH_KEYLENGTH --email $MY_EMAIL_ADDRESS
|
6813
|
|
- fi
|
6814
|
|
- check_certificates $GIT_DOMAIN_NAME
|
6815
|
|
- fi
|
6816
|
|
- fi
|
|
6835
|
+ create_site_certificate $GIT_DOMAIN_NAME
|
6817
|
6836
|
|
6818
|
6837
|
nginx_ensite $GIT_DOMAIN_NAME
|
6819
|
6838
|
|
|
@@ -7726,16 +7745,7 @@ function install_wiki {
|
7726
|
7745
|
echo ' }' >> /etc/nginx/sites-available/$WIKI_DOMAIN_NAME
|
7727
|
7746
|
echo '}' >> /etc/nginx/sites-available/$WIKI_DOMAIN_NAME
|
7728
|
7747
|
|
7729
|
|
- if [[ $ONION_ONLY == "no" ]]; then
|
7730
|
|
- if [ ! -f /etc/ssl/certs/$WIKI_DOMAIN_NAME.dhparam ]; then
|
7731
|
|
- if [[ $LETSENCRYPT_ENABLED != "yes" ]]; then
|
7732
|
|
- ${PROJECT_NAME}-addcert -h $WIKI_DOMAIN_NAME --dhkey $DH_KEYLENGTH
|
7733
|
|
- else
|
7734
|
|
- ${PROJECT_NAME}-addcert -e $WIKI_DOMAIN_NAME -s $LETSENCRYPT_SERVER --dhkey $DH_KEYLENGTH --email $MY_EMAIL_ADDRESS
|
7735
|
|
- fi
|
7736
|
|
- check_certificates $WIKI_DOMAIN_NAME
|
7737
|
|
- fi
|
7738
|
|
- fi
|
|
7748
|
+ create_site_certificate $WIKI_DOMAIN_NAME
|
7739
|
7749
|
|
7740
|
7750
|
configure_php
|
7741
|
7751
|
|
|
@@ -8049,16 +8059,7 @@ function install_blog {
|
8049
|
8059
|
echo ' }' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
8050
|
8060
|
echo '}' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
8051
|
8061
|
|
8052
|
|
- if [[ $ONION_ONLY == "no" ]]; then
|
8053
|
|
- if [ ! -f /etc/ssl/certs/$FULLBLOG_DOMAIN_NAME.dhparam ]; then
|
8054
|
|
- if [[ $LETSENCRYPT_ENABLED != "yes" ]]; then
|
8055
|
|
- ${PROJECT_NAME}-addcert -h $FULLBLOG_DOMAIN_NAME --dhkey $DH_KEYLENGTH
|
8056
|
|
- else
|
8057
|
|
- ${PROJECT_NAME}-addcert -e $FULLBLOG_DOMAIN_NAME -s $LETSENCRYPT_SERVER --dhkey $DH_KEYLENGTH --email $MY_EMAIL_ADDRESS
|
8058
|
|
- fi
|
8059
|
|
- check_certificates $FULLBLOG_DOMAIN_NAME
|
8060
|
|
- fi
|
8061
|
|
- fi
|
|
8062
|
+ create_site_certificate $FULLBLOG_DOMAIN_NAME
|
8062
|
8063
|
|
8063
|
8064
|
configure_php
|
8064
|
8065
|
|
|
@@ -8647,12 +8648,7 @@ function install_gnu_social {
|
8647
|
8648
|
|
8648
|
8649
|
configure_php
|
8649
|
8650
|
|
8650
|
|
- if [[ $ONION_ONLY == "no" ]]; then
|
8651
|
|
- if [ ! -f /etc/ssl/certs/$MICROBLOG_DOMAIN_NAME.dhparam ]; then
|
8652
|
|
- ${PROJECT_NAME}-addcert -e $MICROBLOG_DOMAIN_NAME -s $LETSENCRYPT_SERVER --dhkey $DH_KEYLENGTH --email $MY_EMAIL_ADDRESS
|
8653
|
|
- check_certificates $MICROBLOG_DOMAIN_NAME
|
8654
|
|
- fi
|
8655
|
|
- fi
|
|
8651
|
+ create_site_certificate $MICROBLOG_DOMAIN_NAME 'yes'
|
8656
|
8652
|
|
8657
|
8653
|
# Ensure that the database gets backed up locally, if remote
|
8658
|
8654
|
# backups are not being used
|
|
@@ -9397,12 +9393,7 @@ function install_hubzilla {
|
9397
|
9393
|
|
9398
|
9394
|
configure_php
|
9399
|
9395
|
|
9400
|
|
- if [[ $ONION_ONLY == "no" ]]; then
|
9401
|
|
- if [ ! -f /etc/ssl/certs/$HUBZILLA_DOMAIN_NAME.dhparam ]; then
|
9402
|
|
- ${PROJECT_NAME}-addcert -e $HUBZILLA_DOMAIN_NAME -s $LETSENCRYPT_SERVER --dhkey $DH_KEYLENGTH --email $MY_EMAIL_ADDRESS
|
9403
|
|
- check_certificates $HUBZILLA_DOMAIN_NAME
|
9404
|
|
- fi
|
9405
|
|
- fi
|
|
9396
|
+ create_site_certificate $HUBZILLA_DOMAIN_NAME 'yes'
|
9406
|
9397
|
|
9407
|
9398
|
if [ ! -d $HUBZILLA_PATH/view/tpl/smarty3 ]; then
|
9408
|
9399
|
mkdir $HUBZILLA_PATH/view/tpl/smarty3
|
|
@@ -9689,7 +9680,7 @@ function install_mediagoblin {
|
9689
|
9680
|
else
|
9690
|
9681
|
sed -i "s|Mediagoblin onion domain.*|Mediagoblin onion domain:${MEDIAGOBLIN_ONION_HOSTNAME}|g" $COMPLETION_FILE
|
9691
|
9682
|
fi
|
9692
|
|
-
|
|
9683
|
+
|
9693
|
9684
|
# web config
|
9694
|
9685
|
MEDIAGOBLIN_VIRTUAL_HOST=/etc/nginx/sites-available/$MEDIAGOBLIN_DOMAIN_NAME
|
9695
|
9686
|
nginx_http_redirect $MEDIAGOBLIN_DOMAIN_NAME
|
|
@@ -9759,7 +9750,7 @@ function install_mediagoblin {
|
9759
|
9750
|
else
|
9760
|
9751
|
echo -n '' > $MEDIAGOBLIN_VIRTUAL_HOST
|
9761
|
9752
|
fi
|
9762
|
|
-
|
|
9753
|
+
|
9763
|
9754
|
echo 'server {' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
9764
|
9755
|
echo " listen 127.0.0.1:${MEDIAGOBLIN_ONION_PORT} default_server;" >> $MEDIAGOBLIN_VIRTUAL_HOST
|
9765
|
9756
|
echo ' #################################################' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
|
@@ -9821,18 +9812,7 @@ function install_mediagoblin {
|
9821
|
9812
|
echo ' }' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
9822
|
9813
|
echo '}' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
9823
|
9814
|
|
9824
|
|
- if [ ! -f /etc/ssl/certs/$MEDIAGOBLIN_DOMAIN_NAME.dhparam ]; then
|
9825
|
|
- if [[ $LETSENCRYPT_ENABLED != "yes" ]]; then
|
9826
|
|
- ${PROJECT_NAME}-addcert -h $MEDIAGOBLIN_DOMAIN_NAME --dhkey $DH_KEYLENGTH
|
9827
|
|
- else
|
9828
|
|
- ${PROJECT_NAME}-addcert -e $MEDIAGOBLIN_DOMAIN_NAME -s $LETSENCRYPT_SERVER --dhkey $DH_KEYLENGTH --email $MY_EMAIL_ADDRESS
|
9829
|
|
- if [ ! "$?" = "0" ]; then
|
9830
|
|
- echo $'Lets Encrypt failed for this domain, so try making a self-signed cert'
|
9831
|
|
- ${PROJECT_NAME}-addcert -h $MEDIAGOBLIN_DOMAIN_NAME --dhkey $DH_KEYLENGTH
|
9832
|
|
- fi
|
9833
|
|
- fi
|
9834
|
|
- check_certificates $MEDIAGOBLIN_DOMAIN_NAME
|
9835
|
|
- fi
|
|
9815
|
+ create_site_certificate $MEDIAGOBLIN_DOMAIN_NAME
|
9836
|
9816
|
|
9837
|
9817
|
nginx_ensite $MEDIAGOBLIN_DOMAIN_NAME
|
9838
|
9818
|
systemctl restart php5-fpm
|
|
@@ -10522,19 +10502,7 @@ function install_sip_turn {
|
10522
|
10502
|
VOIP_TURN_NONCE="$(openssl rand -base64 32 | cut -c1-30)"
|
10523
|
10503
|
fi
|
10524
|
10504
|
|
10525
|
|
- # create a certificate if needed
|
10526
|
|
- if [ ! -f /etc/ssl/certs/$DEFAULT_DOMAIN_NAME.pem ]; then
|
10527
|
|
- if [ ! -f /etc/ssl/certs/$DEFAULT_DOMAIN_NAME.crt ]; then
|
10528
|
|
- if [ ! -f /etc/ssl/certs/$DEFAULT_DOMAIN_NAME.dhparam ]; then
|
10529
|
|
- if [[ $LETSENCRYPT_ENABLED != "yes" ]]; then
|
10530
|
|
- ${PROJECT_NAME}-addcert -h $DEFAULT_DOMAIN_NAME --dhkey $DH_KEYLENGTH
|
10531
|
|
- else
|
10532
|
|
- ${PROJECT_NAME}-addcert -e $DEFAULT_DOMAIN_NAME -s $LETSENCRYPT_SERVER --dhkey $DH_KEYLENGTH --email $MY_EMAIL_ADDRESS
|
10533
|
|
- fi
|
10534
|
|
- check_certificates $DEFAULT_DOMAIN_NAME
|
10535
|
|
- fi
|
10536
|
|
- fi
|
10537
|
|
- fi
|
|
10505
|
+ create_site_certificate $DEFAULT_DOMAIN_NAME
|
10538
|
10506
|
|
10539
|
10507
|
echo '##' > /etc/turnserver/turnserver.conf
|
10540
|
10508
|
echo '# TurnServer configuration file.' >> /etc/turnserver/turnserver.conf
|