|
@@ -88,114 +88,114 @@ function etherpad_create_database {
|
88
|
88
|
}
|
89
|
89
|
|
90
|
90
|
function create_etherpad_settings {
|
91
|
|
- echo '{' > /var/www/$ETHERPAD_DOMAIN_NAME/htdocs/settings.json
|
92
|
|
- echo " \"title\": \"${ETHERPAD_TITLE}\"," >> /var/www/$ETHERPAD_DOMAIN_NAME/htdocs/settings.json
|
93
|
|
- echo ' "favicon": "favicon.ico",' >> /var/www/$ETHERPAD_DOMAIN_NAME/htdocs/settings.json
|
|
91
|
+ settings_file=/var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
|
|
92
|
+ echo '{' > $settings_file
|
|
93
|
+ echo " \"title\": \"${ETHERPAD_TITLE}\"," >> $settings_file
|
|
94
|
+ echo ' "favicon": "favicon.ico",' >> $settings_file
|
94
|
95
|
|
95
|
|
- echo ' "ip": "0.0.0.0",' >> /var/www/$ETHERPAD_DOMAIN_NAME/htdocs/settings.json
|
96
|
|
- echo " \"port\" : ${ETHERPAD_PORT}," >> /var/www/$ETHERPAD_DOMAIN_NAME/htdocs/settings.json
|
|
96
|
+ echo ' "ip": "0.0.0.0",' >> $settings_file
|
|
97
|
+ echo " \"port\" : ${ETHERPAD_PORT}," >> $settings_file
|
97
|
98
|
|
98
|
|
- echo ' "showSettingsInAdminPage" : true,' >> /var/www/$ETHERPAD_DOMAIN_NAME/htdocs/settings.json
|
|
99
|
+ echo ' "showSettingsInAdminPage" : true,' >> $settings_file
|
99
|
100
|
|
100
|
101
|
if [[ $ONION_ONLY == 'no' ]]; then
|
101
|
|
- echo ' "ssl" : {' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
|
102
|
|
- echo " \"key\" : \"/etc/ssl/private/${ETHERPAD_DOMAIN_NAME}.key\"," >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
|
103
|
|
- echo " \"cert\" : \"/etc/ssl/certs/${ETHERPAD_DOMAIN_NAME}.pem\"," >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
|
104
|
|
- echo ' },' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
|
|
102
|
+ echo ' "ssl" : {' >> $settings_file
|
|
103
|
+ echo " \"key\" : \"/etc/ssl/private/${ETHERPAD_DOMAIN_NAME}.key\"," >> $settings_file
|
|
104
|
+ echo " \"cert\" : \"/etc/ssl/certs/${ETHERPAD_DOMAIN_NAME}.pem\"," >> $settings_file
|
|
105
|
+ echo ' },' >> $settings_file
|
105
|
106
|
fi
|
106
|
107
|
|
107
|
|
- echo ' "dbType" : "mysql",' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
|
108
|
|
- echo ' "dbSettings" : {' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
|
109
|
|
- echo ' "user" : "root",' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
|
110
|
|
- echo ' "host" : "localhost",' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
|
111
|
|
- echo " \"password\": \"${MARIADB_PASSWORD}\"," >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
|
112
|
|
- echo ' "database": "etherpad",' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
|
113
|
|
- echo ' "charset" : "utf8mb4"' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
|
114
|
|
- echo ' },' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
|
|
108
|
+ echo ' "dbType" : "mysql",' >> $settings_file
|
|
109
|
+ echo ' "dbSettings" : {' >> $settings_file
|
|
110
|
+ echo ' "user" : "root",' >> $settings_file
|
|
111
|
+ echo ' "host" : "localhost",' >> $settings_file
|
|
112
|
+ echo " \"password\": \"${MARIADB_PASSWORD}\"," >> $settings_file
|
|
113
|
+ echo ' "database": "etherpad",' >> $settings_file
|
|
114
|
+ echo ' "charset" : "utf8mb4"' >> $settings_file
|
|
115
|
+ echo ' },' >> $settings_file
|
115
|
116
|
|
116
|
|
- echo " \"defaultPadText\" : \"${ETHERPAD_WELCOME_MESSAGE}\"," >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
|
|
117
|
+ echo " \"defaultPadText\" : \"${ETHERPAD_WELCOME_MESSAGE}\"," >> $settings_file
|
117
|
118
|
|
118
|
|
- echo ' "padOptions": {' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
|
119
|
|
- echo ' "noColors": false,' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
|
120
|
|
- echo ' "showControls": true,' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
|
121
|
|
- echo ' "showChat": true,' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
|
122
|
|
- echo ' "showLineNumbers": false,' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
|
123
|
|
- echo ' "useMonospaceFont": false,' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
|
124
|
|
- echo ' "userName": false,' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
|
125
|
|
- echo ' "userColor": true,' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
|
126
|
|
- echo ' "rtl": false,' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
|
127
|
|
- echo ' "alwaysShowChat": true,' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
|
128
|
|
- echo ' "chatAndUsers": true,' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
|
129
|
|
- echo ' "lang": "en-gb"' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
|
130
|
|
- echo ' },' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
|
|
119
|
+ echo ' "padOptions": {' >> $settings_file
|
|
120
|
+ echo ' "noColors": false,' >> $settings_file
|
|
121
|
+ echo ' "showControls": true,' >> $settings_file
|
|
122
|
+ echo ' "showChat": true,' >> $settings_file
|
|
123
|
+ echo ' "showLineNumbers": false,' >> $settings_file
|
|
124
|
+ echo ' "useMonospaceFont": false,' >> $settings_file
|
|
125
|
+ echo ' "userName": false,' >> $settings_file
|
|
126
|
+ echo ' "userColor": true,' >> $settings_file
|
|
127
|
+ echo ' "rtl": false,' >> $settings_file
|
|
128
|
+ echo ' "alwaysShowChat": true,' >> $settings_file
|
|
129
|
+ echo ' "chatAndUsers": true,' >> $settings_file
|
|
130
|
+ echo ' "lang": "en-gb"' >> $settings_file
|
|
131
|
+ echo ' },' >> $settings_file
|
131
|
132
|
|
132
|
|
- echo ' "suppressErrorsInPadText" : true,' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
|
|
133
|
+ echo ' "suppressErrorsInPadText" : true,' >> $settings_file
|
133
|
134
|
|
134
|
|
- echo ' "requireSession" : false,' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
|
|
135
|
+ echo ' "requireSession" : false,' >> $settings_file
|
135
|
136
|
|
136
|
|
- echo ' "editOnly" : false,' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
|
|
137
|
+ echo ' "editOnly" : false,' >> $settings_file
|
137
|
138
|
|
138
|
|
- echo ' "sessionNoPassword" : false,' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
|
|
139
|
+ echo ' "sessionNoPassword" : false,' >> $settings_file
|
139
|
140
|
|
140
|
|
- echo ' "minify" : true,' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
|
|
141
|
+ echo ' "minify" : true,' >> $settings_file
|
141
|
142
|
|
142
|
|
- echo ' "maxAge" : 21600, // 60 * 60 * 6 = 6 hours' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
|
|
143
|
+ echo ' "maxAge" : 21600, // 60 * 60 * 6 = 6 hours' >> $settings_file
|
143
|
144
|
|
144
|
|
- echo ' "abiword" : null,' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
|
|
145
|
+ echo ' "abiword" : null,' >> $settings_file
|
145
|
146
|
|
146
|
|
- echo ' "soffice" : null,' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
|
|
147
|
+ echo ' "soffice" : null,' >> $settings_file
|
147
|
148
|
|
148
|
|
- echo ' "tidyHtml" : null,' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
|
|
149
|
+ echo ' "tidyHtml" : null,' >> $settings_file
|
149
|
150
|
|
150
|
|
- echo ' "allowUnknownFileEnds" : false,' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
|
|
151
|
+ echo ' "allowUnknownFileEnds" : false,' >> $settings_file
|
151
|
152
|
|
152
|
|
- echo ' "requireAuthentication" : true,' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
|
|
153
|
+ echo ' "requireAuthentication" : true,' >> $settings_file
|
153
|
154
|
|
154
|
|
- echo ' "requireAuthorization" : true,' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
|
|
155
|
+ echo ' "requireAuthorization" : true,' >> $settings_file
|
155
|
156
|
|
156
|
|
- echo ' "trustProxy" : false,' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
|
|
157
|
+ echo ' "trustProxy" : false,' >> $settings_file
|
157
|
158
|
|
158
|
|
- echo ' "disableIPlogging" : true,' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
|
|
159
|
+ echo ' "disableIPlogging" : true,' >> $settings_file
|
159
|
160
|
|
160
|
|
- echo ' "users": {' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
|
161
|
|
- echo " \"${MY_USERNAME}\": { \"password\": \"${ETHERPAD_ADMIN_PASSWORD}\", \"is_admin\": true }" >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
|
162
|
|
- echo ' },' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
|
|
161
|
+ echo ' "users": {' >> $settings_file
|
|
162
|
+ echo " \"${MY_USERNAME}\": { \"password\": \"${ETHERPAD_ADMIN_PASSWORD}\", \"is_admin\": true }" >> $settings_file
|
|
163
|
+ echo ' },' >> $settings_file
|
163
|
164
|
|
164
|
|
- echo ' "socketTransportProtocols" : ["xhr-polling", "jsonp-polling", "htmlfile"],' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
|
|
165
|
+ echo ' "socketTransportProtocols" : ["xhr-polling", "jsonp-polling", "htmlfile"],' >> $settings_file
|
165
|
166
|
|
166
|
|
- echo ' "loadTest": false,' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
|
|
167
|
+ echo ' "loadTest": false,' >> $settings_file
|
167
|
168
|
|
168
|
|
- echo ' "indentationOnNewLine": false,' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
|
|
169
|
+ echo ' "indentationOnNewLine": false,' >> $settings_file
|
169
|
170
|
|
170
|
|
- echo ' "toolbar": {' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
|
171
|
|
- echo ' "left": [' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
|
172
|
|
- echo ' ["bold", "italic", "underline", "strikethrough"],' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
|
173
|
|
- echo ' ["orderedlist", "unorderedlist", "indent", "outdent"],' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
|
174
|
|
- echo ' ["undo", "redo"],' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
|
175
|
|
- echo ' ["clearauthorship"]' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
|
176
|
|
- echo ' ],' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
|
177
|
|
- echo ' "right": [' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
|
178
|
|
- echo ' ["importexport", "timeslider", "savedrevision"],' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
|
179
|
|
- echo ' ["settings", "embed"],' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
|
180
|
|
- echo ' ["showusers"]' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
|
181
|
|
- echo ' ],' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
|
182
|
|
- echo ' "timeslider": [' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
|
183
|
|
- echo ' ["timeslider_export", "timeslider_returnToPad"]' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
|
184
|
|
- echo ' ]' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
|
185
|
|
- echo ' },' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
|
186
|
|
- echo ' "loglevel": "INFO"' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
|
187
|
|
- echo '}' >> /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
|
|
171
|
+ echo ' "toolbar": {' >> $settings_file
|
|
172
|
+ echo ' "left": [' >> $settings_file
|
|
173
|
+ echo ' ["bold", "italic", "underline", "strikethrough"],' >> $settings_file
|
|
174
|
+ echo ' ["orderedlist", "unorderedlist", "indent", "outdent"],' >> $settings_file
|
|
175
|
+ echo ' ["undo", "redo"],' >> $settings_file
|
|
176
|
+ echo ' ["clearauthorship"]' >> $settings_file
|
|
177
|
+ echo ' ],' >> $settings_file
|
|
178
|
+ echo ' "right": [' >> $settings_file
|
|
179
|
+ echo ' ["importexport", "timeslider", "savedrevision"],' >> $settings_file
|
|
180
|
+ echo ' ["settings", "embed"],' >> $settings_file
|
|
181
|
+ echo ' ["showusers"]' >> $settings_file
|
|
182
|
+ echo ' ],' >> $settings_file
|
|
183
|
+ echo ' "timeslider": [' >> $settings_file
|
|
184
|
+ echo ' ["timeslider_export", "timeslider_returnToPad"]' >> $settings_file
|
|
185
|
+ echo ' ]' >> $settings_file
|
|
186
|
+ echo ' },' >> $settings_file
|
|
187
|
+ echo ' "loglevel": "INFO"' >> $settings_file
|
|
188
|
+ echo '}' >> $settings_file
|
188
|
189
|
}
|
189
|
190
|
|
190
|
191
|
function remove_user_etherpad {
|
191
|
192
|
remove_username="$1"
|
192
|
|
-
|
193
|
|
- read_config_param ETHERPAD_DOMAIN_NAME
|
|
193
|
+ settings_file=/var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
|
194
|
194
|
|
195
|
195
|
${PROJECT_NAME}-pass -u $remove_username --rmapp etherpad
|
196
|
196
|
|
197
|
|
- if grep -q "\"$remove_username\": {" /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json; then
|
198
|
|
- sed -i "/\"$remove_username\": {/d" /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
|
|
197
|
+ if grep -q "\"$remove_username\": {" $settings_file; then
|
|
198
|
+ sed -i "/\"$remove_username\": {/d" $settings_file
|
199
|
199
|
systemctl restart etherpad
|
200
|
200
|
fi
|
201
|
201
|
}
|
|
@@ -203,11 +203,12 @@ function remove_user_etherpad {
|
203
|
203
|
function add_user_etherpad {
|
204
|
204
|
new_username="$1"
|
205
|
205
|
new_user_password="$2"
|
206
|
|
- read_config_param ETHERPAD_DOMAIN_NAME
|
207
|
|
- if ! grep -q "\"$new_username\": {" /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json; then
|
|
206
|
+ settings_file=/var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
|
|
207
|
+
|
|
208
|
+ if ! grep -q "\"$new_username\": {" $settings_file; then
|
208
|
209
|
${PROJECT_NAME}-pass -u $new_username -a etherpad -p "$new_user_password"
|
209
|
|
- sed -i "/\"users\": {/a \"$new_username\": { \"password\": \"$new_user_password\", \"is_admin\": false }," /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json
|
210
|
|
- if grep -q "\"$new_username\": {" /var/www/${ETHERPAD_DOMAIN_NAME}/htdocs/settings.json; then
|
|
210
|
+ sed -i "/\"users\": {/a \"$new_username\": { \"password\": \"$new_user_password\", \"is_admin\": false }," $settings_file
|
|
211
|
+ if grep -q "\"$new_username\": {" $settings_file; then
|
211
|
212
|
systemctl restart etherpad
|
212
|
213
|
else
|
213
|
214
|
echo '1'
|