Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

DuckDuckGo Community Platform

branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 docs
Octocat-spinner-32 lib
Octocat-spinner-32 root
Octocat-spinner-32 script
Octocat-spinner-32 share
Octocat-spinner-32 t
Octocat-spinner-32 templates
Octocat-spinner-32 .gitignore
Octocat-spinner-32 Changes
Octocat-spinner-32 README
Octocat-spinner-32 ddgc_web.psgi
Octocat-spinner-32 dist.ini
README
DuckDuckGo Community Platform Repository
========================================

In order to test this application on your own machine you require Perl installed, which is the 
case on nearly all Unix Systems. We don't suggest trying to install on Windows, cause we don't 
test our application on other platforms. The platform itself is only tested and deployed always
on Debian stable. You need some packages on debian to install all Perl modules proper, just 
execute this as root:

  apt-get install build-essential libgd2-xpm-dev libssl-dev git wget
  
If you don't have any Debian stable system, you might consider installing VMware or Virtualbox.

For VMware you can find an image for debian here:

  http://www.thoughtpolice.co.uk/vmware/#debian6.0

Normally you can also try to use it on Ubuntu or other debian related unix systems, cause in
nearly all cases this is not a problem, but we can't assure you anything.

==============================================================================================

NOW WE DONT NEED ROOT ANYMORE!!!! DO ANYTHING ELSE WITH YOUR USERACCOUNT IN YOUR USERSPACE!!!!
NOW WE DONT NEED ROOT ANYMORE!!!! DO ANYTHING ELSE WITH YOUR USERACCOUNT IN YOUR USERSPACE!!!!
NOW WE DONT NEED ROOT ANYMORE!!!! DO ANYTHING ELSE WITH YOUR USERACCOUNT IN YOUR USERSPACE!!!!

==============================================================================================

The complete procedure can take some time, cause Perl normally runs the test for all modules
that you install to assure the modules works for your system. On an atom processor system with
linux the complete procedure could take 2-3 hours. But after this you got nearly all modern
Perl modules installed.

We need to install local::lib, best is just following this instructions:

  wget http://cpan.cpantesters.org/authors/id/A/AP/APEIRON/local-lib-1.008004.tar.gz
  tar xvzf local-lib-1.008004.tar.gz
  cd local-lib-1.008004
  perl Makefile.PL --bootstrap
  make test && make install

After this you need to configure your shell to include the proper environment variables for
local::lib, you can do this for bash with this command:

  echo 'eval $(perl -I$HOME/perl5/lib/perl5 -Mlocal::lib)' >>~/.bashrc

Best is now to relogin(!!!!) to be sure the variables are set, you can check it with this command:

  set | grep PERL5
  
You should get back some variable, if not, then you did something wrong ;). If you see the
variables, then you did anything proper and can now install Perl modules in your local
userspace. We now install first another CPAN client to install the modules:

  cpan App::cpanminus
  
After this you got the new command "cpanm" which is a much nicer way to install modules, we
need a small bunch of base modules to get our stuff best done:

  cpanm Dist::Zilla Catalyst::Devel

It could be that you probably have errors on the first run which you don't saw, just redo the
command after you are done to see if all was errorfree or to see the errors more clean. Sadly
sometimes it could be that you get an error about packages which weren't downloaded proper,
then just redo the command on errors like "unexpected end of file", it should work on another
run. If there are still problems left you can visit us on IRC (irc.freenode.net #duckduckgo)
or add an issue to the issue tracker of this repository.

Now you can clone the repository of the platform:

  git clone git://github.com/duckduckgo/community-platform.git
  
Then inside the repository you can install the requirements for authors and the requirements
of the distribution itself:

  cd community-platform
  cpanm $( dzil authordeps --missing )
  cpanm $( dzil listdeps --missing )
  
WARNING!!!! Check for errors! If you don't have the overview, just redo both cpanm commands,
and you can see the errors more clear! As mentioned above, it could be just a bad mirror.
  
When all requirements are installed we can deploy a small test setup for the environment.
The command will install the required data in ~/ddgc. If you get a newer version you should
delete this directory and redo the command:

  script/ddgc_deploy_dev.pl

And now you can start the web application with:

  script/ddgc_web_server.pl -r -d
  
-r means that it reloads on changes, and the -d means to activate the debugging.

The installed database includes a login "testone" with password "testpass"

If you want to make modification and help us on development, you should fork our repository
on github and send us pull requests! But best is if you get into contact with us on IRC
before: irc.freenode.net #duckduckgo or via the webchat linked in the DuckDuckGo header
menu.

Have fun!!!!!!!!

P.S.: STILL IN DEVELOPMENT!!!! 8-)
Something went wrong with that request. Please try again.