aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoey Hess <joey@kodama.kitenet.net>2008-05-05 14:51:26 -0400
committerJoey Hess <joey@kodama.kitenet.net>2008-05-05 14:51:26 -0400
commit3a9dfb836118bf2255a129356a8fd401b839d7b7 (patch)
tree28f268681ae0f0a17e99c021448957a64b7da408
parenta7b8069b9dd1921275ef24752a65005c15d0868e (diff)
downloadikiwiki-3a9dfb836118bf2255a129356a8fd401b839d7b7.tar
ikiwiki-3a9dfb836118bf2255a129356a8fd401b839d7b7.tar.gz
enhancesments for shared hosting
* Add a Bundle::Ikiwiki to the source for use with CPAN to install *all* the modules ikiwiki can use. * Add a cpan directory containing a CPAN::MyConfig that can ease use of CPAN to install in a home directory on shared hosting providers. * With these changes, it's pretty easy to install onto nearlyfreespeech.net and probably other shared hosting providers like dreamhost. Added a tip page documentng the process for nearlyfreespeech.
-rw-r--r--Bundle/IkiWiki.pm34
-rw-r--r--Bundle/IkiWiki/Extras.pm33
-rw-r--r--cpan/CPAN/MyConfig.pm44
-rw-r--r--cpan/README7
-rw-r--r--debian/changelog7
-rw-r--r--doc/install.mdwn21
-rw-r--r--doc/tips/nearlyfreespeech.mdwn59
-rw-r--r--po/ikiwiki.pot2
8 files changed, 196 insertions, 11 deletions
diff --git a/Bundle/IkiWiki.pm b/Bundle/IkiWiki.pm
new file mode 100644
index 000000000..c802dcdfd
--- /dev/null
+++ b/Bundle/IkiWiki.pm
@@ -0,0 +1,34 @@
+package Bundle::IkiWiki;
+
+$VERSION = '0.01';
+
+1;
+
+__END__
+
+=head1 NAME
+
+Bundle::IkiWiki - core modules that ikiwiki needs
+
+=head1 SYNOPSIS
+
+perl -MCPAN -e 'install Bundle::IkiWiki'
+
+=head1 CONTENTS
+
+XML::Simple
+Text::Markdown
+Date::Parse
+HTML::Template
+HTNL::Scrubber
+CGI
+CGI::FormBuilder
+CGI::Session
+Mail::Sendmail
+HTML::Parser
+URI
+Data::Dumper
+
+=head1 AUTHOR
+
+Joey Hess <joey@ikiwiki.info>
diff --git a/Bundle/IkiWiki/Extras.pm b/Bundle/IkiWiki/Extras.pm
new file mode 100644
index 000000000..a9f737215
--- /dev/null
+++ b/Bundle/IkiWiki/Extras.pm
@@ -0,0 +1,33 @@
+package Bundle::IkiWiki::Extras;
+
+$VERSION = '0.01';
+
+1;
+
+__END__
+
+=head1 NAME
+
+Bundle::IkiWiki - modules used by ikiwiki plugins
+
+=head1 SYNOPSIS
+
+perl -MCPAN -e 'install Bundle::IkiWiki::Extras'
+
+=head1 CONTENTS
+
+RPC::XML
+File::MimeInfo
+Locale::gettext
+Net::OpenID::Consumer
+LWPx::ParanoidAgent
+Crypt::SSLeay
+Text::CSV
+Text::Typography
+Text::Textile
+Text::WikiFormat
+XML::Feed
+
+=head1 AUTHOR
+
+Joey Hess <joey@ikiwiki.info>
diff --git a/cpan/CPAN/MyConfig.pm b/cpan/CPAN/MyConfig.pm
new file mode 100644
index 000000000..f5dd10212
--- /dev/null
+++ b/cpan/CPAN/MyConfig.pm
@@ -0,0 +1,44 @@
+$CPAN::Config = {
+ 'auto_commit' => q[0],
+ 'build_cache' => q[10],
+ 'build_dir' => "$ENV{HOME}/.cpan/build/",
+ 'cache_metadata' => q[1],
+ 'commandnumber_in_prompt' => q[1],
+ 'cpan_home' => "$ENV{HOME}/.cpan/",
+ 'ftp' => q[ftp],
+ 'ftp_passive' => q[1],
+ 'ftp_proxy' => q[],
+ 'getcwd' => q[cwd],
+ 'gzip' => q[gzip],
+ 'histfile' => "$ENV{HOME}/.cpan/histfile/",
+ 'histsize' => q[100],
+ 'http_proxy' => q[],
+ 'inactivity_timeout' => q[0],
+ 'index_expire' => q[1],
+ 'inhibit_startup_message' => q[0],
+ 'keep_source_where' => "$ENV{HOME}/.cpan/sources/",
+ 'make' => q[make],
+ 'make_arg' => q[],
+ 'make_install_arg' => q[],
+ 'make_install_make_command' => q[make],
+ 'makepl_arg' => "PREFIX=$ENV{HOME} LIB=$ENV{HOME}/lib/perl5",
+ 'mbuild_arg' => q[],
+ 'mbuild_install_arg' => q[],
+ 'mbuild_install_build_command' => q[./Build],
+ 'mbuildpl_arg' => "-install_path lib=$ENV{HOME}/lib/perl5",
+ 'no_proxy' => q[],
+ 'pager' => q[less],
+ 'prerequisites_policy' => q[follow],
+ 'scan_cache' => q[atstart],
+ 'shell' => q[sh],
+ 'show_upload_date' => q[0],
+ 'tar' => q[tar],
+ 'term_is_latin' => q[1],
+ 'term_ornaments' => q[1],
+ 'unzip' => q[unzip],
+ 'urllist' => [],
+ 'use_sqlite' => q[0],
+ 'wget' => q[wget],
+};
+1;
+__END__
diff --git a/cpan/README b/cpan/README
new file mode 100644
index 000000000..fd189fe86
--- /dev/null
+++ b/cpan/README
@@ -0,0 +1,7 @@
+In this directory is a CPAN config file that causes it to install into the HOME
+directory, and tries to be reasonably portable. Set PERL5LIB=ikiwiki/cpan to
+use it.
+
+This is provided with ikiwiki for use on hosting providers such as
+nearlyfreespeech.net, that have CPAN but need some tweaking for it to be
+usable by a regular user.
diff --git a/debian/changelog b/debian/changelog
index 5f2f16c81..a9c10c2c8 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -15,6 +15,13 @@ ikiwiki (2.45) UNRELEASED; urgency=low
if the source file does not exist.
* git: Put -- before the filename when calling git rev-list to avoid
warning message when the file doesn't exist.
+ * Add a Bundle::Ikiwiki to the source for use with CPAN to install *all*
+ the modules ikiwiki can use.
+ * Add a cpan directory containing a CPAN::MyConfig that can ease use of
+ CPAN to install in a home directory on shared hosting providers.
+ * With these changes, it's pretty easy to install onto nearlyfreespeech.net
+ and probably other shared hosting providers like dreamhost. Added
+ a tip page documentng the process for nearlyfreespeech.
-- Joey Hess <joeyh@debian.org> Sat, 26 Apr 2008 15:09:36 -0400
diff --git a/doc/install.mdwn b/doc/install.mdwn
index 170a1d93a..e1e071201 100644
--- a/doc/install.mdwn
+++ b/doc/install.mdwn
@@ -3,17 +3,12 @@ also [[download]] the source and install it by hand. Ikiwiki should work on
most unix-like systems.
Ikiwiki is a perl program, and needs a recent version of perl such as
-5.8.8. (5.8.0 has been reported not to work).
+5.10. (5.8.0 has been reported not to work).
Ikiwiki requires the [[cpan Text::Markdown]], [[cpan URI]],
[[cpan HTML::Parser]], [[cpan HTML::Template]], and [[cpan HTML::Scrubber]]
-perl modules be installed.
-
-It also uses the following perl modules if available: [[cpan
-CGI::Session]], [[cpan CGI::FormBuilder]] (version 3.05 or newer), [[cpan
-Mail::Sendmail]], [[cpan TimeDate]], [[cpan RPC::XML]],
-[[cpan XML::Simple]], [[cpan XML::Feed]], [[cpan File::MimeInfo]],
-[[cpan Locale::gettext]] (version 1.04 or newer).
+perl modules be installed. It can also use a lot of other perl modules, if
+they are available.
It's recommended you have a C compiler, as ikiwiki uses one to build
wrappers.
@@ -30,8 +25,14 @@ perl modules using this command:
perl-XML-Simple perl-TimeDate perl-HTML-Template perl-CGI-FormBuilder \
perl-CGI-Session perl-File-MimeInfo perl-gettext
-If you want to install from the tarball, you should make sure that the
-required perl modules are installed, then run:
+If you want to install by hand from the tarball, you should make sure that
+all the perl modules are installed. This is one way to install them, using
+CPAN:
+
+ PERL5LIB=. PERL_MM_USE_DEFAULT=1 perl -MCPAN -e 'CPAN::Shell->install("Bundle::IkiWiki")'
+ PERL5LIB=. PERL_MM_USE_DEFAULT=1 perl -MCPAN -e 'CPAN::Shell->install("Bundle::IkiWiki::Extras")'
+
+Then to build and install ikiwiki:
perl Makefile.PL # PREFIX=/dir to install elsewhere
make
diff --git a/doc/tips/nearlyfreespeech.mdwn b/doc/tips/nearlyfreespeech.mdwn
new file mode 100644
index 000000000..84022f86f
--- /dev/null
+++ b/doc/tips/nearlyfreespeech.mdwn
@@ -0,0 +1,59 @@
+[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.
+
+* [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/>
+* Fund it. (Or don't. They gave me 2 cents free funding for signing up, which
+ is enough to pay for 10 megabytes of hosting, or about a thousand typical
+ page views at their current rates.)
+* `ssh` into their server using the ssh hostname and username displayed on
+ the site's information page. For me this was
+ `ssh joeyh_ikiwiki-test@ssh.phx.nearlyfreespeech.net`
+* Set up .profile to use your home directory.
+ echo "PATH=$PATH:$HOME/bin" > $HOME/.profile
+ . $HOME/.profile
+* You'll be in the htdocs directory by default, where public web pages are
+ put, so before installing ikiwiki, `cd $HOME`
+* Use `wget` to [[download]] the ikiwiki tarball.
+* Unpack ikiwiki.
+ tar zxvf ikiwiki*.tar.gz
+* Use CPAN to install the perl modules it uses into your home directory:
+ PERL5LIB=ikiwiki:ikiwiki/cpan:. PERL_MM_USE_DEFAULT=1 perl -MCPAN -e 'CPAN::Shell->install("Bundle::IkiWiki")'
+ PERL5LIB=ikiwiki:ikiwiki/cpan:. PERL_MM_USE_DEFAULT=1 perl -MCPAN -e 'CPAN::Shell->force(install => "Bundle::IkiWiki::Extras")'
+ (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, and
+ installation of some of them might fail.)
+* Now build and install ikiwiki into your home directory.
+ cd ikiwiki
+ export MAKE=gmake
+ perl Makefile.PL INSTALL_BASE=$HOME PREFIX=
+ $MAKE
+ $MAKE install
+* 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:
+ mkdir ~/wiki
+ cd ~/wiki
+ cp ~/ikiwiki/doc/ikiwiki.setup .
+ cp -r ~/ikiwiki/doc/examples/blog/* .
+ nano ikiwiki.setup
+ # Set destdir to /home/htdocs
+ # Set srcdir to /home/private/wiki
+ # Set url to http://yoursite.nfshost.com/ , set cgiurl likewise
+ # Uncomment the `rcs => "git"` line, and the cgi and git
+ # post-update wrapper blocks.
+ # Set the cgi wrapper path to /home/htdocs/ikiwiki.cgi
+ # Set the git wrapper path to /home/private/wiki.git/hooks/post-update
+ # Configure the rest to your liking and save the file.
+ ikiwiki-makerepo git . ../wiki.git
+ ikiwiki -setup ikiwiki.setup
+* Finally, you can save a _lot_ of disk space by cleaning up the ikiwiki
+ tarball and .cpan directory.
+ rm -rf ~/ikiwiki*.tar.gz ~/.cpan
+
+Have fun and do good things. --[[Joey]]
diff --git a/po/ikiwiki.pot b/po/ikiwiki.pot
index 835b2773b..8247d5887 100644
--- a/po/ikiwiki.pot
+++ b/po/ikiwiki.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2008-05-02 12:52-0400\n"
+"POT-Creation-Date: 2008-05-04 14:50-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"