Bläddra i källkod

Fixing matrix install

Bob Mottram 8 år sedan
förälder
incheckning
d4083fa2db
1 ändrade filer med 55 tillägg och 14 borttagningar
  1. 55
    14
      src/freedombone-app-matrix

+ 55
- 14
src/freedombone-app-matrix Visa fil

48
 MATRIX_DATA_DIR='/var/lib/matrix'
48
 MATRIX_DATA_DIR='/var/lib/matrix'
49
 MATRIX_HTTP_PORT=8448
49
 MATRIX_HTTP_PORT=8448
50
 MATRIX_PORT=8008
50
 MATRIX_PORT=8008
51
-MATRIX_ID_PORT=8081
51
+MATRIX_FEDERATION_ONION_PORT=8111
52
 MATRIX_ONION_PORT=8109
52
 MATRIX_ONION_PORT=8109
53
-MATRIX_ID_ONION_PORT=8111
54
 MATRIX_REPO="https://github.com/matrix-org/synapse"
53
 MATRIX_REPO="https://github.com/matrix-org/synapse"
55
 MATRIX_COMMIT='c45dc6c62aa2a2e83a10d8116a709dfd8c144e3c'
54
 MATRIX_COMMIT='c45dc6c62aa2a2e83a10d8116a709dfd8c144e3c'
56
 REPORT_STATS="no"
55
 REPORT_STATS="no"
