--- title: Create a Fripost wiki preview ... This article describes how to set up preview of Friposts wiki. **Table of contents** [[!toc]] The setup will produce the following layout: ``` Bare remote Git repository (git.fripost.org:fripost-wiki.git) | | Library and config Repository for Local Edits (~/.ikiwiki/) (~/git/fripost/wiki) | | +---------+ | | Ikiwiki | The Preview Ikiwiki Web Part -----| Pandoc | (~/public_html/fripost-wiki) | Plugins | | +---------+ +------------+ +---------+ | Web server | ---- | Browser | +------------+ +---------+ ``` Where *~/git/fripost/wiki* is a local git repository with remote tracking of Fripost's origin remote wiki repository *git.fripost.org:fripost-wiki.git*. The local preview version will reside in *~/public_html/fripost-wiki*. Eventually it will be accessed by pointing the browser to *http://fripost.localhost* and *http://wiki.fripost.localhost* respectively. The wiki configuration *~/.ikiwiki/fripost-wiki.setup* will be only minor modifications of Friposts wiki configuration. The guide assumes Debian stable. This is the overview of software needed: * Git -- from Debian * Ikiwiki -- from Debian * Pandoc -- from Debian * Some Ikiwiki plugins (e.g. for Pandoc) which will be provided from Fripost's configuraiton * Nginx -- webserver from Debian Install and configure Git ========================= Refer to [Git och Fripost](git_och_fripost) for installation instructions. You will need the following repositories: * * Clone with SSH if you want to edit, which will require you to provide a public key to Fripost administrators. Below snippets assume: git clone https://git.fripost.org/fripost-ansible ~/git/fripost/ansible git clone https://git.fripost.org/fripost-wiki ~/git/fripost/wiki Install and configure Ikiwiki, Pandoc and plugins ================================================= Refer to [ikiwiki setup](https://ikiwiki.info/setup/) at [ikiwiki's official website](https://ikiwiki.info) for initial install and configuration and [an article on Git](https://ikiwiki.info/rcs/git/) for more details on setting up Ikiwiki together with Git. Install packages referred to in the Ansible configuration: sudo apt install \ ikiwiki \ libauthen-passphrase-perl \ highlight-common libhighlight-perl libimage-magick-perl \ libmail-sendmail-perl libnet-dns-sec-perl \ fcgiwrap spawn-fcgi \ pandoc \ clamdscan Copy Ikiwiki configuration from Fripost Ansible repository: mkdir -p ~/public_html/fripost-wiki ~/.ikiwiki cp -r ~/git/fripost/ansible/roles/wiki/files/var/lib/ikiwiki/* ~/.ikiwiki Modify the configuration *~/.ikiwkik/fripost-wiki.setup* according to the below (inspect */tmp/fripost-wiki.sed*): ``` cat < ~/.ikiwiki/fripost-wiki.setup ``` *TODO investegate what to do with post update thing.* Run setup: $ ikiwiki --setup ~/.ikiwiki/fripost-wiki.setup Install and conifgure Nginx and host files ========================================== Fripost uses [Nginx](http://nginx.org/en/docs/). For installation and configuration follow [Ikiwiki on Dot CGI](https://ikiwiki.info/tips/dot_cgi/). Note the alexjj comment that on Debian the package *fcgiwrap* automatically spwans the FastCGI program. sudo apt install nginx The follwing will configure *http://wiki.fripost.localhost* and *http://fripost.localhost*: ``` cat < /tmp/hosts # Fripost wiki preview setup 127.0.1.1 wiki.fripost.localhost fripost.localhost ::1 wiki.fripost.localhost fripost.localhost EOF grep -q wiki.fripost.localhost /etc/hosts \ || { sudo cp /etc/hosts /etc/hosts.bac_$(date +%Y%m%d) \ && sudo sed -i '$ r /tmp/hosts' /etc/hosts ; } ``` Alternatives to Nginx include Apache. Fripost wiki used include configuration for Apache, but these are not maintained any longer. Brows this repository history for sample configurations. Refresh wiki ============ Now all is in place! Visit . Use the following commands to refresh or fully rebuild the wiki: ``` ikiwiki --setup ~/.ikiwiki/fripost-wiki.setup --refresh ikiwiki --setup ~/.ikiwiki/fripost-wiki.setup --rebuild ``` Happy hacking!