• Über mich
  • Kurse
  • Kontakt / Impressum / Datenschutz
  • Unterstützen / Donations
Rufposten
  • Über mich
  • Kurse
  • Kontakt / Impressum / Datenschutz
  • Unterstützen / Donations
03 August 2014
Scrollytelling

Pageflow Installationsnotizen

Hab es endlich geschafft, das Multimedia-Tool Pageflow auf meinem Hoster Uberspace zu installieren. Hier sind meine Installationsnotizen, auf Grundlage der Original-Anleitung, die natürlich anders ist, weil es dort um einen Root-Server geht. Meine Notizen sind allerdings mit Vorbehalt zu benutzen. Ich habe keine Ahnung von Ruby on Rails und schon gar nicht von dem, was ich da in die Shell eingegeben habe.

Ruby 1.9.3 aktivieren

[rufpost@vega ~]$ cat <<'__EOF__' >> ~/.bash_profile
> export PATH=/package/host/localhost/ruby-1.9.3/bin:$PATH
> export PATH=$HOME/.gem/ruby/1.9.1/bin:$PATH
> __EOF__
[rufpost@vega ~]$ . ~/.bash_profile

Rails installieren
[rufpost@vega ~]$ export LANG=en_US.UTF-8
[rufpost@vega ~]$ gem install --user-install --version 4.0.2 rails

Gems immer lokal ausführen:
[rufpost@vega ~]$ echo "gem: --user-install --no-rdoc --no-ri" > ~/.gemrc

Projekt anlegen
[rufpost@vega ~]$ rails new pf_test --skip-bundle --database=mysql
[rufpost@vega ~]$ cd pf_test

Bundler konfigurieren
[rufpost@vega pf_test]$ bundle config path ~/.gem

Pfad für SQLite ändern (Ist das nötig? Besser mal machen)
$ bundle config build.sqlite3 \
--with-sqlite3-include=/package/host/localhost/sqlite-3/include \
--with-sqlite3-lib=/package/host/localhost/sqlite-3/lib

An die Datei „Gemfile“ folgende Zeilen anhängen

gem 'pageflow'
gem 'activeadmin', :git => 'https://github.com/codevise/active_admin.git', :branch => 'rails4'
gem 'ransack'
gem 'inherited_resources', '1.4.1'
gem 'formtastic', '2.3.0.rc2'
# Danke an Jonas Pasche von Uberspace für diesen Fix!
gem 'resque-scheduler', '~> 2.5.5'

Pageflow installieren
[rufpost@vega pf_test]$ bundle install
[rufpost@vega pf_test]$ bundle exec rails generate pageflow:install

Die Datenbank-Konfiguration editieren – sie liegt in der Datei ~/pf_test/config/database.yml. Braucht man wirklich Test und Development? Hab sie mal mit angelegt.

development:
  adapter: mysql2
  encoding: utf8
  database: rufpost_pf_development
  pool: 5
  username: rufpost
  password: ***
  socket: /var/lib/mysql/mysql.sock

test:
  adapter: mysql2
  encoding: utf8
  database: rufpost_pf_test
  pool: 5
  username: rufpost
  password: ***
  socket: /var/lib/mysql/mysql.sock

production:
  adapter: mysql2
  encoding: utf8
  database: rufpost_pf_production
  pool: 5
  username: rufpost
  password: ***
  socket: /var/lib/mysql/mysql.sock

Redis aufsetzen
[rufpost@vega ~]$ uberspace-setup-redis

Die eine Zeile in der Datei ~/pf_test/config/initializers/resque.rb wir folgt ändern bzw. auskommentieren:
# Resque.redis = ENV.fetch('REDIS_URL', 'localhost:6379')
Resque.redis = Redis.new(:path => "/home/rufpost/.redis/sock")

Redis läuft nun als Daemon. Wenn irgendwas schief läuft, kann man den Dienst wie folgt neu starten:
[rufpost@vega ~]$ svc -du ~/service/redis
Environment auswählen
[rufpost@vega pf_test]$ export RAILS_ENV=production

Datenbank erstellen und befüllen (kein Ahnung, ob man das Environment bei allen angeben muss, aber bei dem Teil gab es immer Probleme):
[rufpost@vega pf_test]$ bundle exec rake db:create RAILS_ENV=production
[rufpost@vega pf_test]$ bundle exec rake db:migrate RAILS_ENV=production
[rufpost@vega pf_test]$ bundle exec rake db:seed RAILS_ENV=production

Pfad zum ausführen von Gems via Shell angeben
export PATH=$HOME/.gem/bin:$PATH

Passenger lokal installieren, also nach /home/rufpost/.gem/ruby/1.9.1/gems
[rufpost@vega ~]$ cd ..
[rufpost@vega ~]$ gem install passenger

Subdomain Ordner anlegen
[rufpost@vega ~]$ cd /var/www/virtual/rufpost
[rufpost@vega ~]$ mkdir pageflow.rufposten.de

