Diskussion:Server/CKAN: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Vater (Diskussion | Beiträge) |
Vater (Diskussion | Beiträge) |
||
Zeile 19: | Zeile 19: | ||
:: <code>pkg install -y python</code> | :: <code>pkg install -y python</code> | ||
: <code>pkg install -y python27</code> | : <code>pkg install -y python27</code> | ||
<!-- | |||
<pre> | |||
Message for python27-2.7.9_1: | |||
===================================================================== | |||
Note that some standard Python modules are provided as separate ports | |||
as they require additional dependencies. They are available as: | |||
bsddb databases/py-bsddb | |||
gdbm databases/py-gdbm | |||
sqlite3 databases/py-sqlite3 | |||
tkinter x11-toolkits/py-tkinter | |||
===================================================================== | |||
</pre> | |||
--> | |||
[[wikipedia:de:PostgreSQL]] installieren | [[wikipedia:de:PostgreSQL]] installieren | ||
:: postgresql94 wäre verfügbar, aber postgresql-libpqxx möchte ohnehin gern postgresql93-client installieren | :: postgresql94 wäre verfügbar, aber postgresql-libpqxx möchte ohnehin gern postgresql93-client installieren | ||
: <code>pkg install -y postgresql93-server</code> | : <code>pkg install -y postgresql93-server</code> | ||
<!-- | |||
<pre> | |||
===> Creating users and/or groups. | |||
Creating group 'pgsql' with gid '70'. | |||
Creating user 'pgsql' with uid '70'. | |||
=========== BACKUP YOUR DATA! ============= | |||
As always, backup your data before | |||
upgrading. If the upgrade leads to a higher | |||
minor revision (e.g. 8.3.x -> 8.4), a dump | |||
and restore of all databases is | |||
required. This is *NOT* done by the port! | |||
Press ctrl-C *now* if you need to pg_dump. | |||
=========================================== | |||
</pre> | |||
<pre> | |||
Message for postgresql93-client-9.3.6_1: | |||
The PostgreSQL port has a collection of "side orders": | |||
postgresql-docs | |||
For all of the html documentation | |||
p5-Pg | |||
A perl5 API for client access to PostgreSQL databases. | |||
postgresql-tcltk | |||
If you want tcl/tk client support. | |||
postgresql-jdbc | |||
For Java JDBC support. | |||
postgresql-odbc | |||
For client access from unix applications using ODBC as access | |||
method. Not needed to access unix PostgreSQL servers from Win32 | |||
using ODBC. See below. | |||
ruby-postgres, py-PyGreSQL | |||
For client access to PostgreSQL databases using the ruby & python | |||
languages. | |||
postgresql-plperl, postgresql-pltcl & postgresql-plruby | |||
For using perl5, tcl & ruby as procedural languages. | |||
postgresql-contrib | |||
Lots of contributed utilities, postgresql functions and | |||
datatypes. There you find pg_standby, pgcrypto and many other cool | |||
things. | |||
etc... | |||
Message for postgresql93-server-9.3.6_1: | |||
For procedural languages and postgresql functions, please note that | |||
you might have to update them when updating the server. | |||
If you have many tables and many clients running, consider raising | |||
kern.maxfiles using sysctl(8), or reconfigure your kernel | |||
appropriately. | |||
The port is set up to use autovacuum for new databases, but you might | |||
also want to vacuum and perhaps backup your database regularly. There | |||
is a periodic script, /usr/local/etc/periodic/daily/502.pgsql, that | |||
you may find useful. You can use it to backup and perfom vacuum on all | |||
databases nightly. Per default, it perfoms `vacuum analyze'. See the | |||
script for instructions. For autovacuum settings, please review | |||
~pgsql/data/postgresql.conf. | |||
If you plan to access your PostgreSQL server using ODBC, please | |||
consider running the SQL script /usr/local/share/postgresql/odbc.sql | |||
to get the functions required for ODBC compliance. | |||
Please note that if you use the rc script, | |||
/usr/local/etc/rc.d/postgresql, to initialize the database, unicode | |||
(UTF-8) will be used to store character data by default. Set | |||
postgresql_initdb_flags or use login.conf settings described below to | |||
alter this behaviour. See the start rc script for more info. | |||
To set limits, environment stuff like locale and collation and other | |||
things, you can set up a class in /etc/login.conf before initializing | |||
the database. Add something similar to this to /etc/login.conf: | |||
--- | |||
postgres:\ | |||
:lang=en_US.UTF-8:\ | |||
:setenv=LC_COLLATE=C:\ | |||
:tc=default: | |||
--- | |||
and run `cap_mkdb /etc/login.conf'. | |||
Then add 'postgresql_class="postgres"' to /etc/rc.conf. | |||
====================================================================== | |||
To initialize the database, run | |||
/usr/local/etc/rc.d/postgresql initdb | |||
You can then start PostgreSQL by running: | |||
/usr/local/etc/rc.d/postgresql start | |||
For postmaster settings, see ~pgsql/data/postgresql.conf | |||
NB. FreeBSD's PostgreSQL port logs to syslog by default | |||
See ~pgsql/data/postgresql.conf for more info | |||
====================================================================== | |||
To run PostgreSQL at startup, add | |||
'postgresql_enable="YES"' to /etc/rc.conf | |||
</pre> | |||
--> | |||
:: eigentlich hieß es libpq (Es wird davon ausgegangen, dass das bei FreeBSD postgresql-libpqxx ist.) | :: eigentlich hieß es libpq (Es wird davon ausgegangen, dass das bei FreeBSD postgresql-libpqxx ist.) | ||
: <code>pkg install -y postgresql-libpqxx</code> | : <code>pkg install -y postgresql-libpqxx</code> | ||
Zeile 34: | Zeile 159: | ||
:: Etwa bei PC-BSD kann einfach bei der Jail ''allow.sysvipc'' angewählt werden. | :: Etwa bei PC-BSD kann einfach bei der Jail ''allow.sysvipc'' angewählt werden. | ||
:: Etwa bei FreeNAS kann einfach bei der Jail '',allow.sysvipc=true'' ergänzend eingetragen werden. | :: Etwa bei FreeNAS kann einfach bei der Jail '',allow.sysvipc=true'' ergänzend eingetragen werden. | ||
: PostgreSQL soll gestartet werden können (und zu jedem Neustart gestartet werden) | : Einrichtung von PostgreSQL | ||
:: <code>echo 'postgresql_enable="YES"' >> /etc/rc.conf</code> | :: (gemäß Hinweis von FreeBSD am Ende der Installation) optionales Definieren für Sprache und so weiter | ||
::: Hinterlegen der Vorgaben zur Verwendung für PostgreSQL | |||
:::: <code>$EDITOR /etc/login.conf</code> | |||
<pre></pre> | |||
<pre> | |||
postgres:\ | |||
:lang=en_US.UTF-8:\ | |||
:setenv=LC_COLLATE=C:\ | |||
:tc=default: | |||
</pre> | |||
<pre></pre> | |||
::: <!-- create capability database --> | |||
:::: <code>cap_mkdb /etc/login.conf</code> | |||
::: <!-- --> | |||
:::: <code>echo 'postgresql_class="postgres"' >> /etc/rc.conf</code> | |||
:: PostgreSQL soll gestartet werden können (und zu jedem Neustart gestartet werden) | |||
::: <code>echo 'postgresql_enable="YES"' >> /etc/rc.conf</code> | |||
: Initialisieren von PostgreSQL | : Initialisieren von PostgreSQL | ||
:: <code>/usr/local/etc/rc.d/postgresql initdb</code> | :: <code>/usr/local/etc/rc.d/postgresql initdb</code> | ||
::: oder alternativ | |||
:::: <code>service postgresql initdb</code> | |||
<!-- | |||
<pre> | |||
he files belonging to this database system will be owned by user "pgsql". | |||
This user must also own the server process. | |||
The database cluster will be initialized with locales | |||
COLLATE: C | |||
CTYPE: en_US.UTF-8 | |||
MESSAGES: en_US.UTF-8 | |||
MONETARY: en_US.UTF-8 | |||
NUMERIC: en_US.UTF-8 | |||
TIME: en_US.UTF-8 | |||
The default text search configuration will be set to "english". | |||
Data page checksums are disabled. | |||
creating directory /usr/local/pgsql/data ... ok | |||
creating subdirectories ... ok | |||
selecting default max_connections ... 100 | |||
selecting default shared_buffers ... 128MB | |||
creating configuration files ... ok | |||
creating template1 database in /usr/local/pgsql/data/base/1 ... ok | |||
initializing pg_authid ... ok | |||
initializing dependencies ... ok | |||
creating system views ... ok | |||
loading system objects' descriptions ... ok | |||
creating collations ... ok | |||
creating conversions ... ok | |||
creating dictionaries ... ok | |||
setting privileges on built-in objects ... ok | |||
creating information schema ... ok | |||
loading PL/pgSQL server-side language ... ok | |||
vacuuming database template1 ... ok | |||
copying template1 to template0 ... ok | |||
copying template1 to postgres ... ok | |||
syncing data to disk ... ok | |||
WARNING: enabling "trust" authentication for local connections | |||
You can change this by editing pg_hba.conf or using the option -A, or | |||
--auth-local and --auth-host, the next time you run initdb. | |||
Success. You can now start the database server using: | |||
/usr/local/bin/postgres -D /usr/local/pgsql/data | |||
or | |||
/usr/local/bin/pg_ctl -D /usr/local/pgsql/data -l logfile start | |||
</pre> | |||
--> | |||
: Starten vom Dienst für PostgreSQL | : Starten vom Dienst für PostgreSQL | ||
:: <code>/usr/local/etc/rc.d/postgresql start</code> | :: <code>/usr/local/etc/rc.d/postgresql start</code> | ||
::: oder alternativ | |||
:::: <code>service postgresql start</code> | |||
<!-- | |||
<pre> | |||
LOG: could not create IPv6 socket: Protocol not supported | |||
LOG: ending log output to stderr | |||
HINT: Future log output will go to log destination "syslog". | |||
</pre> | |||
--> | |||
[[wikipedia:de:Pip (Python)]] und VirtualEnv für Python installieren | [[wikipedia:de:Pip (Python)]] und VirtualEnv für Python installieren | ||
Zeile 147: | Zeile 347: | ||
: <code>paster make-config ckan /etc/ckan/default/development.ini</code> | : <code>paster make-config ckan /etc/ckan/default/development.ini</code> | ||
: <code> | : <code>$EDITOR /etc/ckan/default/development.ini</code> | ||
<pre></pre> | <pre></pre> | ||
<pre> | <pre> |
Version vom 26. Juli 2015, 00:01 Uhr
Installation
Installation allgemein
- https://docs.ckan.org/en/latest/maintaining/installing/
- https://github.com/ckan/ckan/wiki/How-to-Install-CKAN
Installation bei FreeBSD
FreeBSD (beispielsweise eine Jail) auf den aktuellen Stand bringen
pkg update && pkg upgrade -y
wikipedia:de:zsh für eine "schön bequeme" Shell installieren
pkg install -y zsh
zu wikipedia:de:zsh wechseln
zsh
wikipedia:de:Python (Programmiersprache) installieren
- eigentlich müsste, da anscheint Python 2 (2015-07) der Standard bei FreeBSD, es auch ohne Angabe der Version gehen
pkg install -y python
pkg install -y python27
wikipedia:de:PostgreSQL installieren
- postgresql94 wäre verfügbar, aber postgresql-libpqxx möchte ohnehin gern postgresql93-client installieren
pkg install -y postgresql93-server
- eigentlich hieß es libpq (Es wird davon ausgegangen, dass das bei FreeBSD postgresql-libpqxx ist.)
pkg install -y postgresql-libpqxx
Inbetriebnahme von wikipedia:de:PostgreSQL
- Wenn es sich um eine Jail handelt, so muss für PostgreSQL SysV IPC erlaubt sein.
$EDITOR /etc/rc.conf
jail_sysvipc_allow="YES"
- Etwa bei PC-BSD kann einfach bei der Jail allow.sysvipc angewählt werden.
- Etwa bei FreeNAS kann einfach bei der Jail ,allow.sysvipc=true ergänzend eingetragen werden.
- Einrichtung von PostgreSQL
- (gemäß Hinweis von FreeBSD am Ende der Installation) optionales Definieren für Sprache und so weiter
- Hinterlegen der Vorgaben zur Verwendung für PostgreSQL
$EDITOR /etc/login.conf
- Hinterlegen der Vorgaben zur Verwendung für PostgreSQL
- (gemäß Hinweis von FreeBSD am Ende der Installation) optionales Definieren für Sprache und so weiter
postgres:\ :lang=en_US.UTF-8:\ :setenv=LC_COLLATE=C:\ :tc=default:
-
cap_mkdb /etc/login.conf
-
echo 'postgresql_class="postgres"' >> /etc/rc.conf
-
- PostgreSQL soll gestartet werden können (und zu jedem Neustart gestartet werden)
echo 'postgresql_enable="YES"' >> /etc/rc.conf
- Initialisieren von PostgreSQL
/usr/local/etc/rc.d/postgresql initdb
- oder alternativ
service postgresql initdb
- oder alternativ
- Starten vom Dienst für PostgreSQL
/usr/local/etc/rc.d/postgresql start
- oder alternativ
service postgresql start
- oder alternativ
wikipedia:de:Pip (Python) und VirtualEnv für Python installieren
pkg install -y py27-pip
pkg install -y py27-virtualenv
- weitere benötigte Software installieren
- wikipedia:de:git installieren
pkg install -y git
- wikipedia:en:Apache Solr installieren
pkg install -y apache-solr
- wikipedia:en:Apache Solr soll gestartet werden können (und zu jedem Neustart gestartet werden)
echo 'solr_enable="YES"' >> /etc/rc.conf
- wikipedia:de:Jetty installieren
pkg install -y jetty
- Jetty soll gestartet werden können (und zu jedem Neustart gestartet werden)
echo 'jetty_enable="YES"' >> /etc/rc.conf
- Jetty einrichten und starten
env - /usr/local/etc/rc.d/jetty start
echo 'kern.ps_arg_cache_limit=10000' >> /etc/sysctl.conf
- Konfiguration von Jetty prüfen
cat /usr/local/etc/jetty.xml
- wikipedia:de:OpenJDK 6 installieren
pkg install -y openjdk6
echo 'jetty_flags="-Djava.awt.headless=true"' >> /etc/rc.conf
## Prevent Java from opening an X11 display # jetty_flags="-Djava.awt.headless=true" ## Increase memory limit of the Java virtual machine # jetty_flags="-Xms32m -Xmx256m" ## Run Java with remote debugging turned on on port 8000 # jetty_flags="-Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000"
- Einrichten von openjdk6
echo 'fdesc /dev/fd fdescfs rw 0 0' >> /etc/fstab
echo 'proc /proc procfs rw 0 0' >> /etc/fstab
- CKAN einrichten
mkdir -p /usr/lib/ckan/default
chown `whoami` /usr/lib/ckan/default
virtualenv --no-site-packages /usr/lib/ckan/default
. /usr/lib/ckan/default/bin/activate
- pip
-
- Da spätere eine entsprechende Meldung kam, einfach vorher einmal updat con pip machen.
pip install --upgrade pip
CKAN (2.3) mit pip, aus den Quellen von Github per git beziehend, installieren
- alternativ wäre wohl
pip install -e 'git+https://github.com/ckan/ckan.git#egg=ckan'
- noch aktueller
- alternativ wäre wohl
pip install -e 'git+https://github.com/ckan/ckan.git@ckan-2.3#egg=ckan'
pip install -r /usr/lib/ckan/default/src/ckan/requirements.txt
- wikipedia:de:PostgreSQL einrichten
Wechseln zum Account pgsql
- Im Übrigen nennen die Beschreibung von CKAN den Account immer postgres. Standardmäßig ist sie aber bei PostgreSQL (bei FreeBSD) pgsql.
su pgsql
psql -l
createuser -S -D -R -P ckan_default
Enter password for new role: Enter it again:
createdb -O ckan_default ckan_default -E utf-8
exit
mkdir -p /usr/local/etc/ckan/default
chown -R `whoami` /usr/local/etc/ckan/
- eigentlich heißt es /etc/ckan/default statt /usr/local/etc/ckan/default
ergänzende Erstellung eines Links, um der Vorgabe von CKAN zu entsprechen
- Es sollte geprüft werden, ob das auch ohne Link funktioniert.
ln -s /usr/local/etc/ckan /etc/ckan
chown -R `whoami` /etc/ckan/
cd /usr/lib/ckan/default/src/ckan
paster make-config ckan /etc/ckan/default/development.ini
$EDITOR /etc/ckan/default/development.ini
#sqlalchemy.url = postgresql://ckan_default:pass@localhost/ckan_default sqlalchemy.url = postgresql://ckan_default:password@localhost/ckan_default
#ckan.site_url = ### aktuell gibt es keine Domain, weswegen erste einmal die IPv4-Adresse eingetragen wurde ckan.site_url = http://''$IPv4-Adresse''
- Jetty
- Es wird immer von
$JETTY_HOME
geschrieben. Das ist praktisch/usr/local/jetty
.
- Solr
ln -s /usr/lib/ckan/default/src/ckan/ckan/config/solr/schema.xml /var/db/solr/solr.xml
service solr start
solr_url=http://127.0.0.1:8983/solr
- http://$IPv4-Adresse:8983/solr/
ln -s /usr/lib/ckan/default/src/ckan/who.ini /etc/ckan/default/who.in
(Versuch gemäß http://mikkel.hoegh.org/2011/07/24/install-multicore-apache-solr-freebsd-jetty/ 10.)
ln -s /usr/local/share/java/classes/solr-4.10.1.war solr.war
mögliche Fragen zur Installation bei FreeBSD
- Wird JDBC benötigt?
pkg install -y postgresql-jdbc
- Liegt dann bei /usr/local/share/java/classes/postgresql.jar.
- Wie verhält es sich mit openjdk? Bei apache-solr wird die aktuelle Version (7) installiert. Seitens CKAN wird aber auf die Version 6 verwiesen, oder?
- Solr ordentlich hoch bekommen ln -s /usr/local/share/examples/apache-solr/example-schemaless/solr /var/db/solr
/usr/local/etc/rc.d/solr: WARNING: /var/db/solr/solr.xml is not readable. /usr/local/etc/rc.d/solr: WARNING: failed precmd routine for solr