浏览代码

Fix fedwiki

Bob Mottram 7 年前
父节点
当前提交
e789ed5a63
共有 2 个文件被更改,包括 56 次插入36 次删除
  1. 40
    27
      src/freedombone-app-fedwiki
  2. 16
    9
      src/freedombone-app-ghost

+ 40
- 27
src/freedombone-app-fedwiki 查看文件

55
 
55
 
56
 function fedwiki_remove_bad_links {
56
 function fedwiki_remove_bad_links {
57
     if [[ $ONION_ONLY == 'no' ]]; then
57
     if [[ $ONION_ONLY == 'no' ]]; then
58
-        sed -i "s|link[href='https://maxcdn.bootstrapcdn.com.*|link[href='https://${FEDWIKI_DOMAIN_NAME}/fonts-font-awesome/css/font-awesome.min.css']\").length) {|g" /usr/local/lib/node_modules/wiki/node_modules/wiki-security-friends/client/security.js
58
+        sed -i "s|link\\[href='https://maxcdn.bootstrapcdn.com.*|link\\[href='https://${FEDWIKI_DOMAIN_NAME}/fonts-font-awesome/css/font-awesome.min.css']\").length) {|g" /var/lib/wiki/node_modules/wiki-security-friends/client/security.js
59
 
59
 
60
-        sed -i "s|\$('<link rel=\"stylesheet\" href=\"https://maxcdn.bootstrapcdn.com.*|\$('<link rel=\"stylesheet\" href=\"https://${FEDWIKI_DOMAIN_NAME}/fonts-font-awesome/css/font-awesome.min.css\">').appendTo(\"head\");|g" /usr/local/lib/node_modules/wiki/node_modules/wiki-security-friends/client/security.js
60
+        sed -i "s|\$('<link rel=\"stylesheet\" href=\"https://maxcdn.bootstrapcdn.com.*|\$('<link rel=\"stylesheet\" href=\"https://${FEDWIKI_DOMAIN_NAME}/fonts-font-awesome/css/font-awesome.min.css\">').appendTo(\"head\");|g" /var/lib/wiki/node_modules/wiki-security-friends/client/security.js
61
     else
61
     else
62
         FEDWIKI_ONION_HOSTNAME=$(cat /var/lib/tor/hidden_service_fedwiki/hostname)
62
         FEDWIKI_ONION_HOSTNAME=$(cat /var/lib/tor/hidden_service_fedwiki/hostname)
63
-        sed -i "s|link[href='https://maxcdn.bootstrapcdn.com.*|link[href='http://${FEDWIKI_ONION_HOSTNAME}/fonts-font-awesome/css/font-awesome.min.css']\").length) {|g" /usr/local/lib/node_modules/wiki/node_modules/wiki-security-friends/client/security.js
63
+        sed -i "s|link\\[href='https://maxcdn.bootstrapcdn.com.*|link\\[href='http://${FEDWIKI_ONION_HOSTNAME}/fonts-font-awesome/css/font-awesome.min.css']\").length) {|g" /var/lib/wiki/node_modules/wiki-security-friends/client/security.js
64
 
64
 
65
-        sed -i "s|\$('<link rel=\"stylesheet\" href=\"https://maxcdn.bootstrapcdn.com.*|\$('<link rel=\"stylesheet\" href=\"http://${FEDWIKI_ONION_HOSTNAME}/fonts-font-awesome/css/font-awesome.min.css\">').appendTo(\"head\");|g" /usr/local/lib/node_modules/wiki/node_modules/wiki-security-friends/client/security.js
65
+        sed -i "s|\$('<link rel=\"stylesheet\" href=\"https://maxcdn.bootstrapcdn.com.*|\$('<link rel=\"stylesheet\" href=\"http://${FEDWIKI_ONION_HOSTNAME}/fonts-font-awesome/css/font-awesome.min.css\">').appendTo(\"head\");|g" /var/lib/wiki/node_modules/wiki-security-friends/client/security.js
66
     fi
66
     fi
67
 
67
 
68
-    if [ -f /usr/local/lib/node_modules/wiki/node_modules/localforage/docs/theme/style.css ]; then
69
-        sed -i '/googleapi/d' /usr/local/lib/node_modules/wiki/node_modules/localforage/docs/theme/style.css
68
+    if [ -f /var/lib/wiki/node_modules/localforage/docs/theme/style.css ]; then
69
+        sed -i '/googleapi/d' /var/lib/wiki/node_modules/localforage/docs/theme/style.css
70
     fi
70
     fi
71
 
71
 
72
-    if [ -f /usr/local/lib/node_modules/wiki/node_modules/wiki-security-passportjs/views/addAlternativeDialog.html ]; then
73
-        sed -i '/googleapi/d' /usr/local/lib/node_modules/wiki/node_modules/wiki-security-passportjs/views/addAlternativeDialog.html
72
+    if [ -f /var/lib/wiki/node_modules/wiki-security-passportjs/views/addAlternativeDialog.html ]; then
73
+        sed -i '/googleapi/d' /var/lib/wiki/node_modules/wiki-security-passportjs/views/addAlternativeDialog.html
74
     fi
74
     fi
75
 
75
 
76
-    if [ -f /usr/local/lib/node_modules/wiki/node_modules/wiki-security-passportjs/views/done.html ]; then
77
-        sed -i '/googleapi/d' /usr/local/lib/node_modules/wiki/node_modules/wiki-security-passportjs/views/done.html
76
+    if [ -f /var/lib/wiki/node_modules/wiki-security-passportjs/views/done.html ]; then
77
+        sed -i '/googleapi/d' /var/lib/wiki/node_modules/wiki-security-passportjs/views/done.html
78
     fi
78
     fi
79
 
79
 
80
-    if [ -f /usr/local/lib/node_modules/wiki/node_modules/wiki-security-passportjs/views/personaDialog.html ]; then
81
-        sed -i '/googleapi/d' /usr/local/lib/node_modules/wiki/node_modules/wiki-security-passportjs/views/personaDialog.html
80
+    if [ -f /var/lib/wiki/node_modules/wiki-security-passportjs/views/personaDialog.html ]; then
81
+        sed -i '/googleapi/d' /var/lib/wiki/node_modules/wiki-security-passportjs/views/personaDialog.html
82
     fi
82
     fi
83
 
83
 
84
-    if [ -f /usr/local/lib/node_modules/wiki/node_modules/wiki-security-passportjs/views/securityDialog.html ]; then
85
-        sed -i '/googleapi/d' /usr/local/lib/node_modules/wiki/node_modules/wiki-security-passportjs/views/securityDialog.html
84
+    if [ -f /var/lib/wiki/node_modules/wiki-security-passportjs/views/securityDialog.html ]; then
85
+        sed -i '/googleapi/d' /var/lib/wiki/node_modules/wiki-security-passportjs/views/securityDialog.html
86
     fi
86
     fi
87
 
87
 
88
-    if [ -d /usr/local/lib/node_modules/wiki/node_modules/passport-google-oauth20 ]; then
89
-        rm -rf /usr/local/lib/node_modules/wiki/node_modules/passport-google-oauth20
88
+    if [ -d /var/lib/wiki/node_modules/passport-google-oauth20 ]; then
89
+        rm -rf /var/lib/wiki/node_modules/passport-google-oauth20
90
     fi
90
     fi
91
 
91
 
92
-    if [ -d /usr/local/lib/node_modules/wiki/node_modules/passport-oauth2 ]; then
93
-        rm -rf /usr/local/lib/node_modules/wiki/node_modules/passport-oauth2
92
+    if [ -d /var/lib/wiki/node_modules/passport-oauth2 ]; then
93
+        rm -rf /var/lib/wiki/node_modules/passport-oauth2
94
     fi
94
     fi
95
 
95
 
96
-    if [ -d /usr/local/lib/node_modules/wiki/node_modules/passport-twitter ]; then
97
-        rm -rf /usr/local/lib/node_modules/wiki/node_modules/passport-twitter
96
+    if [ -d /var/lib/wiki/node_modules/passport-twitter ]; then
97
+        rm -rf /var/lib/wiki/node_modules/passport-twitter
98
     fi
98
     fi
99
 
99
 
100
-    if [ -d /usr/local/lib/node_modules/wiki/node_modules/passport-github ]; then
101
-        rm -rf /usr/local/lib/node_modules/wiki/node_modules/passport-github
100
+    if [ -d /var/lib/wiki/node_modules/passport-github ]; then
101
+        rm -rf /var/lib/wiki/node_modules/passport-github
102
     fi
102
     fi
103
 }
103
 }
