I set up a local Ikiwiki following the instruction on manually installing. However, when I Git push, I see the following

$ git push
Counting objects: 22, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (22/22), done.
Writing objects: 100% (22/22), 2.71 KiB | 0 bytes/s, done.
Total 22 (delta 14), reused 0 (delta 0)
remote: Died at /usr/share/perl5/IkiWiki/CGI.pm line 491.
remote: Content-type: text/html
remote: 
remote: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
<skip>

where the content at the bottom of the console printout is actually the content of my rootdir/index.mdwn. And the destination, i.e. the deployed web documents is not automatically updated reflecting the commits I pushed to Git repo. Any idea?

I'm using ikiwiki version 3.20150107 on Ubuntu Linux 14.0.4 LTS.

From looking at line 491 of CGI.pm, the returned content should include some information about the error that occurred, is this the case?

Otherwise, what happens when you try to build the wiki manually?

Comment by cbaines Sun Mar 1 06:45:47 2015

Building manually seems to generate a functioning output web site. I can't see any obvious error in the result or the console output when running ikiwiki.

The complete console output for running git push from the source dir is: Counting objects: 33, done. Delta compression using up to 4 threads. Compressing objects: 100% (32/32), done. Writing objects: 100% (33/33), 11.62 KiB | 0 bytes/s, done. Total 33 (delta 15), reused 0 (delta 0) remote: Died at /usr/share/perl5/IkiWiki/CGI.pm line 491. remote: Content-type: text/html remote: remote: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" remote: "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> remote: remote: remote: remote: remote: remote: remote: remote: remote: remote: Error remote: remote: remote: remote: remote: remote: remote: remote: remote: remote: remote: remote: remote:

remote: remote: remote: remote: remote: remote:
remote: remote:
remote:

Error: "do" parameter missing remote:

remote:
remote: remote: remote: remote:
remote: remote: remote: remote:
remote: remote: remote:

Comment by Qi Tue Mar 10 02:01:06 2015
See here for the complete console output when I ran git push.
Comment by Qi Tue Mar 10 02:09:10 2015

It looks as though either your git hook is running ikiwiki with '--cgi', or you have cgi: true (or equivalent Perl) in the setup file, or you generated the git hook using ikiwiki ... --cgi --wrappers or similar. This is not correct: cgi: true does not mean "enable CGI", it means "always run in CGI mode", which is not what is desired.

Comment by smcv Tue Mar 10 04:56:46 2015

After fixing cgi config

git_wrapper: '/home/qazwsx/space-pages/repo.git/hooks/post-update'
cgi_wrapper: '/home/qazwsx/public_html/space-pages/ikiwiki.cgi'

, rebuilding, modifying some .md file, git commit & push, it now works.

The git wrapper is the executable that lives in your git repository, and is used to accept git pushes. The cgi wrapper is the executable that is visible by your web server, and is run by the web server when requests come in from the web

Comment by Qi Tue Mar 10 11:40:34 2015