From 992af0b9d77cb4fbac2c37ef8d5896042d67a2a3 Mon Sep 17 00:00:00 2001 From: VirtualTam Date: Wed, 22 Jul 2015 05:02:10 +0200 Subject: Doc: sync from Wiki, generate HTML 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 - Signed-off-by: VirtualTam --- ...installation-over-SSH-and-serve-it-locally.html | 137 +++++++++++++++++++++ 1 file changed, 137 insertions(+) create mode 100644 doc/Copy-an-existing-installation-over-SSH-and-serve-it-locally.html (limited to 'doc/Copy-an-existing-installation-over-SSH-and-serve-it-locally.html') diff --git a/doc/Copy-an-existing-installation-over-SSH-and-serve-it-locally.html b/doc/Copy-an-existing-installation-over-SSH-and-serve-it-locally.html new file mode 100644 index 00000000..9e930e52 --- /dev/null +++ b/doc/Copy-an-existing-installation-over-SSH-and-serve-it-locally.html @@ -0,0 +1,137 @@ + + + + + + + Shaarli - Copy an existing installation over SSH and serve it locally + + + + + + + +

Copy an existing installation over SSH and serve it locally

+

Example bash script:

+
#!/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:

+
$ ./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)
+ + -- cgit v1.2.3