992af0b9d7
Closes #291 Fixes #227 Modifications - HTML content: match the new Wiki structure - Makefile - generate a custom HTML sidebar - include the sidebar on all pages - infer and prepend page titles - handle relative links - add title metadata, e.g. Shaarli - <Page Name> Signed-off-by: VirtualTam <virtualtam@flibidi.net>
67 lines
2 KiB
Markdown
67 lines
2 KiB
Markdown
#Copy an existing installation over SSH and serve it locally
|
|
Example bash script:
|
|
|
|
```bash
|
|
#!/bin/bash
|
|
#Description: Copy a Shaarli installation over SSH/SCP, serve it locally with php-cli
|
|
#Will create a local-shaarli/ directory when you run it, backup your Shaarli there, and serve it locally.
|
|
#Will NOT download linked pages. It's just a directly usable backup/copy/mirror of your Shaarli
|
|
#Requires: ssh, scp and a working SSH access to the server where your Shaarli is installed
|
|
#Usage: ./local-shaarli.sh
|
|
#Author: nodiscc (nodiscc@gmail.com)
|
|
#License: MIT (http://opensource.org/licenses/MIT)
|
|
set -o errexit
|
|
set -o nounset
|
|
|
|
##### CONFIG #################
|
|
#The port used by php's local server
|
|
php_local_port=7431
|
|
|
|
#Name of the SSH server and path where Shaarli is installed
|
|
#TODO: pass these as command-line arguments
|
|
remotehost="my.ssh.server"
|
|
remote_shaarli_dir="/var/www/shaarli"
|
|
|
|
|
|
###### FUNCTIONS #############
|
|
_main() {
|
|
_CBSyncShaarli
|
|
_CBServeShaarli
|
|
}
|
|
|
|
_CBSyncShaarli() {
|
|
remote_temp_dir=$(ssh $remotehost mktemp -d)
|
|
remote_ssh_user=$(ssh $remotehost whoami)
|
|
ssh -t "$remotehost" sudo cp -r "$remote_shaarli_dir" "$remote_temp_dir"
|
|
ssh -t "$remotehost" sudo chown -R "$remote_ssh_user":"$remote_ssh_user" "$remote_temp_dir"
|
|
scp -rq "$remotehost":"$remote_temp_dir" local-shaarli
|
|
ssh "$remotehost" rm -r "$remote_temp_dir"
|
|
}
|
|
|
|
_CBServeShaarli() {
|
|
#TODO: allow serving a previously downloaded Shaarli
|
|
#TODO: ask before overwriting local copy, if it exists
|
|
cd local-shaarli/
|
|
php -S localhost:${php_local_port}
|
|
echo "Please go to http://localhost:${php_local_port}"
|
|
}
|
|
|
|
|
|
##### MAIN #################
|
|
|
|
_main
|
|
```
|
|
|
|
This outputs:
|
|
|
|
```bash
|
|
$ ./local-shaarli.sh
|
|
PHP 5.6.0RC4 Development Server started at Mon Sep 1 21:56:19 2014
|
|
Listening on http://localhost:7431
|
|
Document root is /home/user/local-shaarli/shaarli
|
|
Press Ctrl-C to quit.
|
|
|
|
[Mon Sep 1 21:56:27 2014] ::1:57868 [200]: /[](.html)
|
|
[Mon Sep 1 21:56:27 2014] ::1:57869 [200]: /index.html[](.html)
|
|
[Mon Sep 1 21:56:37 2014] ::1:57881 [200]: /...[](.html)
|
|
```
|