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?
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:Error: "do" parameter missing remote:
remote:git push
.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 usingikiwiki ... --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.After fixing cgi config
, 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