66
 function matrix_nginx {
65
 function matrix_nginx {
67
     matrix_nginx_site=/etc/nginx/sites-available/$MATRIX_DOMAIN_NAME
66
     matrix_nginx_site=/etc/nginx/sites-available/$MATRIX_DOMAIN_NAME
68
     if [[ $ONION_ONLY == "no" ]]; then
67
     if [[ $ONION_ONLY == "no" ]]; then
69
-        echo 'server {' >> $matrix_nginx_site
68
+        echo 'server {' > $matrix_nginx_site
70
         echo "  listen 0.0.0.0:443;" >> $matrix_nginx_site
69
         echo "  listen 0.0.0.0:443;" >> $matrix_nginx_site
71
         echo "  server_name ${MATRIX_DOMAIN_NAME};" >> $matrix_nginx_site
70
         echo "  server_name ${MATRIX_DOMAIN_NAME};" >> $matrix_nginx_site
72
         echo '' >> $matrix_nginx_site
71
         echo '' >> $matrix_nginx_site
83
         echo '  access_log /dev/null;' >> $matrix_nginx_site
82
         echo '  access_log /dev/null;' >> $matrix_nginx_site
84
         echo '  error_log /dev/null;' >> $matrix_nginx_site
83
         echo '  error_log /dev/null;' >> $matrix_nginx_site
85
         echo '' >> $matrix_nginx_site
84
         echo '' >> $matrix_nginx_site
85
+        echo '  root /var/lib/matrix/media_store;' >> $matrix_nginx_site
86
+        echo '' >> $matrix_nginx_site
86
         echo '  # Index' >> $matrix_nginx_site
87
         echo '  # Index' >> $matrix_nginx_site
87
         echo '  index index.html;' >> $matrix_nginx_site
88
         echo '  index index.html;' >> $matrix_nginx_site
88
         echo '' >> $matrix_nginx_site
89
         echo '' >> $matrix_nginx_site
89
-        echo '  # Location' >> $matrix_nginx_site
90
         echo '  location /_matrix {' >> $matrix_nginx_site
90
         echo '  location /_matrix {' >> $matrix_nginx_site
91
         function_check nginx_limits
91
         function_check nginx_limits
92
         nginx_limits ${MATRIX_DOMAIN_NAME} '15m'
92
         nginx_limits ${MATRIX_DOMAIN_NAME} '15m'
93
         echo '    proxy_pass http://localhost:8008;' >> $matrix_nginx_site
93
         echo '    proxy_pass http://localhost:8008;' >> $matrix_nginx_site
94
-        echo '    proxy_set_header X-Forwarded-For $remote_addr;' >> $matrix_nginx_site
95
         echo '  }' >> $matrix_nginx_site
94
         echo '  }' >> $matrix_nginx_site
96
         echo '}' >> $matrix_nginx_site
95
         echo '}' >> $matrix_nginx_site
97
         echo '' >> $matrix_nginx_site
96
         echo '' >> $matrix_nginx_site
112
         echo '  access_log /dev/null;' >> $matrix_nginx_site
111
         echo '  access_log /dev/null;' >> $matrix_nginx_site
113
         echo '  error_log /dev/null;' >> $matrix_nginx_site
112
         echo '  error_log /dev/null;' >> $matrix_nginx_site
114
         echo '' >> $matrix_nginx_site
113
         echo '' >> $matrix_nginx_site
114
+        echo '  root /var/lib/matrix/media_store;' >> $matrix_nginx_site
115
+        echo '' >> $matrix_nginx_site
115
         echo '  # Index' >> $matrix_nginx_site
116
         echo '  # Index' >> $matrix_nginx_site
116
         echo '  index index.html;' >> $matrix_nginx_site
117
         echo '  index index.html;' >> $matrix_nginx_site
117
         echo '' >> $matrix_nginx_site
118
         echo '' >> $matrix_nginx_site
120
         function_check nginx_limits
121
         function_check nginx_limits
121
         nginx_limits ${MATRIX_DOMAIN_NAME} '15m'
122
         nginx_limits ${MATRIX_DOMAIN_NAME} '15m'
122
         echo '    proxy_pass http://localhost:8008;' >> $matrix_nginx_site
123
         echo '    proxy_pass http://localhost:8008;' >> $matrix_nginx_site
123
-        echo '    proxy_set_header X-Forwarded-For $remote_addr;' >> $matrix_nginx_site
124
         echo '  }' >> $matrix_nginx_site
124
         echo '  }' >> $matrix_nginx_site
125
         echo '}' >> $matrix_nginx_site
125
         echo '}' >> $matrix_nginx_site
126
         echo '' >> $matrix_nginx_site
126
         echo '' >> $matrix_nginx_site
128
         echo -n '' > $matrix_nginx_site
128
         echo -n '' > $matrix_nginx_site
129
     fi
129
     fi
130
     echo 'server {' >> $matrix_nginx_site
130
     echo 'server {' >> $matrix_nginx_site
131
+    echo "    listen 127.0.0.1:$MATRIX_FEDERATION_ONION_PORT default_server;" >> $matrix_nginx_site
132
+    echo "    server_name $MATRIX_DOMAIN_NAME;" >> $matrix_nginx_site
133
+    echo '' >> $matrix_nginx_site
134
+    function_check nginx_disable_sniffing
135
+    nginx_disable_sniffing $MATRIX_DOMAIN_NAME
136
+    echo '' >> $matrix_nginx_site
137
+    echo '  # Logs' >> $matrix_nginx_site
138
+    echo '  access_log /dev/null;' >> $matrix_nginx_site
139
+    echo '  error_log /dev/null;' >> $matrix_nginx_site
140
+    echo '' >> $matrix_nginx_site
141
+    echo '  root /var/lib/matrix/media_store;' >> $matrix_nginx_site
142
+    echo '' >> $matrix_nginx_site
143
+    echo '  # Location' >> $matrix_nginx_site
144
+    echo '  location /_matrix {' >> $matrix_nginx_site
145
+    function_check nginx_limits
146
+    nginx_limits ${MATRIX_DOMAIN_NAME} '15m'
147
+    echo '    proxy_pass http://localhost:8008;' >> $matrix_nginx_site
148
+    echo '  }' >> $matrix_nginx_site
149
+    echo '}' >> $matrix_nginx_site
150
+    echo '' >> $matrix_nginx_site
151
+    echo 'server {' >> $matrix_nginx_site
131
     echo "    listen 127.0.0.1:$MATRIX_ONION_PORT default_server;" >> $matrix_nginx_site
152
     echo "    listen 127.0.0.1:$MATRIX_ONION_PORT default_server;" >> $matrix_nginx_site
132
     echo "    server_name $MATRIX_DOMAIN_NAME;" >> $matrix_nginx_site
153
     echo "    server_name $MATRIX_DOMAIN_NAME;" >> $matrix_nginx_site
133
     echo '' >> $matrix_nginx_site
154
     echo '' >> $matrix_nginx_site
138
     echo '  access_log /dev/null;' >> $matrix_nginx_site
159
     echo '  access_log /dev/null;' >> $matrix_nginx_site
139
     echo '  error_log /dev/null;' >> $matrix_nginx_site
160
     echo '  error_log /dev/null;' >> $matrix_nginx_site
140
     echo '' >> $matrix_nginx_site
161
     echo '' >> $matrix_nginx_site
162
+    echo '  root /var/lib/matrix/media_store;' >> $matrix_nginx_site
163
+    echo '' >> $matrix_nginx_site
141
     echo '  # Location' >> $matrix_nginx_site
164
     echo '  # Location' >> $matrix_nginx_site
142
-    echo '  location / {' >> $matrix_nginx_site
165
+    echo '  location /_matrix {' >> $matrix_nginx_site
143
     function_check nginx_limits
166
     function_check nginx_limits
144
-    nginx_limits $MATRIX_DOMAIN_NAME '15m'
145
-    echo "      proxy_pass http://localhost:${MATRIX_PORT}/_matrix;" >> $matrix_nginx_site
146
-    echo '      proxy_set_header X-Forwarded-For $remote_addr;' >> $matrix_nginx_site
167
+    nginx_limits ${MATRIX_DOMAIN_NAME} '15m'
168
+    echo '    proxy_pass http://localhost:8008;' >> $matrix_nginx_site
147
     echo '  }' >> $matrix_nginx_site
169
     echo '  }' >> $matrix_nginx_site
148
     echo '}' >> $matrix_nginx_site
170
     echo '}' >> $matrix_nginx_site
149
 
171
 
154
     function_check add_ddns_domain
176
     function_check add_ddns_domain
155
     add_ddns_domain $MATRIX_DOMAIN_NAME
177
     add_ddns_domain $MATRIX_DOMAIN_NAME
156
 
178
 
157
-    function_check create_site_certificate
158
-    create_site_certificate $MATRIX_DOMAIN_NAME
179
+    if [[ $ONION_ONLY == "no" ]]; then
180
+        function_check create_site_certificate
181
+        create_site_certificate $MATRIX_DOMAIN_NAME
182
+        chmod 755 /etc/ssl/certs/${MATRIX_DOMAIN_NAME}.dhparam
183
+    fi
159
 
184
 
160
     systemctl restart nginx
185
     systemctl restart nginx
161
     systemctl restart turn
186
     systemctl restart turn
200
 
225
 
201
     mv ${ymltemp} "${filepath}"
226
     mv ${ymltemp} "${filepath}"
202
 
227
 
228
+    if [[ $ONION_ONLY == "no" ]]; then
229
+        sed -i "s|tls_certificate_path:.*|tls_certificate_path: \"/etc/ssl/certs/${MATRIX_DOMAIN_NAME}.pem\"|g" "${filepath}"
230
+        sed -i "s|tls_private_key_path:.*|tls_private_key_path: \"/etc/ssl/private/${MATRIX_DOMAIN_NAME}.key\"|g" "${filepath}"
231
+        sed -i "s|tls_dh_params_path:.*|tls_dh_params_path: \"/etc/ssl/certs/${MATRIX_DOMAIN_NAME}.dhparam\"|g" "${filepath}"
232
+    fi
203
     sed -i 's|8448|8449|g' "${filepath}"
233
     sed -i 's|8448|8449|g' "${filepath}"
204
     sed -i 's|tls:.*|tls: False|g' "${filepath}"
234
     sed -i 's|tls:.*|tls: False|g' "${filepath}"
205
     sed -i 's|no_tls: .*|no_tls: True|g' "${filepath}"
235
     sed -i 's|no_tls: .*|no_tls: True|g' "${filepath}"
323
 
353
 
324
     pip install --upgrade --force "pynacl==0.3.0"
354
     pip install --upgrade --force "pynacl==0.3.0"
325
 
355
 
356
+    if [ -f /etc/ssl/certs/${MATRIX_DOMAIN_NAME}.dhparam ]; then
357
+        chmod 755 /etc/ssl/certs/${MATRIX_DOMAIN_NAME}.dhparam
358
+    fi
326
     systemctl start turn
359
     systemctl start turn
327
     systemctl start matrix
360
     systemctl start matrix
328
 }
361
 }
