video-stream server mit apache

Registriere dich jetzt, um exklusive Vorteile zu genießen! Als registriertes Mitglied kannst du Inhalte herunterladen und profitierst von einem werbefreien Forum.
Mach mit und werde Teil unserer Community!
  • hi @alle


    danke im voraus für jede zielführende hilfe.:danke_ATDE:


    also das ziel ist , ein einfacher stream-server mit apache in html oder php.

    das problem ist der zugriff auf lokale verzeichnisse und/oder der zugriff auf verzeichnisse im home-verzeichnis über einen apache webserver, damit auch tablets oder handies auf die mp4-dateien zugreifen können, zum streamen, damit keine weitere software notwendig ist und der browser die mp4-dateien abspielt.


    eingesetzte hardware ist:

    rpi4 8gb RAM, 2x externe hardware raid controller im RAID1 (mirroring) als NAS mit 32bit raspbian mit GUI

    NAS arbeitet perfekt (samba für die kompatibilität für windows) - name office, VNC aktiv, headless, feste ip, apache2 mit php7.3,

    rpi4 4gb RAM, 32 gb sd-karte für experimente, 32 raspbian mit GUI - name ex, VNC aktiv, headless, feste ip, apache2 mit php7.3,

    rpi4 4gb RAM , 120gb SSD mit 32bit raspbian, haupt-pi, dual display - name media,


    der zugriff auf die mp4-dateien mit vlc vom haupt-pi (media) zum NAS-pi (office) funktioniert anstandslos.


    auf dem "ex-rpi" habe ich rewrite aktiviert und php-mod und auch die chmod auf 777 gesetzt


    Code
    sudo a2enmod rewirte
    sudo a2enmod php7.3
    sudo chmod -R 777 /home/pi/Video/filme/

    server wurde auch neu gestartet.


    in apache2.conf habe ich die directory-einstellungen hinzugefügt.

    Code
    <Directory /home/pi/Video/filme/>
            Options Indexes FollowSymLinks
            Require all granted
            Options None
            AllowOverride None
            Order deny,allow
            Allow from all
    </Directory>

    wenn ich einer test index.html als inhalt an den browser direkt übergebe mit


    Code
    <div>
    <iframe src=/home/pi/Downloads/ width=630 height=436>
    </div>

    bekomme ich den den gewünschten effekt die verzeichnisse zu sehen und zu browsen und kann die verzeichnisse und dateien aufrufen und der chronium-browser spielt die mp4-dateien ab wie gewollt.

    aber wenn ich das auf dem apache-web-server aufrufe mit localhost oder seiner IP bekomme ich nur


    Code
    Not Found
    The requested URL was not found on this server.

    auch mit href führt nut zum selben fehler.


    Code
    <a href="/home/pi/Videos/filme/">Verzeichnis der Filme</a>

    nun weis ich nicht mehr wo der fehler liegt.

    meine vermutung ist, dass es an irgend einem zugriffs-recht auf das fs liegt, oder der apache nicht genug rechte hat auf das FS zuzugreifen.


    auch habe ich den user www-data zur gruppe "pi" - (www-data ist der user des apache), für die möglichkeit auf das home-verzeicnis zugreifen zu können.


    Code
    sudo usermod -aG pi www-data

    aber nichts hat geholfen.


    nun weis ich nicht mehr weiter.

    danke für jede zielführende hilfe.:danke_ATDE:


    wenn meh informationen nötig sind , liefere ich die gerne nach. - danke

    die wahrheit will keiner hören oder lesen.

  • Beim Zugriff über den Browser sind die Links immer ausgehend von der URL. Beim Aufruf über Localhost also z.B. http://localhost/home/pi/Videos/filme

    Und http://localhost zeigt normalerweise auf /var/www/html

    Also hast Du einen absoluten Pfad von /var/www/html/home/pi/Videos/filme. Und das wird nicht gefunden.


    Ansonsten hilft immer ein Blick in die Log-Dateien (/var/log/apache2)

    Anfragen ausserhalb des Forums (Mail o.ä.) werden ignoriert!

  • danke für deine antwort.

    Beim Zugriff über den Browser sind die Links immer ausgehend von der URL. Beim Aufruf über Localhost also z.B. http://localhost/home/pi/Videos/filme

    ja der pfad wird im browser wie gezeigt angeszeigt.

    aber egal was ich im seitenquelltext bei href eintrage kommt nur die fehlermeldung


    Code
    Not Found
    The requested URL was not found on this server.
    
    Apache/2.4.38 (Raspbian) Server at 192.168.100.203 Port 80

    der absolute pfad im filesystem ist nicht unterhalb /var/www/html....: sonder unter /home/pi/Video/filme.

    die wahrheit will keiner hören oder lesen.

    • Official Post

    Oje, schlimmer kann man das Rechtesystem kaum noch verbiegen. :no_sad:


    Mach das bitte alles wieder rückgängig! (inkl. www-data aus der Gruppe pi rauswerfen)


    Was hindert Dich eigentlich daran die Videos ins Verzeichnis /var/www/html/... zu legen, wie es im Normalfall sein müsste?

  • Oje, schlimmer kann man das Rechtesystem kaum noch verbiegen. :no_sad:


    Mach das bitte alles wieder rückgängig! (inkl. www-data aus der Gruppe pi rauswerfen)


    Was hindert Dich eigentlich daran die Videos ins Verzeichnis /var/www/html/... zu legen, wie es im Normalfall sein müsste?

    ist nur auf den experimentier pi mit dem verbiegen.

    ich versuche nur auf das FS zuzugreifen (ro), egal wo die mp4-files liegen.

    ein problem ist der speicherplatz und andererseitz ist der office-pi wo das ganze dann laufen soll, wie ich das haben will, auch mein NAS über Samba

    (samba wegen windows-kompatiblität).

    die freigaben sind auf die verzeichnisse gelegt, und ich will html nicht als freigabe haben.

    auch mit getrennten verzeichnissen ist mehr ordnung.

    die wahrheit will keiner hören oder lesen.

  • ich vermute es liegt an irgendwelchen lese-rechten im FS für www-data als user für den apache-server.


    weil wie oben gesagt, das wenn ich den code (siehe unten) einfach in eine index.html pappe, bekomme ich im browser ein fenster angezeigt in dem ich wie im dateimanager browser kann. das wäre schon mal ein anfang.


    Code
    <div>
    <iframe src=/home/pi/Downloads/ width=630 height=436>
    </div>

    also mit dem aufruf lande ich genau im download ordner.

    aber wenn ich ds selbe dem apache als index.html übergebe, funktioniert es nicht.

    die wahrheit will keiner hören oder lesen.

    Edited once, last by scorpionesc9999 ().

  • Über eine Alias-Definition sollte das gehen.


    In der vhost-config:

    Alias "/Filme" "/home/pi/Video/filme/" (Verzeichnis muss für www-data betretbar/lesbar sein)


    Dann apache2 Neustart


    Zugriff über:

    <a href="http://server/Filme">Verzeichnis der Filme</a>

    Wenn du nichts zu sagen hast, sag einfach nichts.

    Edited once, last by llutz ().

  • auch das funktioniert nicht.


    vhost.conf in /etc/apache2/sites-available/


    Code
    <VirtualHost *:80>
            Alias /Filme "/home/pi/Video/filme/"
    </VirtualHost>
    
    <Directory /home/pi/Videos/filme>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride None
            Order allow,deny
            Allow from all
     </Directory>

    und mit a2ensite aktiviert.

    auf dem verzeichnis ../filme ist ein chmod 777 ausgeführt also alle können alles (nicht ideal - ist bekannt)


    und wieder nur die fehlermeldung wie zuvor.

    die wahrheit will keiner hören oder lesen.

  • so nun versteh ich gar nichts mehr.


    ich habe über einen hard-link der unterhalb von .../html/ lag und www-data als besitzer und gruppe auf .../Videos/filme zuzugreifen.

    auch das war nichts.

    dann hab ich zu testzwecken ein ein paar mp4-dateien in ein unterverzeichnis unter .../html verschoben und die an www-data übergeben.

    auch das funktioniert nicht.

    die wahrheit will keiner hören oder lesen.

  • Fang noch einmal mit einer sauberen Config an.


    btw, ab apache2.4 wird

    Code
    Order allow,deny
    Allow from all

    besser ersetzt durch

    Code
    Require all granted

    Wenn du nichts zu sagen hast, sag einfach nichts.

  • nun hab ich wohl den server so zermanscht das er gar nicht mehr startet und die fehler meldung auch nicht mehr zu verstehen ist.

    die wahrheit will keiner hören oder lesen.

  • Du hattest den Part doch (fast)

    Code
    <VirtualHost *:80>
    
     DocumentRoot /whatever
     Alias "/Filme" "/home/pi/Videos/filme/"
    
     <Directory /home/pi/Videos/filme>
       Options Indexes FollowSymLinks MultiViews
       Require all granted
     </Directory>
    </VirtualHost>

    Wenn du nichts zu sagen hast, sag einfach nichts.

  • ich habs aus dem kopf wieder zusammengebastelt.

    als nebenfragen zum thema:

    die <Directory> - direktive kann man auch in die vhost.conf packen und muss die nicht in die apache2.conf setzen?

    und mit DocumentRoot /whatever kann ich die index.html woanders hinpacken um dem verzeichniss /var/www/html zu entkommen?

    die wahrheit will keiner hören oder lesen.

  • mod_alias ist aktiviert?

    Zeige bitte mal deine komplette <site.conf> , die Ausgabe von

    namei -l /home/pi/Videos/filme/

    und den html Link <a href....>

    Wenn du nichts zu sagen hast, sag einfach nichts.

  • also wenn ich die datei direkt and den browser gebe gehts, aber auf den server direkt geht es nicht.


    ja alias ist an.


    conf-datei

    Code
    VirtualHost *:80>
            ServerName SOHO-Movie
            DocumentRoot /home/pi/Videos
            Alias "/Filme" "/home/pi/Video/filme/"
    </VirtualHost>

    namei -l ...

    Code
    f: /home/scorp/Videos/filme/
    drwxr-xr-x root  root  /
    drwxr-xr-x root  root  home
    drwxr-xr-x scorp scorp scorp
    drwxr-xr-x scorp scorp Videos
    drwxrwxrwx scorp scorp filme

    hab scorp immer durch pi ersetzt und andersrum

    die wahrheit will keiner hören oder lesen.

  • Die <Directory /home/scorp/Videos/filme/>.... Direktive fehlt.

    also wenn ich die datei direkt and den browser gebe gehts, aber auf den server direkt geht es nicht.

    Ähh, das heißt was genau?

    Du musst natürlich über den Browser (oder anderen http-Client) auf den Web-Server zugreifen.


    hab scorp immer durch pi ersetzt und andersrum

    Ist egal, man sieht an den Berechtigungen ja das "other" mindestens "r-x" und somit Zugriff hat.

    Wenn du nichts zu sagen hast, sag einfach nichts.

  • Ähh, das heißt was genau?

    Du musst natürlich über den Browser (oder anderen http-Client) auf den Web-Server zugreifen.

    na wenn ich auf eine kopie der index.html im verzeichnis Videos rechts-klicke und chronium-webbrowser auswähle, das ist aber nicht den apache zu bemühen . sondern nur den chronium-browser.


    genau das ist ja das problem, das wenn ich normal den server anfrage egal ob local oder von einem anderen pi funktioniert es nicht.

    dan kommt immer das die url nicht verfügbar ist, obwohl der pfad in der url-leiste korrekt angezeigt wird.

    die wahrheit will keiner hören oder lesen.