[[!meta copyright="Copyright © 2013, 2014 Free Software Foundation, Inc."]] [[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable id="license" text="Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled [[GNU Free Documentation License|/fdl]]."]]"""]] /!\ Incomplete, but hopefully helpful for future reference. # Packages * apache2-mpm-prefork (used to be apache2-mpm-worker but changed because of some threading issues with CGI) * ikiwiki libcgi-session-perl libtext-csv-perl libcgi-formbuilder-perl libauthen-passphrase-perl libnet-openid-consumer-perl libterm-readline-gnu-perl libgravatar-url-perl librpc-xml-perl libtext-wikiformat-perl libhighlight-perl perlmagick graphviz texinfo * libemail-send-perl (for my *sendmail vs. ikiwiki* patch) * libsearch-xapian-perl xapian-omega (for ikiwiki's search plugin) * libyaml-perl libyaml-syck-perl (for ikiwiki's YAML field plugins) * libtext-markdown-perl (used instead of libtext-markdown-discount-perl) Make sure that liblwpx-paranoidagent-perl is not installed; OpenID logins with fail otherwise: *no_identity_server: Could not determine ID provider from URL*. Issue discovered on 2014-02-28, but unclear since when it did actually occur. Nothing in the apache logs. Not fixed by the update to ikiwiki 3.20140227. * gitweb highlight sudo ln -s ~hurd-web/hurd-web.git /var/lib/git/ * git-daemon-sysvinit Enable as per `/usr/share/doc/git-daemon-sysvinit/README.Debian`. Also set `GIT_DAEMON_OPTIONS=--export-all`, and `GIT_DAEMON_DIRECTORY='/var/lib/git'`. # `~hurd-web/` $ mkdir hurd-web.git && GIT_DIR=hurd-web.git git init # `~tschwinge/` /!\ TODO. $ mkdir tmp/backup && chmod 0733 tmp/backup # `/var/www/robots.txt` /!\ TODO. This file used to contain: User-agent: * Disallow: /gitweb/ Disallow: /cgi-bin/ ... which I've now changed to: User-agent: * Disallow: / The goal is that robots rather index the official pages, <http://www.gnu.org/software/hurd/>, instead of the staging area on <http://darnassus.sceen.net/~hurd-web/>. # Restore Backup /!\ TODO. ## `/etc/apache2/mods-enabled/` `rewrite.load`, `userdir.conf`, `userdir.load` # IRC, freenode, #hurd, 2013-02-09 <tschwinge> We need an httpd (Apache used to work), and ikiwiki and some such stuff. <tschwinge> This has its own git repository. <tschwinge> This was on a separate virtual machine. <tschwinge> Then there was the Git repository on flubber used for people to push to. <tschwinge> Ho -- let me actually try to remember the setup. Has been some years... <braunr> what machine currently hosts the wiki ? <tschwinge> Anyway, there is no requirement for the web server to be on a separate machine; your decision. <tschwinge> braunr: http://www.gnu.org/software/hurd/public_hurd_boxen.html <tschwinge> snubber <tschwinge> That was the web server. <braunr> isn't it gnu.org ? <tschwinge> And flubber had the repository for developers to push to. <tschwinge> No, gnu.org is updated manually (by me). <braunr> ah <tschwinge> It'S a snapshot of the wiki so to say. <braunr> ok so, is this wiki really meant to be modifiable from a browser ? <tschwinge> http://www.gnu.org/software/hurd/contributing/web_pages.html#index5h2 <tschwinge> Yes. <braunr> i see <tschwinge> I should still be able to access the data from Barry's zenhost (including all the VMs it hosted), so I should be able to replicate that quite easily. <braunr> do you think it could be hosted on darnassus, or would you like a separate vm ? <tschwinge> The repository for people to push to and pull from (used to be on flubber) would be on darnassus now. <tschwinge> About the web server, hmm. <tschwinge> It's basically a security concern. <tschwinge> And it might get hammered by bots from time to time. <braunr> it won't need much resources i suppose <tschwinge> No. The web server (snubber) was running with 242 MiB of RAM, and had uptimes of several weeks typically. <braunr> tschwinge: otherwise, could it use the web server running on the host ? <tschwinge> The host being darnassus? <braunr> no <braunr> shattrath, the linux system <tschwinge> Ah. <tschwinge> Sure. <tschwinge> There is no requirement this to be a Hurd system -- was just nice to show to people. <braunr> i think it is too <braunr> what's the problem with darnassus ? <braunr> yçou mentioned security <tschwinge> The web server being a public-facing component which might be broken into. <braunr> how ? <braunr> it's so much easier to just ask for an account .. :) <tschwinge> Web server bugs, CGI script bugs, etc. <tschwinge> Sure. <tschwinge> I just wanted to make you aware of it. :-) <braunr> oh don't worry <braunr> ok so darnassus it is <pinotree> was it running apache? maybe, if other (lighter?) web servers are tested to work on hurd, they could be used <tschwinge> pinotree: Yes, and yes. <braunr> doesn't ikiwiki need php ? <tschwinge> Only requirement (I think) is abaility to run CGI scripts. <tschwinge> braunr: No. It's written in perl. <braunr> ok <braunr> i still think i'll use apache <braunr> it's really not that heavy <braunr> lighter servers matter when the number of concurrent clients get very high <tschwinge> Then I'll figure out how exactly the setup was between flubber and snubber. <braunr> ok <braunr> it's good to finally get that going :) <tschwinge> braunr: Of course ;-) -- I had some parts of the process documented: http://www.gnu.org/software/hurd/public_hurd_boxen/installation/snubber.html <tschwinge> If both Git repositories are to be on the same machine (darnassus) we might not actually need inetutils-inetd and netcat. <tschwinge> Still trying to figure out what I had done there... ;-) <tschwinge> OK, I again understand the setup. Last been touched in the 2008/2009 timeframe. ;-) <braunr> :) <tschwinge> braunr: Please use the following ikiwiki packages: dpkg -i ~tschwinge/tmp/ikiwiki_3.20110608_all.deb <braunr> what makes this package special ? <tschwinge> Some patch that I added to get rendering of our news pages correct. <braunr> ok <tschwinge> I have not updated it ever since (and the patch was not yet in a suitable form for upstream). <tschwinge> Nothing major. <braunr> tschwinge: why is the ikiwiki package status hi ? <tschwinge> braunr: I set it to hold. <braunr> ah ok <braunr> so you finished your pat i suppose <braunr> i'll install apache <braunr> part* <tschwinge> I'll add a hurd-web user. <tschwinge> So... I actually have to locate a backup of the files from flubber related to the wiki, * tschwinge goes searching his backup devices. <braunr> i added userdirs on darnassus' apache <tschwinge> braunr: I just noticed when I wanted to add it myself. ;-) <tschwinge> braunr: Do you know about CGI scripts? <braunr> yes <tschwinge> braunr: snubber had these in /var/www/cgi-bin/; darnassus now in /usr/lib/cgi-bin/. <tschwinge> ikiwiki needs to install one CGI script. <braunr> ok <tschwinge> Does this go into /usr/lib/cgi-bin/ then? Or into ~hurd-web/ and a symlink somewhere? <braunr> ikiwiki should have installed it where it's appropriate <braunr> normally in /usr/lib/cgi-bin/ <tschwinge> It's a CGI script that is generated per ikiwiki instance, so specific to hurd-web. <braunr> where does it install it by default ? <tschwinge> $PWD ;-) <braunr> ah <braunr> it seems a bit silly to me to generate cgi scripts :/ <braunr> i don't care much actually, we won't have virtual servers <braunr> so anywhere is fine <tschwinge> What does the +SymLinksIfOwnerMatch Apache option mean? <braunr> apache will normally not follow symlink <braunr> unless the owner of the symlink is the same as the target's <braunr> (with this option) <tschwinge> That's enabled for CGI scripts. So would it work to have a symlink /usr/lib/cgi-bin/hurd-web.cgi -> ~hurd-web/hurd-web.cgi? <braunr> the traditional way to access cgi scripts is to explicitely refer to them as http://server/cgi-bin/script <braunr> using *.cgi may allow too open access to cgis <braunr> (although normally, the userdir conf should disable them) <braunr> hm not sure it does <braunr> so put it in /usr/lib/cgi-bin/ <tschwinge> So the hurd-web ikiwiki instance just needs to be configured accordingly with the URL where the CGI script will be found, and then it will render the pages accordingly. <tschwinge> OK. <braunr> and just named hurd-web ## IRC, freenode, #hurd, 2013-02-10 <tschwinge> http://darnassus.sceen.net/~hurd-web/ <tschwinge> Have at it! <tschwinge> braunr: ^ <braunr> :) <braunr> great <tschwinge> And push to/pull from darnassus:~hurd-web/hurd-web.git for Git access. <tschwinge> Will update the web pages tomorrow, and all that. <tschwinge> braunr: And also install gitweb on darnassus, so one can view diffs of the wiki pages, etc. OK? <braunr> tschwinge: there are still links towards bddebian <braunr> history for example <braunr> just fyi, we can look at this tomorrow <tschwinge> braunr: Yes, that'S what I need gitweb for. <tschwinge> braunr: gitweb installed, hurd-web URLs fixed (s%bddebian%darnassus), also some more ikiwiki-related Perl pacakges installed (openID login, for example).