.htaccess in diesem Subdomain-Ordner anlegen, diesen Text erstellen. Vorher eine eigene Portnummer auswählen und auf Verfügbarkeit testen
RewriteEngine On
RewriteRule (.*) http://localhost:00000/$1 [P]

Subdomain registrieren
[rufpost@vega ~]$ uberspace-add-domain -d pageflow.rufposten.de -w

Optional: Stylesheets etc. für den Production-Server prekompilieren … sonst funktioniert das Layout nur auf Development
rake assets:precompile

Passenger testweise im Projectverzeichnis starten. Dabei natürlich die oben selbst gewählte Portnummer verwenden.
[rufpost@vega pf_test]$ passenger start --port 00000

Falls vorher noch nicht geschehen: Dienste bei deinem Uberspace aktivieren:
[rufpost@vega ~]$ uberspace-setup-svscan

Passenger als Dienst einrichten
[rufpost@vega ~]$ uberspace-setup-service mein_passenger ~/.gem/ruby/1.9.1/bin/passenger

Den Aufruf des Dienstes noch mit Verzweichniswechsel, Environment und deinem Port ergänzen. Dazu den letzten Abschnitt der Datei ~/service/mein_passenger/run wie folgt ergänzen/editieren:
# Now let's go!
export RAILS_ENV=production
cd ~/pf_test/
exec /home/rufpost/.gem/ruby/1.9.1/bin/passenger start --port 00000 2>&1

Endlich! Pageflow starten. Sollte nun unter der Subdomain aufrufbar sein.
[rufpost@vega]$ svc -du ~/service/mein_passenger

Resque wird von Pageflow nach dem Hochladen von Multimediadateien benötigt, bevor die Videos an Amazon und dann an Zencoder rausgehen. Da die Dienste nicht zum Abrufen der Reportagen, sondern nur beim Hochladen von neuen Dateien benötigt werden, habe ich es mir einfach gemacht und starte beide händisch in jeweils einem eigenen Shell-Fenster, bevor ich eine Reportage bearbeite.
[rufpost@vega pf_test]$ QUEUE=* rake resque:work RAILS_ENV=production
[rufpost@vega pf_test]$ QUEUE=* rake resque:scheduler RAILS_ENV=production

Amazon S3 und Zencoder anlegen und konfigurieren. Bei Amazon AWS Account anlegen und für jedes Environment zwei Buckets erstellen

Der Anleitung weiter folgen und die Buckets konfigurieren.

Die Namen der Buckets, das AWS-Host-Alias (wird bei AWS unter „Properties/Static website/Hosting/Endpoint:“) angezeigt und die AWS-Keys in die Datei ~/pf_test/config/initializers/pageflow.rb eintragen. Dabei aufpassen, dass sich keine Leerzeichen vor und nach den Keys einschleichen. Den S3 Hostname sollte man nicht ändern, wenn man in Europa hostet, siehe auch dieser Forenbeitrag.
Anschließend bei Zencoder.com anmelden und dort eine Bezahlform wählen (es gibt auch einen Test-Account, bei dem die Videos nach fünf Sekunden abbrechen). Den Zencoder-Api-Key ebenfalls in die pageflow.rb eintragen. Amazon Cloudfront wird für Production NICHT benötigt.

Related Posts

  • Storyform und Racontr im Test

    Storyform und Racontr im Test

  • Der große Scrollytelling-Tool-Test

Leave a Reply

Antworten abbrechen

Text. Bild. Ton. Daten.


Diese Seite berichtet seit 2004 über multimedialen Journalismus und Datenschutz. Und stellt eigene Entwicklungen in diesem Bereich vor. Rufposten wird betrieben von Matthias Eberl.

Vorheriges Weblog (2004-2014)

Die letzten Mastodon Toots

Loading Mastodon feed...

Kategorien

  • Allgemein
  • Audio-Slideshow
  • Beispiele
  • Daten- und Informantenschutz
  • Interna
  • klimaruf
  • Narration
  • Reporterpreis
  • Scrollytelling
  • Spenden
  • Testbericht
  • Tools
  • Tutorial
  • Video
  • z-Aufmacher
  • z-featured

Aesop auftragsarbeit Ausstellungstrailer Beruf BR Comic Debatte Erzählstimme Facebook Filterblase Google HTML5 Interview klynt Linius Musik Pageflow Print Racontr Scrollytelling Spark Storyform sway Tech Tonlos Tools Wordpress

  • Juli 2023
  • Januar 2023
  • Januar 2022
  • Dezember 2021
  • Juli 2021
  • April 2021
  • Juli 2020
  • Juni 2020
  • Mai 2020
  • Februar 2020
  • Dezember 2019
  • November 2019
  • Oktober 2019
  • Juni 2019
  • April 2019
  • Februar 2019
  • September 2018
  • August 2018
  • Juli 2018
  • Juni 2018
  • November 2017
  • Oktober 2017
  • September 2017
  • Juli 2017
  • November 2016
  • März 2016
  • Februar 2016
  • August 2015
  • Mai 2015
  • April 2015
  • Januar 2015
  • Oktober 2014
  • September 2014
  • August 2014
  • Juli 2014