Frequently Asked Questions - Installation


Informationen zur Installation von osTube

Im Folgenden wird das Beispiel eines Upgrades von osTube Professional Edition auf osTube Professional Plus Edition erklärt:

  • Herunterladen des Tarball der Professional Plus Edition von www.ostube.com
  • Entpacken der Installationsdateien in Ihr osTube-Verzeichnis, entweder durch:

    • direktes Kopieren des Tarball in das Verzeichnis und anschließendes Entpacken mit dem Befehl

      tar xzf ostube_X.X_pro_edt_16.02.2009_15_55.tar.gz

      (Achtung: Alle Rechte der Besitzer/Gruppe der Dateien müssen den Vorherigen entsprechen.)

    • direktes Entpacken des Tarball auf dem lokalen Rechner und anschließende Übertragung (ersetzen, nicht kopieren) in das DocumentRoot der osTube-Installation über FTP

Nein. Insbesondere wenn der Webserver alle Voraussetzungen zur Installation bereits von vorn herein erfüllt, ist die Installation ausgesprochen unkompliziert:

Nach dem Download von der osTube-Webseite wir das .tar.gz-Archiv in das Verzeichnis des Webservers entpackt werden, unter dem osTube betrieben werden soll. Im Anschluss wird über ein Browserfenster eine Installationsseite aufgerufen, über die alle weiteren Einstellungen vorgenommen werden können.

Nach extrahieren von osTube, beispielsweise in das Unterverzeichnis „ostube“ auf www.meinedomain.de ergibt sich die folgende Zugriffs-Adresse:
http://www.meinedomain.de/ostube/index.php Die Startseite erkennt automatisch ob das Portal bereits installiert ist und führt sonst direkt zum Installationsdialog.

Dieser Prozess dauert in der Regel weniger als 5 Minuten, wenn das Betriebssystem zu den automatisch vom Installer unterstützten Betriebssystemen gehört. Ist dies nicht der Fall, dauert die Installation so lange, wie der Server zur Kompilierung der Programme benötigt.

  • Es wird ein Dedicated oder Virtueller Server mit Rootrechten benötigt.

  • Das Betriebssystem muss Linux, UNIX oder BSD sein.

  • Der Webserver sollte mit mindestens PHP4 inklusive aktivierter Kommandozeilen-Unterstützung (php-cli) ausgestattet sein.

  • Zusätzlich benötigt osTube eine MySQL Datenbank zum Speichern der Daten.

  • osTube benötigt für die Konvertierung von Medien zusätzliche Softwarepakete, die frei über das Internet erhältlich sind:

    • MPlayer (inklusive MEncoder) für die Konvertierung von Videoquellen sowie
    • flvtool2 für die Erweiterung der erzeugten FLV-Video-Dateien um Meta-Angaben.
    • Für den MPlayer existiert ein Codec-Paket, welches optional auf dem Server eingespielt werden kann, bevor MPlayer installiert wird. Dadurch unterstützt das osTube Portal nahezu alle gängigen Video-Formate, und kann diese zuverlässig in das Flash-Video-Format konvertieren.

Diese Frage lässt sich mit Ja und Nein beantworten.

Nein: Wenn die erforderlichen Komponenten nicht installiert sind, wird der Betrieb nicht möglich sein, da diese nicht über die Shell (als root) installiert werden können.

Ja: Hat der Server-Administrator oder -Hoster diese Pakete bereits installiert bzw. ist so kundenfreundlich, diese Pakete zu installieren, so ist die Einrichtung auch ohne Root-Zugriff möglich.

Hinweis: Der Installationsservice kann nur mit einem root-Server genutzt werden..

Für die Installation von osTube nutzt bitte unsere Schnellanleitung. Diese findet ihr unter http://www.ostube.de/de/downloads im Bereich „Dokumente“.

Oftmals liegt es an den nötigen Ausführungsrechten. Durch manuelle Suche des Pfads zu den installierten Paketen via which PROGRAMMund Prüfung der Zugriffsrechte kann dies behoben werden. Für die ausführbaren Dateien wie mencoder, mplayer etc sollten die Zugriffsrechte 755 (chmod 755) gesetzt sein.

Führen diese Änderungen nicht weiter, so muss geprüft werden, ob vielleicht SELinux installiert ist, welches mit modernen Linux-Distributionen ausgeliefert wird. Oftmals verhindert diese Sicherheitssoftware den Start einzelner Programmpakete direkt aus PHP heraus.