373
         rm -rf $temp_restore_dir
406
         rm -rf $temp_restore_dir
374
         chown -R matrix:matrix $MATRIX_DATA_DIR
407
         chown -R matrix:matrix $MATRIX_DATA_DIR
375
 
408
 
409
+        if [[ $ONION_ONLY == "no" ]]; then
410
+            if [ -f /etc/ssl/certs/${MATRIX_DOMAIN_NAME}.dhparam ]; then
411
+                chmod 755 /etc/ssl/certs/${MATRIX_DOMAIN_NAME}.dhparam
412
+            fi
413
+        fi
414
+
376
         systemctl start turn
415
         systemctl start turn
377
         systemctl start matrix
416
         systemctl start matrix
378
     fi
417
     fi
456
     deluser matrix
495
     deluser matrix
457
     delgroup matrix
496
     delgroup matrix
458
     remove_onion_service matrix ${MATRIX_ONION_PORT}
497
     remove_onion_service matrix ${MATRIX_ONION_PORT}
459
-    remove_onion_service matrix ${MATRIX_ID_ONION_PORT}
498
+    remove_onion_service matrix ${MATRIX_FEDERATION_ONION_PORT}
460
 
499
 
461
     #sed -i "/# Matrix Server/,/# End of Matrix Server/d" /etc/nginx/sites-available/${MATRIX_DOMAIN_NAME}
