streaming-website/README.md

31 lines
2.4 KiB
Markdown
Raw Normal View History

2015-04-06 14:42:11 +00:00
# c3voc Streaming-Webseite
2014-12-13 23:23:28 +00:00
2015-04-06 14:42:11 +00:00
Dies ist der Code für die Streaming-Webseite unter [streaming.media.ccc.de](http://streaming.media.ccc.de/) welche vom [c3voc](https://c3voc.de/) benutzt wird um Live-Video und -Audio-Streams von [diversen Konferenzen](https://c3voc.de/eventkalender/) inm Internet zu präsentieren. Die Idee hinter diesem Projekt ist es, eine generische Codebasis zu haben, die mit wenigen Konfigurationsoptionen und ein paar CSS-Rules an die Gegebenheiten und die Gestaltung der Konferenz angepasst werden können.
2014-12-13 23:23:28 +00:00
2015-04-06 14:42:11 +00:00
## Setup
2014-12-13 23:23:28 +00:00
2015-04-06 14:42:11 +00:00
Das Setup beim VOC besteht aus einem Hidden-Master-Server, welcher den PHP-Code in einem nginx ausführt. Dahinter kommen n Frontend-Caches, wobei für kleine Events n eigentlich fast immer =1 ist. Für große Events (Camp, Congress), können wir aber sehr einfach weitere Frontend-Caches bei verschiedenen Hostern hinzu deployen.
2014-12-13 23:23:28 +00:00
2015-04-06 14:42:11 +00:00
Zum vorbereiten einer Konferenz oder weiterentwickeln der Seite ist es hilfreich, sich das Teil lokal aufzusetzen. Am einfachsten geht das mit nem Apachen denn die beiliegende [.htaccess](.htaccess) konfiguriert das URL-Rewriting gleich richtig. Bei nginx muss das in der globalen nginx.conf ungefähr so eingestellt werden:
````
location / {
rewrite /(.*) /index.php?route=$1 last;
}
````
2014-12-13 23:23:28 +00:00
2015-04-06 14:42:11 +00:00
Abweichend von der Default-Config muss in PHP das Flag `short_open_tag = On` gesetzt werden.
2014-12-13 23:23:28 +00:00
2015-04-06 14:42:11 +00:00
Die CSS-Styles sind in [less-css](http://lesscss.org/) geschrieben und es wird ein less-Compiler benötigt, um diese in CSS-Dateien umzuwandeln. Der Einfachste Weg ist [node.js](https://nodejs.org/) über das [Debian-Repo](https://github.com/joyent/node/wiki/Installing-Node.js-via-package-manager#debian-and-ubuntu-based-linux-distributions) installieren und dann mit `npm install -g less` den `lessc`-Compiler installieren.
2014-12-13 23:23:28 +00:00
2015-04-06 14:42:11 +00:00
## Konfiguration
2014-12-13 23:23:28 +00:00
2015-04-06 14:42:11 +00:00
Die Gesamte Seite wird von der zentralen [config.php](config.php)-Datei gesteuert. Diese ist ausführlich dokumentiert und sollte sich selbst erklären.
2014-12-13 23:23:28 +00:00
2015-04-09 13:47:41 +00:00
Für die Konferenztypische Gestaltung kann in der [main.less](assets/css/main.less) nach Wunsch ausgestaltet werden. Als Beispiel sei hier die Gestaltung für das [Easterhegg 2015](https://eh15.easterhegg.eu/site/) verlinkt: [d3c0e74](https://github.com/voc/streaming-website/commit/d3c0e74f459121c3e624c9b3b92d6ec6b39a3dbe)
2014-12-13 23:23:28 +00:00
2015-04-06 14:42:11 +00:00
Üblicherweise machen wir für jede Veranstaltung einen `events/XXXX` branch auf, wobei XXXX das Acronym der Konferenz ist.