Seit osTube 2.2 steht die Versionsnummer in den Meta-Tags

Im Browser mit der rechten Maustaste klicken -> Quelltext anzeigen

Es ist eine Eintrag zu finden wie:

.... content="osTube Media CMS by AUVICA GmbH v.2.2" />";

Ab osTube 2.5 wird die Versionsnummer im Adminbereich ganz oben links angezeigt.

Dieses Tutorial beschreibt, wie ein Backup der bestehenden osTube Installation erstellt werden kann. Sowohl die Dateien als auch die Datenbank werden gesichert. Bevor das Backup erstellt wird, im Admin-Bereich unter "Einstellungen" den Wartungsmodus aktivieren. Hierdurch lassen sich keine Medien mehr uploaden.

  • Jetzt als root per SSH auf den Server einloggen.

  • Dateien kopieren:
    • Anlegen eines Verzeichnises für das Backup mit # mkdir ostube_backup
    • Kopieren aller Dateien mit cp -av /ort/meines/ostube/* /root/ostube-backup (Rechte und Besitzer bleiben erhalten)

  • Backup der Datenbank (mysqldump) erstellen:
    • Ins Verzeichnis /root/ostube_backup wechseln: # cd /root/backup

    • den MySQL-dump erstellen:
      # mysqldump -u Datenbankbenutzer -p --opt Datenbankname > dumpdateiname

  • Um das Backup wieder zurückzuspielen:
    • In /root/ostube_backup wechseln

    • Die Datenbank einspielen mit: # mysql -u dbuser -p datenbankname < dumpdateiname # Passwort eintragen

    • Die Dateien zurückspielen: #cp -a * /ort/meines/ostube

Das häufigste Hindernis hierbei ist, dass das osTube Skript unter einem bestimmten User hochgeladen und ausgepackt wurde. Grundsätzlich darf dann auch nur dieser User im gerade ausgepackten Verzeichnis (inklusive Unterverzeichnisse) schreiben.

Ausführende Instanz während des Betriebs des Portals, ist aber nicht der User, der das Packet ausgepackt hat, sondern der Webserver-Prozess - in der Regel ist dies der Webserver Apache oder Apache2.

Es muss dem Webserver-Prozess also ermöglicht werden, in den Verzeichnissen schreiben zu können. Das kann auf unterschiedliche und mehr oder weniger elegante / sichere Art und Weise hergestellt werden:

Weg 1:
Die Besitzrechte des kompletten entpackten osTube-Verzeichnis auf den Apache-Prozess übertragen, beispielsweise mittels:

chown -R apache2:apache2 ostube

Mit diesem Befehl wird der Prozess und User apache2 Besitzer des osTube-Systems und kann somit auch in seinen Ordnern schreiben.
Der Nachteil an dieser Methode ist, dass der normale FTP-User nun keine Schreibrechte mehr besitzt und somit keine Änderungen mehr per FTP durchführen kann.

Weg 2:
Die elegantere Lösung ist sicher zu stellen, dass sowohl Apache2 als auch der FTP-User Schreibrechte in der osTube-Ordner-Struktur besitzen.
Um dies zu ermöglichen, muss sichergestellt werden, dass der FTP-User und der Apache einer Gruppe angehören, welche Schreibrechte in der osTube-Verzeichnis-Struktur besitzen.

Es gibt eine Gruppe, die grundsätzlich Schreibrechte im Dokumenten-Root des Webservers hat (haben sollte), und zwar diejenige, die für den Apache-Server zuständig ist. Wie diese Gruppe nun heißt ist bei den verschiedenen Linux-Distributionen unterschiedlich.

Debian benennt beispielsweise diese Gruppe www-data. Ältere Distributionen wie SuSE 9 haben möglicherweise einfach eine Gruppe apache.
Die Vorgehensweise stellt den exemplarischen Ablauf bei einem Debian-System mit apache2 dar:

chgrp -R www-data ostube (Erläuterung: wechselt die Gruppenzuordnung)

-R - rekursiv. Das heisst, chgrp wird nicht nur auf den Ordner ostube angewandt, sondern zusätzlich auch auf den kompletten Verzeichnisbaum unterhalb von ostube.
www-data - welcher Gruppe die Zuordnung gebürt
ostube - welches Verzeichnis/Ordner ist gemeint

Effekt: Gruppenrechte von ostube können nun von der Gruppe www-data wahrgenommen werden.
useradd -G www-data jerry (Erläuterung: hinzufügen zu Gruppe www-data den user „jerry“)
Effekt: der Beispiel-User jerry gehört nun auch der Gruppe www-data an.

Damit osTube funktionieren kann, braucht es einige Systemressourcen, die teils von den Standardeinstellungen von PHP abweichen. Dazu gehört z.B. die maximale Grösse von Uploads.

Bei manchen Hostern kann es vorkommen, dass auf dem System sowohl PHP4 als auch PHP5 installiert wurde und obendrein für beide Versionen die Einstellungen für das jeweilige CLI-binary in eigenen ini-Dateien verwaltet werden. Somit finden sich im schlimmsten Falle vier verschiedene Versionen auf dem Server.

Zunächst sollte hierbei ermittelt werden, welche PHP-Version aktuell vom Webserver genutzt wird. osTube unterstützt beide Versionen, somit hängt die Wahl von der präferierten Version bzw. dem bereits vom Webserver genutzten PHP ab.
In der php.ini für die CLI-Variante muss sicher gestellt werden, dass das MySQL-Modul geladen wird.:

extension = mysql.so

Gegebenenfalls ist eine Auskommentierung nötig.

In der php.ini für das php-Apache-Modul nach folgenden Variablen suchen:

file_uploads

Dieser Wert muss auf “On” gestellt sein, damit Dateien generell auf den Server übertragen werden dürfen.

upload_tmp_dir

Dies steht standardmässig auf /tmp. Bei manchen Hostern gibt es allerdings aus Sicherheitsgründen Rechtebeschränkungen auf diesen Ordner. Da jedoch mencoder im temporären Upload-Ordner die Konvertierung der hochgeladenen Medien durchführen soll, sollte in diesem Fall ein eigener temp-Ordner erstellt werden, wo Schreibrechte vergeben werden können.

upload_max_filesize

Hier muss, wie auch bei der POST Einstellung, die maximale Dateigrösse für den Datei-Upload eingetragen werden (z.B. 100M)

Zunächst muss auf der Shell des Server (per SSH) mit dem Kommando „php -v“ geprüft werden ob PHP für Kommandozeilenausführung kompiliert wurde. Führt dies zu einer Fehlermeldung, so ist garantiert kein PHP-CLI installiert. Eine Ausgabe wenn die PHP-CLI installiert ist, sieht in etwa so aus:

debian:/usr/src/kernel-source-2.6.8# php -v PHP 5.2.0-8+etch1 (cli) (built: Mar 7 2007 23:34:21)<

Damit PHP-CLI auch auf die Datenbank von osTube zugreifen kann, muss weiterhin für PHP-CLI die MySQL-Erweiterung aktiviert sein. Dies kann folgendermaßen geprüft werden:

php -r ‘phpinfo();’ | grep mysql

Die Ausgabe sollte beispielsweise folgenden Block erzeugen:

mysql
MYSQL_SOCKET ⇒ /var/run/mysqld/mysqld.sock
MYSQL_INCLUDE ⇒ -I/usr/include/mysql
MYSQL_LIBS ⇒ -L/usr/lib -lmysqlclient
mysql.allow_persistent ⇒ On ⇒ On
mysql.connect_timeout ⇒ 60 ⇒ 60
mysql.default_host ⇒ no value ⇒ no value
mysql.default_password ⇒ no value ⇒ no value
mysql.default_port ⇒ no value ⇒ no value
mysql.default_socket ⇒ no value ⇒ no value
mysql.default_user ⇒ no value ⇒ no value
mysql.max_links ⇒ Unlimited ⇒ Unlimited
mysql.max_persistent ⇒ Unlimited ⇒ Unlimited
mysql.trace_mode ⇒ Off ⇒ Off

Kommt dies nicht, so ist folgendes zu prüfen:

php -r ‘phpinfo();’ | grep php.ini

Diese Anweisung zeigt den Pfad zur php.ini, also der Konfigurationsdatei von php, welche die PHP-CLI benutzt:

Configuration File (php.ini) Path ⇒ /etc/php5/cli/php.ini

In dieser Datei ist nach diesen Zeilen zu suchen:

;extension=mysql.so ;extension=gd.so

Das Semikolon vor diesen beiden Zeilen entfernen und den Test mittels „php -r ‘phpinfo();’ | grep mysql“ nochmals laufen lassen.
Findet er nun den mysql Abschnitt in der Ausgabe, so ist die PHP-CLI ab sofort für osTube einsatzbereit.
Die Installer-Seite im Browser kann nun erneut aufgerufen, und das rote X sollte verschwunden sein.