|
@@ -257,122 +257,101 @@ function install_blog_user {
|
257
|
257
|
echo 'role = admin' >> /var/www/$FULLBLOG_DOMAIN_NAME/htdocs/config/users/$MY_USERNAME.ini
|
258
|
258
|
}
|
259
|
259
|
|
260
|
|
-function install_blog {
|
261
|
|
- if [ ! $FULLBLOG_DOMAIN_NAME ]; then
|
262
|
|
- echo $'The blog domain name was not specified'
|
263
|
|
- exit 5062
|
264
|
|
- fi
|
265
|
|
-
|
266
|
|
- if grep -Fxq "install_blog" $COMPLETION_FILE; then
|
267
|
|
- return
|
268
|
|
- fi
|
269
|
|
-
|
270
|
|
- # for the avatar changing command
|
271
|
|
- apt-get -y install imagemagick
|
272
|
|
-
|
273
|
|
- if [ ! -d /var/www/$FULLBLOG_DOMAIN_NAME ]; then
|
274
|
|
- mkdir /var/www/$FULLBLOG_DOMAIN_NAME
|
275
|
|
- fi
|
276
|
|
-
|
277
|
|
- cd /var/www/$FULLBLOG_DOMAIN_NAME
|
278
|
|
- git_clone $FULLBLOG_REPO htdocs
|
279
|
|
- cd htdocs
|
280
|
|
- git checkout $FULLBLOG_COMMIT -b $FULLBLOG_COMMIT
|
281
|
|
- if ! grep -q "Blog commit" $COMPLETION_FILE; then
|
282
|
|
- echo "Blog commit:$FULLBLOG_COMMIT" >> $COMPLETION_FILE
|
283
|
|
- else
|
284
|
|
- sed -i "s/Blog commit.*/Blog commit:$FULLBLOG_COMMIT/g" $COMPLETION_FILE
|
285
|
|
- fi
|
286
|
|
- cd /var/www/$FULLBLOG_DOMAIN_NAME
|
|
260
|
+function install_blog_settings {
|
|
261
|
+ cp /var/www/$FULLBLOG_DOMAIN_NAME/htdocs/config/config.ini.example /var/www/$FULLBLOG_DOMAIN_NAME/htdocs/config/config.ini
|
|
262
|
+ sed -i "s|site.url.*|site.url = '/'|g" /var/www/$FULLBLOG_DOMAIN_NAME/htdocs/config/config.ini
|
|
263
|
+ sed -i "s|blog.title.*|blog.title = '$MY_BLOG_TITLE'|g" /var/www/$FULLBLOG_DOMAIN_NAME/htdocs/config/config.ini
|
|
264
|
+ sed -i "s|blog.tagline.*|blog.tagline = '$MY_BLOG_SUBTITLE'|g" /var/www/$FULLBLOG_DOMAIN_NAME/htdocs/config/config.ini
|
|
265
|
+ sed -i 's|timezone.*|timezone = "Europe/London"|g' /var/www/$FULLBLOG_DOMAIN_NAME/htdocs/config/config.ini
|
|
266
|
+ sed -i "s|Your name|$MY_NAME|g" /var/www/$FULLBLOG_DOMAIN_NAME/htdocs/config/config.ini
|
|
267
|
+}
|
287
|
268
|
|
288
|
|
- chown -R www-data:www-data /var/www/$FULLBLOG_DOMAIN_NAME/htdocs
|
|
269
|
+function install_blog_website {
|
|
270
|
+ function_check nginx_http_redirect
|
|
271
|
+ nginx_http_redirect $FULLBLOG_DOMAIN_NAME
|
|
272
|
+ echo 'server {' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
|
273
|
+ echo ' listen 443 ssl;' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
|
274
|
+ echo " root /var/www/$FULLBLOG_DOMAIN_NAME/htdocs;" >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
|
275
|
+ echo " server_name $FULLBLOG_DOMAIN_NAME;" >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
|
276
|
+ echo ' access_log off;' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
|
277
|
+ echo " error_log /var/log/nginx/${FULLBLOG_DOMAIN_NAME}_error_ssl.log $WEBSERVER_LOG_LEVEL;" >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
|
278
|
+ echo ' index index.php;' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
|
279
|
+ echo ' charset utf-8;' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
|
280
|
+ echo ' proxy_read_timeout 86400s;' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
|
281
|
+ function_check nginx_limits
|
|
282
|
+ nginx_limits $FULLBLOG_DOMAIN_NAME
|
|
283
|
+ function_check nginx_ssl
|
|
284
|
+ nginx_ssl $FULLBLOG_DOMAIN_NAME
|
|
285
|
+ function_check nginx_disable_sniffing
|
|
286
|
+ nginx_disable_sniffing $FULLBLOG_DOMAIN_NAME
|
|
287
|
+ echo ' add_header Strict-Transport-Security "max-age=0;";' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
|
288
|
+ echo '' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
|
289
|
+ echo ' # rewrite to front controller as default rule' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
|
290
|
+ echo ' location / {' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
|
291
|
+ echo ' rewrite ^/(.*) /index.php?q=$uri&$args last;' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
|
292
|
+ echo ' }' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
|
293
|
+ echo '' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
|
294
|
+ echo " # make sure webfinger and other well known services aren't blocked" >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
|
295
|
+ echo ' # by denying dot files and rewrite request to the front controller' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
|
296
|
+ echo ' location ^~ /.well-known/ {' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
|
297
|
+ echo ' allow all;' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
|
298
|
+ echo ' }' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
|
299
|
+ echo '' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
|
300
|
+ echo ' # statically serve these file types when possible' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
|
301
|
+ echo ' # otherwise fall back to front controller' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
|
302
|
+ echo ' # allow browser to cache them' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
|
303
|
+ echo ' # added .htm for advanced source code editor library' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
|
304
|
+ echo ' location ~* \.(jpg|jpeg|gif|png|ico|css|js|htm|html|ttf|woff|svg)$ {' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
|
305
|
+ echo ' expires 30d;' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
|
306
|
+ echo ' try_files $uri /index.php?q=$uri&$args;' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
|
307
|
+ echo ' }' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
|
308
|
+ echo '' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
|
309
|
+ echo ' # block these file types' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
|
310
|
+ echo ' location ~* \.(tpl|md|tgz|log|out)$ {' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
|
311
|
+ echo ' deny all;' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
|
312
|
+ echo ' }' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
|
313
|
+ echo '' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
|
314
|
+ echo ' # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
|
315
|
+ echo ' # or a unix socket' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
|
316
|
+ echo ' location ~* \.php$ {' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
|
317
|
+ echo ' # Zero-day exploit defense.' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
|
318
|
+ echo ' # http://forum.nginx.org/read.php?2,88845,page=3' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
|
319
|
+ echo " # Won't work properly (404 error) if the file is not stored on this" >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
|
320
|
+ echo " # server, which is entirely possible with php-fpm/php-fcgi." >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
|
321
|
+ echo " # Comment the 'try_files' line out if you set up php-fpm/php-fcgi on" >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
|
322
|
+ echo " # another machine. And then cross your fingers that you won't get hacked." >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
|
323
|
+ echo ' try_files $uri $uri/ /index.php;' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
|
324
|
+ echo ' # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
|
325
|
+ echo ' fastcgi_split_path_info ^(.+\.php)(/.+)$;' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
|
326
|
+ echo ' # With php5-cgi alone:' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
|
327
|
+ echo ' # fastcgi_pass 127.0.0.1:9000;' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
|
328
|
+ echo ' # With php5-fpm:' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
|
329
|
+ echo ' fastcgi_pass unix:/var/run/php5-fpm.sock;' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
|
330
|
+ echo ' include fastcgi_params;' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
|
331
|
+ echo ' fastcgi_index index.php;' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
|
332
|
+ echo ' fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
|
333
|
+ echo ' }' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
|
334
|
+ echo '' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
|
335
|
+ echo ' # deny access to all dot files' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
|
336
|
+ echo ' location ~ /\. {' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
|
337
|
+ echo ' deny all;' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
|
338
|
+ echo ' }' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
|
339
|
+ echo '' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
|
340
|
+ echo ' #deny access to store' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
|
341
|
+ echo ' location ~ /store {' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
|
342
|
+ echo ' deny all;' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
|
343
|
+ echo ' }' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
|
344
|
+ echo ' location ~ /(data|conf|bin|inc)/ {' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
|
345
|
+ echo ' deny all;' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
|
346
|
+ echo ' }' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
|
347
|
+ echo ' location ~ /\.ht {' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
|
348
|
+ echo ' deny all;' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
|
349
|
+ echo ' }' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
|
350
|
+ echo '}' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
|
351
|
+ echo '' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
|
352
|
+}
|
289
|
353
|
|
290
|
|
- if [[ $ONION_ONLY == "no" ]]; then
|
291
|
|
- function_check nginx_http_redirect
|
292
|
|
- nginx_http_redirect $FULLBLOG_DOMAIN_NAME
|
293
|
|
- echo 'server {' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
294
|
|
- echo ' listen 443 ssl;' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
295
|
|
- echo " root /var/www/$FULLBLOG_DOMAIN_NAME/htdocs;" >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
296
|
|
- echo " server_name $FULLBLOG_DOMAIN_NAME;" >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
297
|
|
- echo ' access_log off;' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
298
|
|
- echo " error_log /var/log/nginx/${FULLBLOG_DOMAIN_NAME}_error_ssl.log $WEBSERVER_LOG_LEVEL;" >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
299
|
|
- echo ' index index.php;' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
300
|
|
- echo ' charset utf-8;' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
301
|
|
- echo ' proxy_read_timeout 86400s;' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
302
|
|
- function_check nginx_limits
|
303
|
|
- nginx_limits $FULLBLOG_DOMAIN_NAME
|
304
|
|
- function_check nginx_ssl
|
305
|
|
- nginx_ssl $FULLBLOG_DOMAIN_NAME
|
306
|
|
- function_check nginx_disable_sniffing
|
307
|
|
- nginx_disable_sniffing $FULLBLOG_DOMAIN_NAME
|
308
|
|
- echo ' add_header Strict-Transport-Security "max-age=0;";' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
309
|
|
- echo '' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
310
|
|
- echo ' # rewrite to front controller as default rule' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
311
|
|
- echo ' location / {' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
312
|
|
- echo ' rewrite ^/(.*) /index.php?q=$uri&$args last;' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
313
|
|
- echo ' }' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
314
|
|
- echo '' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
315
|
|
- echo " # make sure webfinger and other well known services aren't blocked" >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
316
|
|
- echo ' # by denying dot files and rewrite request to the front controller' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
317
|
|
- echo ' location ^~ /.well-known/ {' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
318
|
|
- echo ' allow all;' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
319
|
|
- echo ' }' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
320
|
|
- echo '' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
321
|
|
- echo ' # statically serve these file types when possible' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
322
|
|
- echo ' # otherwise fall back to front controller' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
323
|
|
- echo ' # allow browser to cache them' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
324
|
|
- echo ' # added .htm for advanced source code editor library' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
325
|
|
- echo ' location ~* \.(jpg|jpeg|gif|png|ico|css|js|htm|html|ttf|woff|svg)$ {' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
326
|
|
- echo ' expires 30d;' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
327
|
|
- echo ' try_files $uri /index.php?q=$uri&$args;' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
328
|
|
- echo ' }' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
329
|
|
- echo '' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
330
|
|
- echo ' # block these file types' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
331
|
|
- echo ' location ~* \.(tpl|md|tgz|log|out)$ {' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
332
|
|
- echo ' deny all;' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
333
|
|
- echo ' }' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
334
|
|
- echo '' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
335
|
|
- echo ' # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
336
|
|
- echo ' # or a unix socket' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
337
|
|
- echo ' location ~* \.php$ {' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
338
|
|
- echo ' # Zero-day exploit defense.' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
339
|
|
- echo ' # http://forum.nginx.org/read.php?2,88845,page=3' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
340
|
|
- echo " # Won't work properly (404 error) if the file is not stored on this" >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
341
|
|
- echo " # server, which is entirely possible with php-fpm/php-fcgi." >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
342
|
|
- echo " # Comment the 'try_files' line out if you set up php-fpm/php-fcgi on" >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
343
|
|
- echo " # another machine. And then cross your fingers that you won't get hacked." >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
344
|
|
- echo ' try_files $uri $uri/ /index.php;' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
345
|
|
- echo ' # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
346
|
|
- echo ' fastcgi_split_path_info ^(.+\.php)(/.+)$;' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
347
|
|
- echo ' # With php5-cgi alone:' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
348
|
|
- echo ' # fastcgi_pass 127.0.0.1:9000;' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
349
|
|
- echo ' # With php5-fpm:' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
350
|
|
- echo ' fastcgi_pass unix:/var/run/php5-fpm.sock;' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
351
|
|
- echo ' include fastcgi_params;' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
352
|
|
- echo ' fastcgi_index index.php;' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
353
|
|
- echo ' fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
354
|
|
- echo ' }' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
355
|
|
- echo '' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
356
|
|
- echo ' # deny access to all dot files' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
357
|
|
- echo ' location ~ /\. {' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
358
|
|
- echo ' deny all;' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
359
|
|
- echo ' }' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
360
|
|
- echo '' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
361
|
|
- echo ' #deny access to store' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
362
|
|
- echo ' location ~ /store {' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
363
|
|
- echo ' deny all;' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
364
|
|
- echo ' }' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
365
|
|
- echo ' location ~ /(data|conf|bin|inc)/ {' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
366
|
|
- echo ' deny all;' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
367
|
|
- echo ' }' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
368
|
|
- echo ' location ~ /\.ht {' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
369
|
|
- echo ' deny all;' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
370
|
|
- echo ' }' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
371
|
|
- echo '}' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
372
|
|
- echo '' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
373
|
|
- else
|
374
|
|
- echo -n '' > /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
375
|
|
- fi
|
|
354
|
+function install_blog_website_onion {
|
376
|
355
|
echo 'server {' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
377
|
356
|
echo " listen 127.0.0.1:${FULLBLOG_ONION_PORT} default_server;" >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
378
|
357
|
echo " root /var/www/$FULLBLOG_DOMAIN_NAME/htdocs;" >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
|
@@ -450,6 +429,48 @@ function install_blog {
|
450
|
429
|
echo ' deny all;' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
451
|
430
|
echo ' }' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
452
|
431
|
echo '}' >> /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
|
432
|
+}
|
|
433
|
+
|
|
434
|
+function install_blog_from_repo {
|
|
435
|
+ if [ ! -d /var/www/$FULLBLOG_DOMAIN_NAME ]; then
|
|
436
|
+ mkdir /var/www/$FULLBLOG_DOMAIN_NAME
|
|
437
|
+ fi
|
|
438
|
+
|
|
439
|
+ cd /var/www/$FULLBLOG_DOMAIN_NAME
|
|
440
|
+ git_clone $FULLBLOG_REPO htdocs
|
|
441
|
+ cd htdocs
|
|
442
|
+ git checkout $FULLBLOG_COMMIT -b $FULLBLOG_COMMIT
|
|
443
|
+ if ! grep -q "Blog commit" $COMPLETION_FILE; then
|
|
444
|
+ echo "Blog commit:$FULLBLOG_COMMIT" >> $COMPLETION_FILE
|
|
445
|
+ else
|
|
446
|
+ sed -i "s/Blog commit.*/Blog commit:$FULLBLOG_COMMIT/g" $COMPLETION_FILE
|
|
447
|
+ fi
|
|
448
|
+}
|
|
449
|
+
|
|
450
|
+function install_blog {
|
|
451
|
+ if [ ! $FULLBLOG_DOMAIN_NAME ]; then
|
|
452
|
+ echo $'The blog domain name was not specified'
|
|
453
|
+ exit 5062
|
|
454
|
+ fi
|
|
455
|
+
|
|
456
|
+ if grep -Fxq "install_blog" $COMPLETION_FILE; then
|
|
457
|
+ return
|
|
458
|
+ fi
|
|
459
|
+
|
|
460
|
+ # for the avatar changing command
|
|
461
|
+ apt-get -y install imagemagick
|
|
462
|
+
|
|
463
|
+ function_check install_blog_from_repo
|
|
464
|
+ install_blog_from_repo
|
|
465
|
+
|
|
466
|
+ if [[ $ONION_ONLY == "no" ]]; then
|
|
467
|
+ function_check install_blog_website
|
|
468
|
+ install_blog_website
|
|
469
|
+ else
|
|
470
|
+ echo -n '' > /etc/nginx/sites-available/$FULLBLOG_DOMAIN_NAME
|
|
471
|
+ fi
|
|
472
|
+ function_check install_blog_website_onion
|
|
473
|
+ install_blog_website_onion
|
453
|
474
|
|
454
|
475
|
function_check create_site_certificate
|
455
|
476
|
create_site_certificate $FULLBLOG_DOMAIN_NAME 'yes'
|
|
@@ -457,23 +478,22 @@ function install_blog {
|
457
|
478
|
function_check configure_php
|
458
|
479
|
configure_php
|
459
|
480
|
|
460
|
|
- # blog settings
|
461
|
|
- cp /var/www/$FULLBLOG_DOMAIN_NAME/htdocs/config/config.ini.example /var/www/$FULLBLOG_DOMAIN_NAME/htdocs/config/config.ini
|
462
|
|
- sed -i "s|site.url.*|site.url = '/'|g" /var/www/$FULLBLOG_DOMAIN_NAME/htdocs/config/config.ini
|
463
|
|
- sed -i "s|blog.title.*|blog.title = '$MY_BLOG_TITLE'|g" /var/www/$FULLBLOG_DOMAIN_NAME/htdocs/config/config.ini
|
464
|
|
- sed -i "s|blog.tagline.*|blog.tagline = '$MY_BLOG_SUBTITLE'|g" /var/www/$FULLBLOG_DOMAIN_NAME/htdocs/config/config.ini
|
465
|
|
- sed -i 's|timezone.*|timezone = "Europe/London"|g' /var/www/$FULLBLOG_DOMAIN_NAME/htdocs/config/config.ini
|
466
|
|
- sed -i "s|Your name|$MY_NAME|g" /var/www/$FULLBLOG_DOMAIN_NAME/htdocs/config/config.ini
|
|
481
|
+ function_check install_blog_settings
|
|
482
|
+ install_blog_settings
|
467
|
483
|
|
|
484
|
+ function_check install_blog_social_networks
|
468
|
485
|
install_blog_social_networks
|
469
|
486
|
|
|
487
|
+ function_check install_blog_user
|
470
|
488
|
install_blog_user
|
471
|
489
|
|
472
|
|
- function_check nginx_ensite
|
473
|
|
- nginx_ensite $FULLBLOG_DOMAIN_NAME
|
|
490
|
+ chown -R www-data:www-data /var/www/$FULLBLOG_DOMAIN_NAME/htdocs
|
474
|
491
|
|
475
|
492
|
FULLBLOG_ONION_HOSTNAME=$(add_onion_service blog 80 ${FULLBLOG_ONION_PORT})
|
476
|
493
|
|
|
494
|
+ function_check nginx_ensite
|
|
495
|
+ nginx_ensite $FULLBLOG_DOMAIN_NAME
|
|
496
|
+
|
477
|
497
|
systemctl restart php5-fpm
|
478
|
498
|
systemctl restart nginx
|
479
|
499
|
|