diff options
Diffstat (limited to 'doc/Create-and-serve-multiple-Shaarlis-(farm).html')
-rw-r--r-- | doc/Create-and-serve-multiple-Shaarlis-(farm).html | 52 |
1 files changed, 25 insertions, 27 deletions
diff --git a/doc/Create-and-serve-multiple-Shaarlis-(farm).html b/doc/Create-and-serve-multiple-Shaarlis-(farm).html index 933144e4..672e4bf3 100644 --- a/doc/Create-and-serve-multiple-Shaarlis-(farm).html +++ b/doc/Create-and-serve-multiple-Shaarlis-(farm).html | |||
@@ -52,13 +52,13 @@ code > span.in { color: #60a0b0; font-weight: bold; font-style: italic; } /* Inf | |||
52 | <div id="local-sidebar"> | 52 | <div id="local-sidebar"> |
53 | <ul> | 53 | <ul> |
54 | <li><a href="Home.html">Home</a></li> | 54 | <li><a href="Home.html">Home</a></li> |
55 | <li>Installation | 55 | <li>Setup |
56 | <ul> | 56 | <ul> |
57 | <li><a href="Download.html">Download</a></li> | 57 | <li><a href="Download-and-Installation.html">Download and Installation</a></li> |
58 | <li><a href="Upgrade-and-migration.html">Upgrade and migration</a></li> | ||
58 | <li><a href="Server-requirements.html">Server requirements</a></li> | 59 | <li><a href="Server-requirements.html">Server requirements</a></li> |
59 | <li><a href="Server-configuration.html">Server configuration</a></li> | 60 | <li><a href="Server-configuration.html">Server configuration</a></li> |
60 | <li><a href="Server-security.html">Server security</a></li> | 61 | <li><a href="Server-security.html">Server security</a></li> |
61 | <li><a href="Shaarli-installation.html">Shaarli installation</a></li> | ||
62 | <li><a href="Shaarli-configuration.html">Shaarli configuration</a></li> | 62 | <li><a href="Shaarli-configuration.html">Shaarli configuration</a></li> |
63 | <li><a href="Plugins.html">Plugins</a></li> | 63 | <li><a href="Plugins.html">Plugins</a></li> |
64 | </ul></li> | 64 | </ul></li> |
@@ -73,7 +73,6 @@ code > span.in { color: #60a0b0; font-weight: bold; font-style: italic; } /* Inf | |||
73 | <li>How To | 73 | <li>How To |
74 | <ul> | 74 | <ul> |
75 | <li><a href="Backup,-restore,-import-and-export.html">Backup, restore, import and export</a></li> | 75 | <li><a href="Backup,-restore,-import-and-export.html">Backup, restore, import and export</a></li> |
76 | <li><a href="Upgrade-from-original-sebsauvage/Shaarli.html">Upgrade from original sebsauvage/Shaarli</a></li> | ||
77 | <li><a href="Copy-an-existing-installation-over-SSH-and-serve-it-locally.html">Copy an existing installation over SSH and serve it locally</a></li> | 76 | <li><a href="Copy-an-existing-installation-over-SSH-and-serve-it-locally.html">Copy an existing installation over SSH and serve it locally</a></li> |
78 | <li><a href="Create-and-serve-multiple-Shaarlis-(farm).html">Create and serve multiple Shaarlis (farm)</a></li> | 77 | <li><a href="Create-and-serve-multiple-Shaarlis-(farm).html">Create and serve multiple Shaarlis (farm)</a></li> |
79 | <li><a href="Download-CSS-styles-from-an-OPML-list.html">Download CSS styles from an OPML list</a></li> | 78 | <li><a href="Download-CSS-styles-from-an-OPML-list.html">Download CSS styles from an OPML list</a></li> |
@@ -97,33 +96,32 @@ code > span.in { color: #60a0b0; font-weight: bold; font-style: italic; } /* Inf | |||
97 | <ul> | 96 | <ul> |
98 | <li><a href="FAQ.html">FAQ</a></li> | 97 | <li><a href="FAQ.html">FAQ</a></li> |
99 | <li><a href="Community-&-Related-software.html">Community & Related software</a></li> | 98 | <li><a href="Community-&-Related-software.html">Community & Related software</a></li> |
100 | <li><a href="TODO.html">TODO</a></li> | ||
101 | </ul></li> | 99 | </ul></li> |
102 | </ul> | 100 | </ul> |
103 | </div> | 101 | </div> |
104 | <h1 id="create-and-serve-multiple-shaarlis-farm">Create and serve multiple Shaarlis (farm)</h1> | 102 | <h1 id="create-and-serve-multiple-shaarlis-farm">Create and serve multiple Shaarlis (farm)</h1> |
105 | <p>Example bash script (creates multiple shaarli instances and generates an HTML index of them)</p> | 103 | <p>Example bash script (creates multiple shaarli instances and generates an HTML index of them)</p> |
106 | <div class="sourceCode"><pre class="sourceCode bash"><code class="sourceCode bash"><span class="co">#!/bin/bash</span> | 104 | <div class="sourceCode"><pre class="sourceCode bash"><code class="sourceCode bash"><span class="co">#!/bin/bash</span> |
107 | <span class="kw">set</span> <span class="kw">-o</span> errexit | 105 | <span class="kw">set</span> <span class="ex">-o</span> errexit |
108 | <span class="kw">set</span> <span class="kw">-o</span> nounset | 106 | <span class="kw">set</span> <span class="ex">-o</span> nounset |
109 | 107 | ||
110 | <span class="co">#config</span> | 108 | <span class="co">#config</span> |
111 | <span class="ot">shaarli_base_dir=</span><span class="st">'/var/www/shaarli'</span> | 109 | <span class="va">shaarli_base_dir=</span><span class="st">'/var/www/shaarli'</span> |
112 | <span class="ot">accounts=</span><span class="st">'bob john whatever username'</span> | 110 | <span class="va">accounts=</span><span class="st">'bob john whatever username'</span> |
113 | <span class="ot">shaarli_repo_url=</span><span class="st">'https://github.com/shaarli/Shaarli'</span> | 111 | <span class="va">shaarli_repo_url=</span><span class="st">'https://github.com/shaarli/Shaarli'</span> |
114 | <span class="ot">ref=</span><span class="st">"master"</span> | 112 | <span class="va">ref=</span><span class="st">"master"</span> |
115 | 113 | ||
116 | <span class="co">#clone multiple shaarli instances</span> | 114 | <span class="co">#clone multiple shaarli instances</span> |
117 | <span class="kw">if [</span> <span class="ot">!</span> <span class="ot">-d</span> <span class="st">"</span><span class="ot">$shaarli_base_dir</span><span class="st">"</span><span class="kw"> ]</span>; <span class="kw">then</span> <span class="kw">mkdir</span> <span class="st">"</span><span class="ot">$shaarli_base_dir</span><span class="st">"</span><span class="kw">;</span> <span class="kw">fi</span>[]<span class="kw">(.html)</span> | 115 | <span class="kw">if</span><span class="bu"> [</span> <span class="ot">!</span> <span class="ot">-d</span> <span class="st">"</span><span class="va">$shaarli_base_dir</span><span class="st">"</span><span class="bu"> ]</span>; <span class="kw">then</span> <span class="fu">mkdir</span> <span class="st">"</span><span class="va">$shaarli_base_dir</span><span class="st">"</span><span class="kw">;</span> <span class="kw">fi</span>[]<span class="kw">(</span><span class="ex">.html</span><span class="kw">)</span> |
118 | 116 | ||
119 | <span class="kw">for</span> <span class="kw">account</span> in <span class="ot">$accounts</span><span class="kw">;</span> <span class="kw">do</span> | 117 | <span class="kw">for</span> <span class="ex">account</span> in <span class="va">$accounts</span><span class="kw">;</span> <span class="kw">do</span> |
120 | <span class="kw">if [</span> <span class="ot">-d</span> <span class="st">"</span><span class="ot">$shaarli_base_dir</span><span class="st">/</span><span class="ot">$account</span><span class="st">"</span><span class="kw"> ]</span>;[]<span class="kw">(.html)</span> | 118 | <span class="kw">if</span><span class="bu"> [</span> <span class="ot">-d</span> <span class="st">"</span><span class="va">$shaarli_base_dir</span><span class="st">/</span><span class="va">$account</span><span class="st">"</span><span class="bu"> ]</span>;[]<span class="kw">(</span><span class="ex">.html</span><span class="kw">)</span> |
121 | <span class="kw">then</span> <span class="kw">echo</span> <span class="st">"[info] account </span><span class="ot">$account</span><span class="st"> already exists, skipping"</span><span class="kw">;</span>[]<span class="kw">(.html)</span> | 119 | <span class="kw">then</span> <span class="bu">echo</span> <span class="st">"[info] account </span><span class="va">$account</span><span class="st"> already exists, skipping"</span><span class="kw">;</span>[]<span class="kw">(</span><span class="ex">.html</span><span class="kw">)</span> |
122 | <span class="kw">else</span> <span class="kw">echo</span> <span class="st">"[info] creating new account </span><span class="ot">$account</span><span class="st"> ..."</span><span class="kw">;</span> <span class="kw">git</span> clone --quiet <span class="st">"</span><span class="ot">$shaarli_repo_url</span><span class="st">"</span> -b <span class="st">"</span><span class="ot">$ref</span><span class="st">"</span> <span class="st">"</span><span class="ot">$shaarli_base_dir</span><span class="st">/</span><span class="ot">$account</span><span class="st">"</span><span class="kw">;</span> <span class="kw">fi</span>[]<span class="kw">(.html)</span> | 120 | <span class="kw">else</span> <span class="bu">echo</span> <span class="st">"[info] creating new account </span><span class="va">$account</span><span class="st"> ..."</span><span class="kw">;</span> <span class="fu">git</span> clone --quiet <span class="st">"</span><span class="va">$shaarli_repo_url</span><span class="st">"</span> -b <span class="st">"</span><span class="va">$ref</span><span class="st">"</span> <span class="st">"</span><span class="va">$shaarli_base_dir</span><span class="st">/</span><span class="va">$account</span><span class="st">"</span><span class="kw">;</span> <span class="kw">fi</span>[]<span class="kw">(</span><span class="ex">.html</span><span class="kw">)</span> |
123 | <span class="kw">done</span> | 121 | <span class="kw">done</span> |
124 | 122 | ||
125 | <span class="co">#generate html index of shaarlis</span> | 123 | <span class="co">#generate html index of shaarlis</span> |
126 | <span class="ot">htmlhead=</span><span class="st">'<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"></span> | 124 | <span class="va">htmlhead=</span><span class="st">'<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"></span> |
127 | <span class="st"><!-- Minimal html template thanks to http://www.sitepoint.com/a-minimal-html-document/ --></span> | 125 | <span class="st"><!-- Minimal html template thanks to http://www.sitepoint.com/a-minimal-html-document/ --></span> |
128 | <span class="st"><html lang="en"></span> | 126 | <span class="st"><html lang="en"></span> |
129 | <span class="st"> <head></span> | 127 | <span class="st"> <head></span> |
@@ -136,9 +134,9 @@ code > span.in { color: #60a0b0; font-weight: bold; font-style: italic; } /* Inf | |||
136 | <span class="st"> <h1>My Shaarli farm</h1></span> | 134 | <span class="st"> <h1>My Shaarli farm</h1></span> |
137 | <span class="st"> <ul style="list-style-type: none;">'</span> | 135 | <span class="st"> <ul style="list-style-type: none;">'</span> |
138 | 136 | ||
139 | <span class="ot">accountlinks=</span><span class="st">''</span> | 137 | <span class="va">accountlinks=</span><span class="st">''</span> |
140 | 138 | ||
141 | <span class="ot">htmlfooter=</span><span class="st">'</span> | 139 | <span class="va">htmlfooter=</span><span class="st">'</span> |
142 | <span class="st"> </ul></span> | 140 | <span class="st"> </ul></span> |
143 | <span class="st"> </div></span> | 141 | <span class="st"> </div></span> |
144 | <span class="st"> </body></span> | 142 | <span class="st"> </body></span> |
@@ -146,14 +144,14 @@ code > span.in { color: #60a0b0; font-weight: bold; font-style: italic; } /* Inf | |||
146 | 144 | ||
147 | 145 | ||
148 | 146 | ||
149 | <span class="kw">for</span> <span class="kw">account</span> in <span class="ot">$accounts</span><span class="kw">;</span> <span class="kw">do</span> <span class="ot">accountlinks=</span><span class="st">"</span><span class="ot">$accountlinks</span><span class="st">\n<li><a href=</span><span class="dt">\"</span><span class="ot">$account</span><span class="dt">\"</span><span class="st">></span><span class="ot">$account</span><span class="st"></a></li>"</span>; <span class="kw">done</span> | 147 | <span class="kw">for</span> <span class="ex">account</span> in <span class="va">$accounts</span><span class="kw">;</span> <span class="kw">do</span> <span class="va">accountlinks=</span><span class="st">"</span><span class="va">$accountlinks</span><span class="st">\n<li><a href=</span><span class="dt">\"</span><span class="va">$account</span><span class="dt">\"</span><span class="st">></span><span class="va">$account</span><span class="st"></a></li>"</span>; <span class="kw">done</span> |
150 | <span class="kw">if [</span> <span class="ot">-d</span> <span class="st">"</span><span class="ot">$shaarli_base_dir</span><span class="st">/index.html"</span><span class="kw"> ]</span>; <span class="kw">then</span> <span class="kw">echo</span> <span class="st">"[removing old index.html]"</span><span class="kw">;</span> <span class="kw">rm</span> <span class="st">"</span><span class="ot">$shaarli_base_dir</span><span class="st">/index.html"</span> ]<span class="kw">;</span> <span class="kw">fi</span>[]<span class="kw">(.html)</span> | 148 | <span class="kw">if</span><span class="bu"> [</span> <span class="ot">-d</span> <span class="st">"</span><span class="va">$shaarli_base_dir</span><span class="st">/index.html"</span><span class="bu"> ]</span>; <span class="kw">then</span> <span class="bu">echo</span> <span class="st">"[removing old index.html]"</span><span class="kw">;</span> <span class="fu">rm</span> <span class="st">"</span><span class="va">$shaarli_base_dir</span><span class="st">/index.html"</span> ]<span class="kw">;</span> <span class="kw">fi</span>[]<span class="kw">(</span><span class="ex">.html</span><span class="kw">)</span> |
151 | <span class="kw">echo</span> <span class="st">"[info] generating new index of shaarlis"</span>[](.html) | 149 | <span class="bu">echo</span> <span class="st">"[info] generating new index of shaarlis"</span>[](.html) |
152 | <span class="kw">echo</span> -e <span class="st">"</span><span class="ot">$htmlhead</span><span class="st"> </span><span class="ot">$accountlinks</span><span class="st"> </span><span class="ot">$htmlfooter</span><span class="st">"</span> <span class="kw">></span> <span class="st">"</span><span class="ot">$shaarli_base_dir</span><span class="st">/index.html"</span> | 150 | <span class="bu">echo</span> -e <span class="st">"</span><span class="va">$htmlhead</span><span class="st"> </span><span class="va">$accountlinks</span><span class="st"> </span><span class="va">$htmlfooter</span><span class="st">"</span> <span class="op">></span> <span class="st">"</span><span class="va">$shaarli_base_dir</span><span class="st">/index.html"</span> |
153 | <span class="kw">echo</span> <span class="st">'[info] done.'</span>[](.html) | 151 | <span class="bu">echo</span> <span class="st">'[info] done.'</span>[](.html) |
154 | <span class="kw">echo</span> <span class="st">"[info] list of accounts: </span><span class="ot">$accounts</span><span class="st">"</span>[](.html) | 152 | <span class="bu">echo</span> <span class="st">"[info] list of accounts: </span><span class="va">$accounts</span><span class="st">"</span>[](.html) |
155 | <span class="kw">echo</span> <span class="st">"[info] contents of </span><span class="ot">$shaarli_base_dir</span><span class="st">:"</span>[](.html) | 153 | <span class="bu">echo</span> <span class="st">"[info] contents of </span><span class="va">$shaarli_base_dir</span><span class="st">:"</span>[](.html) |
156 | <span class="kw">tree</span> -a -L 1 <span class="st">"</span><span class="ot">$shaarli_base_dir</span><span class="st">"</span></code></pre></div> | 154 | <span class="ex">tree</span> -a -L 1 <span class="st">"</span><span class="va">$shaarli_base_dir</span><span class="st">"</span></code></pre></div> |
157 | <p>This script just serves as an example. More precise or complex (applying custom configuration, etc) automation is possible using configuration management software like <a href="https://www.ansible.com/">Ansible</a><a href=".html"></a></p> | 155 | <p>This script just serves as an example. More precise or complex (applying custom configuration, etc) automation is possible using configuration management software like <a href="https://www.ansible.com/">Ansible</a><a href=".html"></a></p> |
158 | </body> | 156 | </body> |
159 | </html> | 157 | </html> |