-
Notifications
You must be signed in to change notification settings - Fork 15
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Co-authored-by: Kevin Peng <[email protected]> Strucured similarly to the easywp script, this installs DokuWiki. It includes a prompt for subfolder, since some groups might want this at a separate URL.
- Loading branch information
Showing
1 changed file
with
68 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,68 @@ | ||
#!/bin/bash | ||
|
||
# Creates symlink to user's webroot. If the symlink exists and files | ||
# are present in webroot, they are backed up in the user's home directory. | ||
# DokuWiki and the upgrade plugin are installed in the chosen directory. | ||
# | ||
|
||
set -euo pipefail | ||
shopt -s dotglob | ||
|
||
if ! [[ "$(hostname)" =~ (dev-)?tsunami ]]; then | ||
echo -e '\033[1;31mYou must run this command on tsunami.\033[0m' | ||
exit 1 | ||
fi | ||
|
||
user=$(whoami) | ||
|
||
echo "What subfolder would you like to install DokuWiki in?" | ||
echo "Example: type nothing for root (https://www.ocf.berkeley.edu/~$(whoami))" | ||
echo "Example: type \"wiki\" for wiki subfolder (https://www.ocf.berkeley.edu/~$(whoami)/wiki)" | ||
|
||
read -r subfolder | ||
|
||
read -rp "Are you sure you want to continue? [y/N] " idunno | ||
idunno=${idunno,,} | ||
if ! [[ "$idunno" =~ ^(yes|y) ]]; then | ||
echo "Ok, bye!" | ||
exit 0 | ||
fi | ||
|
||
webroot="$HOME/public_html/$subfolder" | ||
|
||
# Create symlink to webroot | ||
makehttp | ||
|
||
mkdir -p "$webroot" | ||
cd "$webroot" | ||
|
||
# Check if user has files and let user decide what they want to do. | ||
if [[ -n "$(ls -A)" ]]; then | ||
echo | ||
echo -e "\033[33mThere are currently files in webroot! These will be backed up.\033[00m\n" | ||
read -rp "Do you want to continue? [y/N] " whoknows | ||
|
||
whoknows=${whoknows,,} | ||
if [[ "$whoknows" =~ ^(yes|y) ]]; then | ||
ts=$(date +"%Y-%m-%d_%H:%M:%S") | ||
backup="$HOME/public_html-doku-$ts" | ||
mkdir -p "$backup" | ||
echo "Moving current files to $backup ..." | ||
# Note that dotglob is set so hidden files are moved too | ||
mv ./* "$backup" | ||
else | ||
echo "Ok, bye!" | ||
exit 0 | ||
fi | ||
fi | ||
|
||
echo "Downloading and installing DokuWiki" | ||
curl -L "https://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz" \ | ||
| tar -xz --strip-components=1 | ||
|
||
echo "Downloading and installing the Upgrade plugin" | ||
mkdir lib/plugins/upgrade | ||
curl -L "https://github.com/splitbrain/dokuwiki-plugin-upgrade/tarball/master" \ | ||
| tar -xz -C lib/plugins/upgrade --strip-components=1 | ||
|
||
echo "DokuWiki install successful. Go to https://www.ocf.berkeley.edu/~$user/$subfolder to finish the setup process." |