104
 
104
 
168
 
168
 
169
     systemctl stop fedwiki
169
     systemctl stop fedwiki
170
     npm upgrade -g wiki@$FEDWIKI_VERSION
170
     npm upgrade -g wiki@$FEDWIKI_VERSION
171
+
172
+    cp -r /root/.npm-global/lib/node_modules/wiki/* /var/lib/wiki/
173
+    cp /root/.npm-global/bin/wiki /var/lib/wiki/wiki
174
+    chown -R fedwiki:fedwiki /var/lib/wiki
175
+
171
     fedwiki_remove_bad_links
176
     fedwiki_remove_bad_links
177
+
172
     chown -R fedwiki:fedwiki $FEDWIKI_DATA
178
     chown -R fedwiki:fedwiki $FEDWIKI_DATA
173
     systemctl start fedwiki
179
     systemctl start fedwiki
174
 
180
 
302
     if [ -d "/var/www/$FEDWIKI_DOMAIN_NAME" ]; then
308
     if [ -d "/var/www/$FEDWIKI_DOMAIN_NAME" ]; then
303
         rm -rf "/var/www/$FEDWIKI_DOMAIN_NAME"
309
         rm -rf "/var/www/$FEDWIKI_DOMAIN_NAME"
304
     fi
310
     fi
311
+    if [ -d /var/lib/wiki ]; then
312
+        rm -rf /var/lib/wiki
313
+    fi
305
     remove_config_param FEDWIKI_DOMAIN_NAME
314
     remove_config_param FEDWIKI_DOMAIN_NAME
306
     remove_config_param FEDWIKI_CODE
315
     remove_config_param FEDWIKI_CODE
307
     function_check remove_onion_service
316
     function_check remove_onion_service
437
         exit 783533
446
         exit 783533
438
     fi
447
     fi
439
 
448
 
440
-    if [ ! -f /usr/local/bin/wiki ]; then
449
+    if [ ! -f /root/.npm-global/bin/wiki ]; then
441
         echo $'wiki was not installed'
450
         echo $'wiki was not installed'
442
         exit 5293524
451
         exit 5293524
443
     fi
452
     fi
444
 
453
 
445
-    if [ ! -d /usr/local/lib/node_modules/wiki ]; then
446
-        echo $'wiki directory not found /usr/local/lib/node_modules/wiki'
454
+    if [ ! -d /root/.npm-global/lib/node_modules/wiki ]; then
455
+        echo $'wiki directory not found /root/.npm-global/lib/node_modules/wiki'
447
         exit 6285324
456
         exit 6285324
448
     fi
457
     fi
449
 
458
 
453
         FEDWIKI_COOKIE="$(create_password 20)"
462
         FEDWIKI_COOKIE="$(create_password 20)"
454
     fi
463
     fi
455
 
464
 
465
+    cp -r /root/.npm-global/lib/node_modules/wiki /var/lib
466
+    cp /root/.npm-global/bin/wiki /var/lib/wiki
467
+    chown -R fedwiki:fedwiki /var/lib/wiki
468
+
456
     { echo '[Unit]';
469
     { echo '[Unit]';
457
       echo 'Description=Fedwiki federated wiki';
470
       echo 'Description=Fedwiki federated wiki';
458
       echo 'After=syslog.target';
471
       echo 'After=syslog.target';
461
       echo '[Service]';
474
       echo '[Service]';
462
       echo 'User=fedwiki';
475
       echo 'User=fedwiki';
463
       echo 'Group=fedwiki';
476
       echo 'Group=fedwiki';
464
-      echo "WorkingDirectory=/usr/local/lib/node_modules/wiki";
465
-      echo "ExecStart=/usr/local/bin/wiki --security_type friends --session_duration 7 --data $FEDWIKI_DATA -p $FEDWIKI_PORT --cookieSecret '${FEDWIKI_COOKIE}'";
477
+      echo "WorkingDirectory=/var/lib/wiki";
478
+      echo "ExecStart=/var/lib/wiki/wiki --security_type friends --session_duration 7 --data $FEDWIKI_DATA -p $FEDWIKI_PORT --cookieSecret '${FEDWIKI_COOKIE}'";
466
       echo 'StandardOutput=syslog';
479
       echo 'StandardOutput=syslog';
467
       echo 'StandardError=syslog';
480
       echo 'StandardError=syslog';
468
       echo 'SyslogIdentifier=fedwiki';
481
       echo 'SyslogIdentifier=fedwiki';

+ 16
- 9
src/freedombone-app-ghost 查看文件

209
     cd "/var/www/$GHOST_DOMAIN_NAME/htdocs" || exit 3468463
209
     cd "/var/www/$GHOST_DOMAIN_NAME/htdocs" || exit 3468463
210
 
210
 
211
     npm i -g ghost-cli
211
     npm i -g ghost-cli
212
-    /usr/local/bin/ghost update &
212
+    /root/.npm-global/bin/ghost update &
213
     sleep 200
213
     sleep 200
214
     ghost_bust
214
     ghost_bust
215
 
215
 
216
     ghost_replace_services
216
     ghost_replace_services
217
     ghost_remove_offsite_links
217
     ghost_remove_offsite_links
218
 
218
 
219
-    chown root:root /usr/local/bin/ghost
219
+    chown root:root /root/.npm-global/bin/ghost
220
     chown -R root:root /usr/local/lib
220
     chown -R root:root /usr/local/lib
221
     chown -R ghost: /var/www/${GHOST_DOMAIN_NAME}/htdocs
221
     chown -R ghost: /var/www/${GHOST_DOMAIN_NAME}/htdocs
222
     systemctl restart ghost
222
     systemctl restart ghost
429
     install_nodejs ghost
429
     install_nodejs ghost
430
 
430
 
431
     # now install ghost itself
431
     # now install ghost itself
432
-    npm install -g ghost-cli@latest
433
-    if [ ! -f /usr/local/bin/ghost ]; then
432
+    npm install -g ghost-cli@1.6.0
433
+    if [ ! -f /root/.npm-global/bin/ghost ]; then
434
         echo $'ghost was not installed'
434
         echo $'ghost was not installed'
435
         exit 738539
435
         exit 738539
436
     fi
436
     fi
438
     GHOST_ONION_HOSTNAME=$(add_onion_service ghost 80 ${GHOST_ONION_PORT})
438
     GHOST_ONION_HOSTNAME=$(add_onion_service ghost 80 ${GHOST_ONION_PORT})
439
 
439
 
440
     npm install -g yarn
440
     npm install -g yarn
441
+    if [ ! -f /root/.npm-global/bin/yarn ]; then
442
+        echo $'yarn was not installed'
443
+        exit 2648246
444
+    fi
441
     yarn install --no-emoji --no-progress
445
     yarn install --no-emoji --no-progress
442
     yarn cache clean
446
     yarn cache clean
443
     adduser --system --home="/var/www/${GHOST_DOMAIN_NAME}/htdocs/" --group ghost
447
     adduser --system --home="/var/www/${GHOST_DOMAIN_NAME}/htdocs/" --group ghost
444
     rm -rf "/var/www/$GHOST_DOMAIN_NAME/htdocs/"*
448
     rm -rf "/var/www/$GHOST_DOMAIN_NAME/htdocs/"*
445
-    printf 'y' | ghost install ${GHOST_VERSION} --user ghost --db=sqlite3 --port ${GHOST_PORT} --verbose
449
+    echo "PATH=$PATH" > setup_ghost
450
+    echo "ghost install ${GHOST_VERSION} --no-prompt --db=sqlite3 --port ${GHOST_PORT} --verbose" >> setup_ghost
451
+    chmod +x setup_ghost
452
+    su -c "setup_ghost" - ghost
446
 
453
 
447
     if [ ! -d "/var/www/$GHOST_DOMAIN_NAME/htdocs/versions" ]; then
454
     if [ ! -d "/var/www/$GHOST_DOMAIN_NAME/htdocs/versions" ]; then
448
         echo $'versions directory was not found'
455
         echo $'versions directory was not found'
487
       echo 'User=ghost';
494
       echo 'User=ghost';
488
       echo 'Group=ghost';
495
       echo 'Group=ghost';
489
       echo "WorkingDirectory=/var/www/${GHOST_DOMAIN_NAME}/htdocs";
496
       echo "WorkingDirectory=/var/www/${GHOST_DOMAIN_NAME}/htdocs";
490
-      echo "ExecStart=/usr/local/bin/ghost run -D";
491
-      echo "ExecStop=/usr/local/bin/ghost stop";
492
-      echo "ExecRestart=/usr/local/bin/ghost restart";
497
+      echo "ExecStart=/root/.npm-global/bin/ghost run -D";
498
+      echo "ExecStop=/root/.npm-global/bin/ghost stop";
499
+      echo "ExecRestart=/root/.npm-global/bin/ghost restart";
493
       echo 'Restart=always';
500
       echo 'Restart=always';
494
       echo 'RestartSec=60';
501
       echo 'RestartSec=60';
495
       echo "Environment=NODE_ENV=development PORT=${GHOST_PORT}";
502
       echo "Environment=NODE_ENV=development PORT=${GHOST_PORT}";
587
     function_check add_ddns_domain
594
     function_check add_ddns_domain
588
     add_ddns_domain "$GHOST_DOMAIN_NAME"
595
     add_ddns_domain "$GHOST_DOMAIN_NAME"
589
 
596
 
590
-    chown root:root /usr/local/bin/ghost
597
+    chown root:root /root/.npm-global/bin/ghost
591
     chown -R root:root /usr/local/lib
598
     chown -R root:root /usr/local/lib
592
     chown -R ghost: "/var/www/${GHOST_DOMAIN_NAME}/htdocs"
599
     chown -R ghost: "/var/www/${GHOST_DOMAIN_NAME}/htdocs"
593
     set_completion_param "ghost domain" "$GHOST_DOMAIN_NAME"
600
     set_completion_param "ghost domain" "$GHOST_DOMAIN_NAME"