500
     #sed -i "/# Matrix Server/,/# End of Matrix Server/d" /etc/nginx/sites-available/${MATRIX_DOMAIN_NAME}
462
     systemctl restart nginx
501
     systemctl restart nginx
551
     chmod -R 700 $MATRIX_DATA_DIR/homeserver.db
590
     chmod -R 700 $MATRIX_DATA_DIR/homeserver.db
552
 
591
 
553
     MATRIX_ONION_HOSTNAME=$(add_onion_service matrix ${MATRIX_PORT} ${MATRIX_ONION_PORT})
592
     MATRIX_ONION_HOSTNAME=$(add_onion_service matrix ${MATRIX_PORT} ${MATRIX_ONION_PORT})
554
-    MATRIX_ID_ONION_HOSTNAME=$(add_onion_service matrixid ${MATRIX_ID_PORT} ${MATRIX_ID_ONION_PORT})
593
+    echo "HiddenServicePort ${MATRIX_HTTP_PORT} 127.0.0.1:${MATRIX_FEDERATION_ONION_PORT}" >> /etc/tor/torrc
594
+    systemctl reload tor
595
+
555
     if [ ! ${MATRIX_PASSWORD} ]; then
596
     if [ ! ${MATRIX_PASSWORD} ]; then
556
         if [ -f ${IMAGE_PASSWORD_FILE} ]; then
597
         if [ -f ${IMAGE_PASSWORD_FILE} ]; then
557
             MATRIX_PASSWORD="$(printf `cat $IMAGE_PASSWORD_FILE`)"
598
             MATRIX_PASSWORD="$(printf `cat $IMAGE_PASSWORD_FILE`)"