[ckan-dev] CKAN 1.5 .deb Packaging Update
James Gardner
james at 3aims.com
Tue Nov 15 11:45:08 UTC 2011
Hi Pascal,
Great that you gave it a go but I'm afraid the packaging approach is
*only* for Ubuntu 10.04. I can see that your install has Python 2.7 so
it must be a different version of Ubuntu. Which version are you using?
Cheers,
James
On 14/11/11 20:54, p.romain at cg33.fr wrote:
> Hi,
>
> I tried to follow the installation process on a ubuntu laptop and on a
> ubuntu virtual box and I was not able to deploy a ckan instance in
> both cases
>
> I have the following error message after running the following command
> sudo ckan-create-instance test test.ckan.net yes
> ...
> Making sure PostgreSQL is running ...
> * Starting PostgreSQL 8.4 database
> server
> [ OK ]
> * Starting PostgreSQL 9.1 database
> server
> [ OK ]
> Setting the password of the test user in PostgreSQL
> Creating the test user ...
> CREATE ROLE
> Creating/overwriting the config for CKAN ...
> Distribution already installed:
> ckan 1.5 from /usr/lib/pymodules/python2.7
> Creating /etc/ckan/test/test.ini
> Now you should edit the config files
> /etc/ckan/test/test.ini
> Ensuring the test database exists ...
> Overwriting the existing Apache config ...
> Performing any database upgrades ...
>
> Traceback (most recent call last):
> File "/usr/bin/paster", line 18, in <module>
> command.run()
> File "/usr/lib/python2.7/dist-packages/paste/script/command.py",
> line 84, in run
> invoke(command, command_name, options, args[1:])
> File "/usr/lib/python2.7/dist-packages/paste/script/command.py",
> line 123, in invoke
> exit_code = runner.run(args)
> File "/usr/lib/python2.7/dist-packages/paste/script/command.py",
> line 218, in run
> result = self.command()
> File "/usr/lib/pymodules/python2.7/ckan/lib/cli.py", line 82, in command
> self._load_config()
> File "/usr/lib/pymodules/python2.7/ckan/lib/cli.py", line 43, in
> _load_config
> load_environment(conf.global_conf, conf.local_conf)
> File "/usr/lib/pymodules/python2.7/ckan/config/environment.py", line
> 111, in load_environment
> model.init_model(engine)
> File "/usr/lib/pymodules/python2.7/ckan/model/__init__.py", line 45,
> in init_model
> version_table = Table('migrate_version', metadata, autoload=True)
> File "/usr/lib/pymodules/python2.7/ckan/sqlalchemy/schema.py", line
> 210, in __new__
> table._init(name, metadata, *args, **kw)
> File "/usr/lib/pymodules/python2.7/ckan/sqlalchemy/schema.py", line
> 266, in _init
> reflecttable(self, include_columns=include_columns)
> File "/usr/lib/pymodules/python2.7/ckan/sqlalchemy/engine/base.py",
> line 1859, in reflecttable
> conn = self.contextual_connect()
> File "/usr/lib/pymodules/python2.7/ckan/sqlalchemy/engine/base.py",
> line 1829, in contextual_connect
> self.pool.connect(),
> File "/usr/lib/pymodules/python2.7/ckan/sqlalchemy/pool.py", line
> 182, in connect
> return _ConnectionFairy(self).checkout()
> File "/usr/lib/pymodules/python2.7/ckan/sqlalchemy/pool.py", line
> 369, in __init__
> rec = self._connection_record = pool.get()
> File "/usr/lib/pymodules/python2.7/ckan/sqlalchemy/pool.py", line
> 213, in get
> return self.do_get()
> File "/usr/lib/pymodules/python2.7/ckan/sqlalchemy/pool.py", line
> 732, in do_get
> con = self.create_connection()
> File "/usr/lib/pymodules/python2.7/ckan/sqlalchemy/pool.py", line
> 147, in create_connection
> return _ConnectionRecord(self)
> File "/usr/lib/pymodules/python2.7/ckan/sqlalchemy/pool.py", line
> 253, in __init__
> self.connection = self.__connect()
> File "/usr/lib/pymodules/python2.7/ckan/sqlalchemy/pool.py", line
> 319, in __connect
> connection = self.__pool._creator()
> File
> "/usr/lib/pymodules/python2.7/ckan/sqlalchemy/engine/strategies.py",
> line 82, in connect
> return dialect.connect(*cargs, **cparams)
> File
> "/usr/lib/pymodules/python2.7/ckan/sqlalchemy/engine/default.py", line
> 249, in connect
> return self.dbapi.connect(*cargs, **cparams)
> sqlalchemy.exc.OperationalError: (OperationalError) FATAL: la base de
> donn?es << test >> n'existe pas
> None None
>
> It looks like the PostgreSQL database is not setup correctly.
> Am I missing something obvious.
>
> Regards,
> Pascal Romain
>
> -----ckan-dev-bounces at lists.okfn.org a écrit : -----
>
> A : CKAN Development Discussions <ckan-dev at lists.okfn.org>
> De : James Gardner
> Envoyé par : ckan-dev-bounces at lists.okfn.org
> Date : 14/11/2011 14:10inst
> Objet : [ckan-dev] CKAN 1.5 .deb Packaging Update
>
> Hi all,
>
> The release of CKAN 1.5 brought with it a new approach to Debian
> packaging involving virtual environments based on the feedback
> from the
> community meeting. The new docs for installing CKAN 1.5 from packages
> are here:
>
>
> http://docs.ckan.org/docs/ckan/en/ckan-1.5/install-from-package.html#run-the-package-installer
>
> In case you don't want to read the full docs I'll just take you
> through
> the key steps here. As always, this only works on Ubuntu 10.04.
>
> Let's say we have created a CKAN instance called "test" like this:
>
> sudo apt-get update
> sudo apt-get install -y wget
> echo "deb http://apt.okfn.org/ckan-1.5 lucid universe" | sudo
> tee
> /etc/apt/sources.list.d/okfn.list
> wget -qO- "http://apt.okfn.org/packages_public.key" | sudo
> apt-key
> add -
> sudo apt-get update
> sudo apt-get install -y ckan postgresql-8.4 solr-jetty
> sudo ckan-setup-solr
> sudo ckan-create-instance test test.ckan.net yes
>
> In order to run paster commands that use the test instance's
> virtualenv
> you'll need to install pastescript into the virtualenv too:
>
> sudo -u ckantest /var/lib/ckan/dguuklp/pyenv/bin/pip install
> --ignore-installed pastescript
>
> You can now install custom extensions for this instance like this:
>
> sudo -u ckantest /var/lib/ckan/test/pyenv/bin/pip install
> <name-of-extension>
>
> Notice that you have to run everything as the ckantest user that was
> created for you and that each command must use the full paths to the
> scripts in the test instance's virtual environment.
>
> Any time you make a change you can let Apache know like this:
>
> sudo touch /var/lib/ckan/std/wsgi.py
>
> Then you must *force* refresh your browser to see changes (since CKAN
> tells it to cache its pages by default).
>
> One other thing that is worth pointing out (and that isn't covered in
> the docs) is that because multiple CKAN instances on the same
> server are
> now supported you have a different database and database user for
> each
> instance. If you want to load one database dump into another
> database,
> you therefore have to change the ownership of the tables to match the
> instance. I've written some simple SQL to help. Here's a brief
> tutorial
> to show how to restore a database dump to a different instance...
>
> Let's copy a database dump from the "live" database to our new
> instance
> called "test" for testing.
>
> 1. First stop Apache so there are no active database connections:
>
> sudo /etc/init.d/apache2 stop
>
> 2. Drop the old database and restore the new one (setting up the
> plpgsql
> language as you do):
>
> sudo -u postgres dropdb test
> sudo -u postgres createdb test
> sudo -u postgres createlang plpgsql test
> sudo -u postgres psql test -f to_restore.pg_dump
>
> 3. Change the table permissions (in this case the old instance
> name was
> called live, the new one is test)@
>
> sudo -u postgres psql test
>
> Then from the psql command line interface run:
>
> begin;
> CREATE OR REPLACE FUNCTION changeowner(text, text)
> RETURNS TEXT STRICT VOLATILE AS '
> DECLARE
> old ALIAS FOR $1;
> new ALIAS FOR $2;
> rel record;
> sql text;
> BEGIN
> FOR rel IN select * from pg_tables where tableowner=old
> LOOP sql := ''ALTER TABLE "'' || rel.tablename || ''" OWNER
> to ''
> || new;
> RAISE NOTICE ''%'', sql;
> EXECUTE sql;
> END LOOP;
> RETURN ''OK'';
> END;
> ' LANGUAGE 'plpgsql';
> SELECT changeowner('live', 'test');
> commit;
> \q
>
> You will need to change the call to changeowner('live', 'test'); to
> reflect the old and new names of the database owner. Now your test
> instance has the correct permissions.
>
> Once you've changed the database, you'll also need to re-build the
> Solr
> search index (this can take an hour or two if there is a lot of data):
>
> sudo -u ckantest /var/lib/ckan/test/pyenv/bin/paster
> --plugin=ckan
> search-index rebuild --config=/etc/ckan/test/test.ini
>
> Notice that you are using the full path to the paster within the
> virtual
> environment (so that it has access to the extensions you
> installed) and
> that you are running as the ckantest user.
>
> As well as being able to use the new CKAN packaging, you might be
> interested to know that with this release, the work of building
> the CKAN
> packages is no longer soley in the domain of the OKF. I've written a
> quick blog post here about how the newly released packages were built
> with buildkit automatically from Python code here:
>
> http://ckan.org/2011/11/14/building-ckan-debian-packages/
>
> The script that does the actual building is linked below:
>
> https://bitbucket.org/okfn/ckan/src/release-v1.5/build.sh
>
> Using this script it should be possible for anyone who fancies it to
> build unofficial CKAN packages, you don't have to use the official
> OKF
> ones. There is also some documentation for those of you who are
> interested here:
>
>
> http://packages.python.org/buildkit/manual.html#example-building-and-testing-the-ckan-package-install
>
> You can get hold of buildkit here:
>
> http://pypi.python.org/pypi/buildkit/0.2.0
> git clone git://git.3aims.com/buildkit
>
> Hope that's a useful introduction. You should read the docs linked to
> for full information, but do let me know if you have any questions.
>
> Cheers,
>
> James
>
>
>
> _______________________________________________
> ckan-dev mailing list
> ckan-dev at lists.okfn.org
> http://lists.okfn.org/mailman/listinfo/ckan-dev
>
>
> __________________________________________________________________
>
> Ce message et toutes les pièces jointes sont confidentiels et établis
> à l'intention exclusive de ses destinataires. Ce message ne constitue
> pas un document officiel. Seuls les documents revêtus de la signature
> du Président du Conseil Général ou d'un de ses délégataires sont de
> nature à engager le Département.
> Toute utilisation ou diffusion non autorisée est interdite. Tout
> message électronique est susceptible d'altération et le Département de
> la Gironde décline toute responsabilité au titre de ce message s'il a
> été altéré, déformé, falsifié.
>
>
> _______________________________________________
> ckan-dev mailing list
> ckan-dev at lists.okfn.org
> http://lists.okfn.org/mailman/listinfo/ckan-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.okfn.org/pipermail/ckan-dev/attachments/20111115/72c2b119/attachment-0001.html>
More information about the ckan-dev
mailing list