From e789ed5a633f1c87228572e6490567a09cf85039 Mon Sep 17 00:00:00 2001 From: Bob Mottram Date: Fri, 30 Mar 2018 17:30:40 +0100 Subject: [PATCH] Fix fedwiki --- src/freedombone-app-fedwiki | 67 ++++++++++++++++++++++--------------- src/freedombone-app-ghost | 25 +++++++++----- 2 files changed, 56 insertions(+), 36 deletions(-) diff --git a/src/freedombone-app-fedwiki b/src/freedombone-app-fedwiki index 3dd45819..56ae7e21 100755 --- a/src/freedombone-app-fedwiki +++ b/src/freedombone-app-fedwiki @@ -55,50 +55,50 @@ fedwiki_variables=(FEDWIKI_DOMAIN_NAME function fedwiki_remove_bad_links { if [[ $ONION_ONLY == 'no' ]]; then - 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 + 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 - sed -i "s|\$('').appendTo(\"head\");|g" /usr/local/lib/node_modules/wiki/node_modules/wiki-security-friends/client/security.js + sed -i "s|\$('').appendTo(\"head\");|g" /var/lib/wiki/node_modules/wiki-security-friends/client/security.js else FEDWIKI_ONION_HOSTNAME=$(cat /var/lib/tor/hidden_service_fedwiki/hostname) - 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 + 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 - sed -i "s|\$('').appendTo(\"head\");|g" /usr/local/lib/node_modules/wiki/node_modules/wiki-security-friends/client/security.js + sed -i "s|\$('').appendTo(\"head\");|g" /var/lib/wiki/node_modules/wiki-security-friends/client/security.js fi - if [ -f /usr/local/lib/node_modules/wiki/node_modules/localforage/docs/theme/style.css ]; then - sed -i '/googleapi/d' /usr/local/lib/node_modules/wiki/node_modules/localforage/docs/theme/style.css + if [ -f /var/lib/wiki/node_modules/localforage/docs/theme/style.css ]; then + sed -i '/googleapi/d' /var/lib/wiki/node_modules/localforage/docs/theme/style.css fi - if [ -f /usr/local/lib/node_modules/wiki/node_modules/wiki-security-passportjs/views/addAlternativeDialog.html ]; then - sed -i '/googleapi/d' /usr/local/lib/node_modules/wiki/node_modules/wiki-security-passportjs/views/addAlternativeDialog.html + if [ -f /var/lib/wiki/node_modules/wiki-security-passportjs/views/addAlternativeDialog.html ]; then + sed -i '/googleapi/d' /var/lib/wiki/node_modules/wiki-security-passportjs/views/addAlternativeDialog.html fi - if [ -f /usr/local/lib/node_modules/wiki/node_modules/wiki-security-passportjs/views/done.html ]; then - sed -i '/googleapi/d' /usr/local/lib/node_modules/wiki/node_modules/wiki-security-passportjs/views/done.html + if [ -f /var/lib/wiki/node_modules/wiki-security-passportjs/views/done.html ]; then + sed -i '/googleapi/d' /var/lib/wiki/node_modules/wiki-security-passportjs/views/done.html fi - if [ -f /usr/local/lib/node_modules/wiki/node_modules/wiki-security-passportjs/views/personaDialog.html ]; then - sed -i '/googleapi/d' /usr/local/lib/node_modules/wiki/node_modules/wiki-security-passportjs/views/personaDialog.html + if [ -f /var/lib/wiki/node_modules/wiki-security-passportjs/views/personaDialog.html ]; then + sed -i '/googleapi/d' /var/lib/wiki/node_modules/wiki-security-passportjs/views/personaDialog.html fi - if [ -f /usr/local/lib/node_modules/wiki/node_modules/wiki-security-passportjs/views/securityDialog.html ]; then - sed -i '/googleapi/d' /usr/local/lib/node_modules/wiki/node_modules/wiki-security-passportjs/views/securityDialog.html + if [ -f /var/lib/wiki/node_modules/wiki-security-passportjs/views/securityDialog.html ]; then + sed -i '/googleapi/d' /var/lib/wiki/node_modules/wiki-security-passportjs/views/securityDialog.html fi - if [ -d /usr/local/lib/node_modules/wiki/node_modules/passport-google-oauth20 ]; then - rm -rf /usr/local/lib/node_modules/wiki/node_modules/passport-google-oauth20 + if [ -d /var/lib/wiki/node_modules/passport-google-oauth20 ]; then + rm -rf /var/lib/wiki/node_modules/passport-google-oauth20 fi - if [ -d /usr/local/lib/node_modules/wiki/node_modules/passport-oauth2 ]; then - rm -rf /usr/local/lib/node_modules/wiki/node_modules/passport-oauth2 + if [ -d /var/lib/wiki/node_modules/passport-oauth2 ]; then + rm -rf /var/lib/wiki/node_modules/passport-oauth2 fi - if [ -d /usr/local/lib/node_modules/wiki/node_modules/passport-twitter ]; then - rm -rf /usr/local/lib/node_modules/wiki/node_modules/passport-twitter + if [ -d /var/lib/wiki/node_modules/passport-twitter ]; then + rm -rf /var/lib/wiki/node_modules/passport-twitter fi - if [ -d /usr/local/lib/node_modules/wiki/node_modules/passport-github ]; then - rm -rf /usr/local/lib/node_modules/wiki/node_modules/passport-github + if [ -d /var/lib/wiki/node_modules/passport-github ]; then + rm -rf /var/lib/wiki/node_modules/passport-github fi } @@ -168,7 +168,13 @@ function upgrade_fedwiki { systemctl stop fedwiki npm upgrade -g wiki@$FEDWIKI_VERSION + + cp -r /root/.npm-global/lib/node_modules/wiki/* /var/lib/wiki/ + cp /root/.npm-global/bin/wiki /var/lib/wiki/wiki + chown -R fedwiki:fedwiki /var/lib/wiki + fedwiki_remove_bad_links + chown -R fedwiki:fedwiki $FEDWIKI_DATA systemctl start fedwiki @@ -302,6 +308,9 @@ function remove_fedwiki { if [ -d "/var/www/$FEDWIKI_DOMAIN_NAME" ]; then rm -rf "/var/www/$FEDWIKI_DOMAIN_NAME" fi + if [ -d /var/lib/wiki ]; then + rm -rf /var/lib/wiki + fi remove_config_param FEDWIKI_DOMAIN_NAME remove_config_param FEDWIKI_CODE function_check remove_onion_service @@ -437,13 +446,13 @@ function install_fedwiki { exit 783533 fi - if [ ! -f /usr/local/bin/wiki ]; then + if [ ! -f /root/.npm-global/bin/wiki ]; then echo $'wiki was not installed' exit 5293524 fi - if [ ! -d /usr/local/lib/node_modules/wiki ]; then - echo $'wiki directory not found /usr/local/lib/node_modules/wiki' + if [ ! -d /root/.npm-global/lib/node_modules/wiki ]; then + echo $'wiki directory not found /root/.npm-global/lib/node_modules/wiki' exit 6285324 fi @@ -453,6 +462,10 @@ function install_fedwiki { FEDWIKI_COOKIE="$(create_password 20)" fi + cp -r /root/.npm-global/lib/node_modules/wiki /var/lib + cp /root/.npm-global/bin/wiki /var/lib/wiki + chown -R fedwiki:fedwiki /var/lib/wiki + { echo '[Unit]'; echo 'Description=Fedwiki federated wiki'; echo 'After=syslog.target'; @@ -461,8 +474,8 @@ function install_fedwiki { echo '[Service]'; echo 'User=fedwiki'; echo 'Group=fedwiki'; - echo "WorkingDirectory=/usr/local/lib/node_modules/wiki"; - echo "ExecStart=/usr/local/bin/wiki --security_type friends --session_duration 7 --data $FEDWIKI_DATA -p $FEDWIKI_PORT --cookieSecret '${FEDWIKI_COOKIE}'"; + echo "WorkingDirectory=/var/lib/wiki"; + echo "ExecStart=/var/lib/wiki/wiki --security_type friends --session_duration 7 --data $FEDWIKI_DATA -p $FEDWIKI_PORT --cookieSecret '${FEDWIKI_COOKIE}'"; echo 'StandardOutput=syslog'; echo 'StandardError=syslog'; echo 'SyslogIdentifier=fedwiki'; diff --git a/src/freedombone-app-ghost b/src/freedombone-app-ghost index 6f5f348e..4af54b1f 100755 --- a/src/freedombone-app-ghost +++ b/src/freedombone-app-ghost @@ -209,14 +209,14 @@ function upgrade_ghost { cd "/var/www/$GHOST_DOMAIN_NAME/htdocs" || exit 3468463 npm i -g ghost-cli - /usr/local/bin/ghost update & + /root/.npm-global/bin/ghost update & sleep 200 ghost_bust ghost_replace_services ghost_remove_offsite_links - chown root:root /usr/local/bin/ghost + chown root:root /root/.npm-global/bin/ghost chown -R root:root /usr/local/lib chown -R ghost: /var/www/${GHOST_DOMAIN_NAME}/htdocs systemctl restart ghost @@ -429,8 +429,8 @@ function install_ghost { install_nodejs ghost # now install ghost itself - npm install -g ghost-cli@latest - if [ ! -f /usr/local/bin/ghost ]; then + npm install -g ghost-cli@1.6.0 + if [ ! -f /root/.npm-global/bin/ghost ]; then echo $'ghost was not installed' exit 738539 fi @@ -438,11 +438,18 @@ function install_ghost { GHOST_ONION_HOSTNAME=$(add_onion_service ghost 80 ${GHOST_ONION_PORT}) npm install -g yarn + if [ ! -f /root/.npm-global/bin/yarn ]; then + echo $'yarn was not installed' + exit 2648246 + fi yarn install --no-emoji --no-progress yarn cache clean adduser --system --home="/var/www/${GHOST_DOMAIN_NAME}/htdocs/" --group ghost rm -rf "/var/www/$GHOST_DOMAIN_NAME/htdocs/"* - printf 'y' | ghost install ${GHOST_VERSION} --user ghost --db=sqlite3 --port ${GHOST_PORT} --verbose + echo "PATH=$PATH" > setup_ghost + echo "ghost install ${GHOST_VERSION} --no-prompt --db=sqlite3 --port ${GHOST_PORT} --verbose" >> setup_ghost + chmod +x setup_ghost + su -c "setup_ghost" - ghost if [ ! -d "/var/www/$GHOST_DOMAIN_NAME/htdocs/versions" ]; then echo $'versions directory was not found' @@ -487,9 +494,9 @@ function install_ghost { echo 'User=ghost'; echo 'Group=ghost'; echo "WorkingDirectory=/var/www/${GHOST_DOMAIN_NAME}/htdocs"; - echo "ExecStart=/usr/local/bin/ghost run -D"; - echo "ExecStop=/usr/local/bin/ghost stop"; - echo "ExecRestart=/usr/local/bin/ghost restart"; + echo "ExecStart=/root/.npm-global/bin/ghost run -D"; + echo "ExecStop=/root/.npm-global/bin/ghost stop"; + echo "ExecRestart=/root/.npm-global/bin/ghost restart"; echo 'Restart=always'; echo 'RestartSec=60'; echo "Environment=NODE_ENV=development PORT=${GHOST_PORT}"; @@ -587,7 +594,7 @@ function install_ghost { function_check add_ddns_domain add_ddns_domain "$GHOST_DOMAIN_NAME" - chown root:root /usr/local/bin/ghost + chown root:root /root/.npm-global/bin/ghost chown -R root:root /usr/local/lib chown -R ghost: "/var/www/${GHOST_DOMAIN_NAME}/htdocs" set_completion_param "ghost domain" "$GHOST_DOMAIN_NAME"