From 30c17f4ae41265c5431c6b692e3e72963d2bbc77 Mon Sep 17 00:00:00 2001 From: Gustav Eek Date: Tue, 21 Oct 2014 20:53:29 +0200 Subject: Pages on wiki preview added There are two pages added that describes (1) how to set up an ikiwiki lab environment, and (2) how to create a preview version of the Fripost wiki. Naturally the content is related. Things to complement with - Charts drawn in some nice fashion - Explain how templates and styles are applied The index page is changed to reflect the above. --- create-a-wiki.mdwn | 154 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 154 insertions(+) create mode 100644 create-a-wiki.mdwn (limited to 'create-a-wiki.mdwn') diff --git a/create-a-wiki.mdwn b/create-a-wiki.mdwn new file mode 100644 index 0000000..14fb760 --- /dev/null +++ b/create-a-wiki.mdwn @@ -0,0 +1,154 @@ +This article describes mine (the author's, also known as Gustav) +attempts to configure an Ikiwiki lab environment on my laptop +computer. The purpose of the experiment is to learn how Ikiwiki +functions and how to effectively work with Ikiwiki and offline editing +with git. + +The components needed are + +* Ikiwiki +* Apache2 web server +* Git + +**Table of Contents** +[!toc] + +What I have in mind is to access my lab wiki through +_http://localhost/~/lab-wiki_ for web editing and +_~/lab-wiki/wiki-slave_ for local offline editing. + +It should be noted that what is described here probably is a perfectly +_unsafe_ usage of a web server. Make sure that the computer does not +except requests from Internet. + +# Install and configure Git + +I can not recall how this was done. Refer to +[[Git's official website|http://git-scm.com/]] + +# Install and configure Ikiwiki + +Refer to [[ikiwiki setup|http://ikiwiki.info/setup/]] at +[[ikiwiki's officiatl website|http://ikiwiki.info]] for initial +install and configuration and +[[an article on Git|http://ikiwiki.info/rcs/git/]] for more details on +setting up Ikiwiki together with Git. + +I did my best to answer the questions provided in the initial +installation and default configuration with the target of ending up +with something like this: + + url: http://localhost/~/lab-wiki + srcdir: ~/lab-wiki/wiki + destdir: ~/public_html/lab-wiki + repository: ~/lab-wiki/wiki.git + settings: ~/lab-wiki/wiki.setup + +However, not all of the above was configurable in the form, for +example the configuration file location. I needed to move directories +and files around and change the remaining configurations in +_~/lab-wiki/wiki.setup_ and run + + $ ikiwiki --setup ~/lab-wiki/wiki.setup + +I also created the extra Git repository _wiki-slave_ for local edits: + + $ cd ~/lab-wiki; git clone wiki.git wiki-slave + +The connectivity chart is now as follows + + . Bare Git Repository + . ~/lab-wiki/wiki.git + . / \ + . / \ + . / \ + . The Ikiwiki Repository | + . ~/lab-wiki/wiki | + . | | + . | Repository for Local Edits + . | ~/lab-wiki/wiki-slave + . | | + . The Ikiwiki Web Part | + . ~/public_html/lab-wiki | + . | + . The Preview Ikiwiki Web Part + . ~/public_html/lab-wiki-preview + +# Install and configure Apache 2 + +For installation, follow the instructions in +[[Apache's official documentation|http://httpd.apache.org/docs]]. I +got Apache 2.4.6 installed. + +I needed to activate the userdir module. Refer to +[[Per-user web directories|http://httpd.apache.org/docs/2.4/howto/public_html.html]] +in Apache's documentation. For Debian do the following + + $ cd /etc/apache2/mods-enabled + $ ln -s ln -s ../mods-available/userdir.load + $ ln -s ln -s ../mods-available/userdir.conf + +Also CGI execution need to be activated. See +[[Dynamic Content with CGI|http://httpd.apache.org/docs/2.4/howto/cgi.html]] +in Apache's documentation. My +_/etc/apache2/mods-available/userdir.conf_ now looks as follows + + + UserDir public_html + UserDir /home/*/public_html + UserDir disabled root + + + AllowOverride FileInfo AuthConfig Limit Indexes + Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec + + Require all granted + + + Require all denied + + + + + Options +ExecCGI + AddHandler cgi-script .cgi + + + Options +ExecCGI + AddHandler cgi-script .cgi + + + +# Get preview of local modifications + +Now every thing works as work as expected. I can fetch the latest +updated to _wiki-slave_, perform my updates, and whenever those are +pushed to _origin/master_, the post-update hook makes sure that the +web version is updated. + +But what if I want to inspect and verify my local changes before +pushing them to _origin/master_? + +The subject is covered in +[[the article on Git|http://ikiwiki.info/rcs/git/]]. I did what +follows. Copy _wiki.setup_ to _wiki-preview.setup_ and edit those +fields: + + wikiname: lab-wiki-preview + srcdir: ~/lab-wiki/wiki-slave + destdir: ~/public_html/lab-wiki-preview + url: http://skolem/~/lab-wiki-preview + cgiurl: http://skolem/~/lab-wiki-preview/ikiwiki.cgi + cgi_wrapper: ~/public_html/lab-wiki-preview/ikiwiki.cgi + git_wrapper: ~/lab-wiki/wiki-slave/.git/hooks/post-commit + gitorigin_branch: '' + gitmaster_branch: master + +The idea is that the preview wiki works against wiki-slave, which is +my simulated environment for local repository. What always works now +is to, at any point, recompile/refresh the wiki: + + ikiwiki -setup ~/lab-wiki/wiki-preview.setup -refresh + +Also, committing on the local _master_ branch _should_ automatically +update the lab-wiki-preview wiki. -- cgit v1.2.3