Diskussion:Server/CKAN

Aus C3D2
Wechseln zu: Navigation, Suche

Installation

Installation allgemein

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

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
Starten vom Dienst für PostgreSQL
/usr/local/etc/rc.d/postgresql start
oder alternativ
service postgresql start

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
Im Übrigen bringt Apache Solr die Abhängigkeit zu OpenJDK schon mit sich. Dabei wird die aktuelle Version, was momentan Version 7 ist, mit installiert.
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
cp /usr/local/jetty/etc/jetty.xml /usr/local/etc/jetty.xml
env - /usr/local/etc/rc.d/jetty start
oder (wahrscheinlich) alternativ
service jetty start
echo 'kern.ps_arg_cache_limit=10000' >> /etc/sysctl.conf
echo 'jetty_flags="-Djava.awt.headless=true"' >> /etc/rc.conf
Konfiguration von Jetty prüfen
cat /usr/local/etc/jetty.xml
wikipedia:de:OpenJDK 6 installieren
pkg install -y openjdk6
## 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
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

  • Wozu brauch die Datei pg_hba.conf nochmal den Eintrag der IP, wenn
local   all             all                                     trust
# IPv4 local connections:
host    all             all             127.0.0.1/32            trust
# IPv6 local connections:
host    all             all             ::1/128                 trust

ohnehin eingetragen ist.

/usr/local/pgsql/data/pg_hba.conf

host    all             all             $IP/24        trust

  • 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