diff options
author | VirtualTam <virtualtam@flibidi.net> | 2015-08-04 16:07:13 +0200 |
---|---|---|
committer | VirtualTam <virtualtam@flibidi.net> | 2015-08-04 16:07:13 +0200 |
commit | 27cf2e671d1f35bd8c9383d008cd3733fc1c6e0d (patch) | |
tree | 4726baf18e7057eac3f9b6bdb5991fe6117814fc /doc/Copy-an-existing-installation-over-SSH-and-serve-it-locally.md | |
parent | 96db105e4c0833324f7168edb5673278de8ccd54 (diff) | |
parent | 992af0b9d77cb4fbac2c37ef8d5896042d67a2a3 (diff) | |
download | Shaarli-27cf2e671d1f35bd8c9383d008cd3733fc1c6e0d.tar.gz Shaarli-27cf2e671d1f35bd8c9383d008cd3733fc1c6e0d.tar.zst Shaarli-27cf2e671d1f35bd8c9383d008cd3733fc1c6e0d.zip |
Merge pull request #294 from virtualtam/doc/update
Doc: sync from Wiki, generate HTML
Diffstat (limited to 'doc/Copy-an-existing-installation-over-SSH-and-serve-it-locally.md')
-rw-r--r-- | doc/Copy-an-existing-installation-over-SSH-and-serve-it-locally.md | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/doc/Copy-an-existing-installation-over-SSH-and-serve-it-locally.md b/doc/Copy-an-existing-installation-over-SSH-and-serve-it-locally.md new file mode 100644 index 00000000..88d191da --- /dev/null +++ b/doc/Copy-an-existing-installation-over-SSH-and-serve-it-locally.md | |||
@@ -0,0 +1,67 @@ | |||
1 | #Copy an existing installation over SSH and serve it locally | ||
2 | Example bash script: | ||
3 | |||
4 | ```bash | ||
5 | #!/bin/bash | ||
6 | #Description: Copy a Shaarli installation over SSH/SCP, serve it locally with php-cli | ||
7 | #Will create a local-shaarli/ directory when you run it, backup your Shaarli there, and serve it locally. | ||
8 | #Will NOT download linked pages. It's just a directly usable backup/copy/mirror of your Shaarli | ||
9 | #Requires: ssh, scp and a working SSH access to the server where your Shaarli is installed | ||
10 | #Usage: ./local-shaarli.sh | ||
11 | #Author: nodiscc (nodiscc@gmail.com) | ||
12 | #License: MIT (http://opensource.org/licenses/MIT) | ||
13 | set -o errexit | ||
14 | set -o nounset | ||
15 | |||
16 | ##### CONFIG ################# | ||
17 | #The port used by php's local server | ||
18 | php_local_port=7431 | ||
19 | |||
20 | #Name of the SSH server and path where Shaarli is installed | ||
21 | #TODO: pass these as command-line arguments | ||
22 | remotehost="my.ssh.server" | ||
23 | remote_shaarli_dir="/var/www/shaarli" | ||
24 | |||
25 | |||
26 | ###### FUNCTIONS ############# | ||
27 | _main() { | ||
28 | _CBSyncShaarli | ||
29 | _CBServeShaarli | ||
30 | } | ||
31 | |||
32 | _CBSyncShaarli() { | ||
33 | remote_temp_dir=$(ssh $remotehost mktemp -d) | ||
34 | remote_ssh_user=$(ssh $remotehost whoami) | ||
35 | ssh -t "$remotehost" sudo cp -r "$remote_shaarli_dir" "$remote_temp_dir" | ||
36 | ssh -t "$remotehost" sudo chown -R "$remote_ssh_user":"$remote_ssh_user" "$remote_temp_dir" | ||
37 | scp -rq "$remotehost":"$remote_temp_dir" local-shaarli | ||
38 | ssh "$remotehost" rm -r "$remote_temp_dir" | ||
39 | } | ||
40 | |||
41 | _CBServeShaarli() { | ||
42 | #TODO: allow serving a previously downloaded Shaarli | ||
43 | #TODO: ask before overwriting local copy, if it exists | ||
44 | cd local-shaarli/ | ||
45 | php -S localhost:${php_local_port} | ||
46 | echo "Please go to http://localhost:${php_local_port}" | ||
47 | } | ||
48 | |||
49 | |||
50 | ##### MAIN ################# | ||
51 | |||
52 | _main | ||
53 | ``` | ||
54 | |||
55 | This outputs: | ||
56 | |||
57 | ```bash | ||
58 | $ ./local-shaarli.sh | ||
59 | PHP 5.6.0RC4 Development Server started at Mon Sep 1 21:56:19 2014 | ||
60 | Listening on http://localhost:7431 | ||
61 | Document root is /home/user/local-shaarli/shaarli | ||
62 | Press Ctrl-C to quit. | ||
63 | |||
64 | [Mon Sep 1 21:56:27 2014] ::1:57868 [200]: /[](.html) | ||
65 | [Mon Sep 1 21:56:27 2014] ::1:57869 [200]: /index.html[](.html) | ||
66 | [Mon Sep 1 21:56:37 2014] ::1:57881 [200]: /...[](.html) | ||
67 | ``` | ||