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.
master
Joey Hess 2008-05-05 14:51:26 -04:00
parent a7b8069b9d
commit 3a9dfb8361
8 changed files with 196 additions and 11 deletions

34
Bundle/IkiWiki.pm 100644
View File

@ -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>

View File

@ -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>

View File

@ -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__

7
cpan/README 100644
View File

@ -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.

7
debian/changelog vendored
View File

@ -15,6 +15,13 @@ ikiwiki (2.45) UNRELEASED; urgency=low
if the source file does not exist. if the source file does not exist.
* git: Put -- before the filename when calling git rev-list to avoid * git: Put -- before the filename when calling git rev-list to avoid
warning message when the file doesn't exist. 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 -- Joey Hess <joeyh@debian.org> Sat, 26 Apr 2008 15:09:36 -0400

View File

@ -3,17 +3,12 @@ also [[download]] the source and install it by hand. Ikiwiki should work on
most unix-like systems. most unix-like systems.
Ikiwiki is a perl program, and needs a recent version of perl such as 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]], Ikiwiki requires the [[cpan Text::Markdown]], [[cpan URI]],
[[cpan HTML::Parser]], [[cpan HTML::Template]], and [[cpan HTML::Scrubber]] [[cpan HTML::Parser]], [[cpan HTML::Template]], and [[cpan HTML::Scrubber]]
perl modules be installed. perl modules be installed. It can also use a lot of other perl modules, if
they are available.
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).
It's recommended you have a C compiler, as ikiwiki uses one to build It's recommended you have a C compiler, as ikiwiki uses one to build
wrappers. wrappers.
@ -30,8 +25,14 @@ perl modules using this command:
perl-XML-Simple perl-TimeDate perl-HTML-Template perl-CGI-FormBuilder \ perl-XML-Simple perl-TimeDate perl-HTML-Template perl-CGI-FormBuilder \
perl-CGI-Session perl-File-MimeInfo perl-gettext perl-CGI-Session perl-File-MimeInfo perl-gettext
If you want to install from the tarball, you should make sure that the If you want to install by hand from the tarball, you should make sure that
required perl modules are installed, then run: 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 perl Makefile.PL # PREFIX=/dir to install elsewhere
make make

View File

@ -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]]

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \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" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"