2008-05-05 20:51:26 +02:00
|
|
|
[NearlyFreeSpeech.net](http://NearlyFreeSpeech.net) is a shared hosting
|
|
|
|
provider with very cheap pay as you go pricing. Here's how to install ikiwiki
|
|
|
|
there if you don't have a dedicated server.
|
|
|
|
|
2008-05-08 05:51:01 +02:00
|
|
|
Note that you can also follow these instructions, get your wiki set up on
|
|
|
|
NearlyFreeSpeech, and then use the [[plugins/Amazon_S3]] plugin to inject
|
|
|
|
the static web pages into Amazon S3. Then NearlyFreeSpeech will handle the
|
|
|
|
CGI, and S3 will handle the web serving. This might be a more cost effective,
|
|
|
|
scalable, or robust solution than using NearlyFreeSpeech alone.
|
|
|
|
|
2008-05-05 21:03:38 +02:00
|
|
|
## Register for an account and set up a site
|
2008-05-05 20:58:21 +02:00
|
|
|
|
|
|
|
After you [get an account](https://www.nearlyfreespeech.net/about/start.php),
|
|
|
|
create a site using their web interface.
|
|
|
|
|
|
|
|
Mine is named `ikiwiki-test` and I used their DNS instead of getting my
|
|
|
|
own, resulting in <http://ikiwiki-test.nfshost.com/>
|
|
|
|
|
|
|
|
They gave me 2 cents free funding for signing up, which is enough to pay
|
2008-05-06 00:59:20 +02:00
|
|
|
for 10 megabytes of bandwidth, or about a thousand typical page views, at
|
2008-05-05 21:03:38 +02:00
|
|
|
their current rates. Plenty to decide if this is right for you. If it is,
|
|
|
|
$5 might be a good starting amount of money to put in your account.
|
2008-05-05 20:58:21 +02:00
|
|
|
|
|
|
|
## ssh in and configure the environment
|
|
|
|
|
|
|
|
ssh into their server using the ssh hostname and username displayed on
|
2008-05-05 21:03:38 +02:00
|
|
|
the site's information page. For me this was:
|
2008-05-05 20:53:31 +02:00
|
|
|
|
|
|
|
ssh joeyh_ikiwiki-test@ssh.phx.nearlyfreespeech.net
|
2008-05-05 20:58:21 +02:00
|
|
|
|
|
|
|
Now set up .profile to run programs from ~/bin.
|
2008-05-05 20:53:31 +02:00
|
|
|
|
2008-05-05 21:03:38 +02:00
|
|
|
cd $HOME
|
2008-05-05 20:58:21 +02:00
|
|
|
echo "PATH=$PATH:$HOME/bin" > .profile
|
|
|
|
. .profile
|
2008-05-05 20:53:31 +02:00
|
|
|
|
2008-05-05 20:58:21 +02:00
|
|
|
## Download an unpack ikiwiki
|
2008-05-05 20:53:31 +02:00
|
|
|
|
2008-05-05 20:58:21 +02:00
|
|
|
Use `wget` to [[download]] the ikiwiki tarball. Then unpack it:
|
2008-05-05 20:53:31 +02:00
|
|
|
|
2008-05-05 20:51:26 +02:00
|
|
|
tar zxvf ikiwiki*.tar.gz
|
2008-05-05 20:53:31 +02:00
|
|
|
|
2008-05-05 20:58:21 +02:00
|
|
|
## Install perl modules
|
|
|
|
|
2008-05-08 06:20:49 +02:00
|
|
|
As an optional step, you can use CPAN to install the perl modules ikiwiki
|
|
|
|
uses into your home directory. This should not be necessary, mostly,
|
|
|
|
because the system has most modules installed already.
|
|
|
|
|
|
|
|
So, you might want to skip this step and come back to it later if ikiwiki
|
|
|
|
doesn't work.
|
2008-05-05 20:53:31 +02:00
|
|
|
|
2008-05-06 02:12:06 +02:00
|
|
|
PERL5LIB=`pwd`/ikiwiki:`pwd`/ikiwiki/cpan:`pwd`/lib/perl5 PERL_MM_USE_DEFAULT=1 perl -MCPAN -e 'CPAN::Shell->install("Bundle::IkiWiki")'
|
2008-05-06 02:22:10 +02:00
|
|
|
|
2008-05-06 02:12:06 +02:00
|
|
|
PERL5LIB=`pwd`/ikiwiki:`pwd`/ikiwiki/cpan:`pwd`/lib/perl5 PERL_MM_USE_DEFAULT=1 perl -MCPAN -e 'CPAN::Shell->force(install => "Bundle::IkiWiki::Extras")'
|
2008-05-05 20:53:31 +02:00
|
|
|
|
2008-05-06 02:12:06 +02:00
|
|
|
This will take a while. As long as the first command succeeds, ikiwiki will be
|
|
|
|
usable. The second command adds extra modules that some plugins use, so it's
|
2008-05-06 02:22:10 +02:00
|
|
|
ok if installation of some of them fail.
|
2008-05-05 20:58:21 +02:00
|
|
|
|
|
|
|
## Build and install ikiwiki
|
2008-05-05 20:53:31 +02:00
|
|
|
|
2008-05-05 20:51:26 +02:00
|
|
|
cd ikiwiki
|
|
|
|
export MAKE=gmake
|
|
|
|
perl Makefile.PL INSTALL_BASE=$HOME PREFIX=
|
|
|
|
$MAKE
|
|
|
|
$MAKE install
|
2008-05-05 20:53:31 +02:00
|
|
|
|
2008-05-05 21:17:44 +02:00
|
|
|
## Set up a wiki in the usual way
|
2008-05-05 20:58:21 +02:00
|
|
|
|
|
|
|
With ikiwiki installed, you can follow the regular [[setup]] tutorial for
|
|
|
|
settng up your wiki. Make sure to set `destdir` to `/home/htdocs/` so that
|
|
|
|
the wiki is published on the web site. I recommend using git for revision
|
|
|
|
control; you can then clone your wiki's git repository as an offsite backup.
|
|
|
|
|
|
|
|
Here is an example of how I set up a wiki:
|
2008-05-05 20:53:31 +02:00
|
|
|
|
2008-05-05 20:51:26 +02:00
|
|
|
mkdir ~/wiki
|
|
|
|
cd ~/wiki
|
|
|
|
cp -r ~/ikiwiki/doc/examples/blog/* .
|
2008-07-27 04:55:39 +02:00
|
|
|
ikiwiki -dumpsetup ikiwiki.setup
|
2008-05-05 20:51:26 +02:00
|
|
|
nano ikiwiki.setup
|
|
|
|
# Set destdir to /home/htdocs
|
|
|
|
# Set srcdir to /home/private/wiki
|
2008-12-29 04:03:34 +01:00
|
|
|
# Set url to http://yoursite.nfshost.com/
|
|
|
|
# Set cgiurl to http://yoursite.nfshost.com/ikiwiki.cgi
|
2008-07-27 04:55:39 +02:00
|
|
|
# Uncomment the `rcs => "git"` line.
|
|
|
|
# Set the cgi_wrapper path to /home/htdocs/ikiwiki.cgi
|
|
|
|
# Set the git_wrapper path to /home/private/wiki.git/hooks/post-update
|
2008-05-05 20:51:26 +02:00
|
|
|
# Configure the rest to your liking and save the file.
|
|
|
|
ikiwiki-makerepo git . ../wiki.git
|
|
|
|
ikiwiki -setup ikiwiki.setup
|
2008-05-05 20:53:31 +02:00
|
|
|
|
2008-05-05 20:58:21 +02:00
|
|
|
## Clean up
|
|
|
|
|
|
|
|
Finally, you can save a _lot_ of disk space by cleaning up the ikiwiki
|
2008-05-05 21:39:36 +02:00
|
|
|
tarball and .cpan directory and a few other peices of cruft. Since you'll be
|
|
|
|
charged one cent per month per megabyte, this is a quick way to save several
|
|
|
|
dollars.
|
2008-05-05 20:58:21 +02:00
|
|
|
|
2008-05-05 21:39:36 +02:00
|
|
|
rm -rf ~/ikiwiki*.tar.gz ~/.cpan ~/ikiwiki ~/man ~/lib/perl5/5.8.8
|
|
|
|
|
2008-05-08 06:20:49 +02:00
|
|
|
That should cut things down to less than 2 megabytes. If you want to save
|
2008-05-05 21:39:36 +02:00
|
|
|
even more space, delete unused perl modules from ~/lib/perl5
|
2008-05-05 20:53:31 +02:00
|
|
|
|
2008-05-05 20:58:21 +02:00
|
|
|
## Enjoy!
|
2008-05-05 20:51:26 +02:00
|
|
|
|
|
|
|
Have fun and do good things. --[[Joey]]
|