Photo Station Blog als Startseite

Status
Für weitere Antworten geschlossen.

qbic

Benutzer
Mitglied seit
16. Aug 2008
Beiträge
478
Punkte für Reaktionen
0
Punkte
22
Der eine oder andere wird den anderen Thread zu meiner Blog-Problemtik schon kennen.
Da der Thread zuvor aber ein anderes Ziel verfolgte und erst innerhalb des Threads die Problemstellung gewechselt ist, habe ich mich entschlossen einen neuen Thread aufzumachen, der nur der Lösung dieses einen Problem gewidmet ist.

Zu erst möchte ich die Problemtik aber nochmal erklären:

Ich habe auf der DS den Blog am laufen.
Standardmäßig ist als Startseite der DS das Weblogin festgelegt, es sei denn, die Webstation ist am laufen und es befindet sich eine index-datei im web-Ordner.
Mein Ziel ist es nun den Blog als Startseite festzulegen.
Das heißt im klartext: http://interneIP-der-DS/ führt direkt zum Blog und nicht zum Weblogin.


Die einfachste Idee war für mich den DocumentRoot des Apache_user auf den Blog zu legen.
Dies hat aber nicht funktioniert.
Daher nun nochmal meine Gedankengänge, vielleicht könnt ihr mir weiterhelfen:

Ist die Webstation, also apache-user aktiviert, dann wird die Website aufgerufen, die er als erstes im DocumentRoot (/var/services/web -> /volume1/web ) findet.
Wenn ich nun also in den Ordner "web" eine Datei namens index.html erstelle und "irgendwas" reinschreibe, dann wird mir auch "irgendwas" im Browser angezeigt sobald ich http://interneIP-der-DS/ aufrufe.

Wenn ich nun vorhabe mein Blog als Startseite festzulegen, so müsste ich ausschließlich den DocumentRoot in der httpd.conf-user auf den Pfad legen, wo die index-php des Blogs enthalten ist (also /usr/syno/synoman/phpsrc/blog)

Im Shellscript des Apache-User steht aber folgendes:

Httpd="/usr/syno/apache/bin/httpd"
HttpdConf="/usr/syno/apache/conf/httpd.conf"
HttpdSSLConf="/usr/syno/apache/conf/extra/httpd-ssl.conf"
PHPINI="/usr/syno/etc/php.ini"
SynoConf="/etc/synoinfo.conf"
PIDFILE="/var/run/httpd-user.pid"
RunHTTPS=`/bin/get_key_value /etc/synoinfo.conf runHTTPS`
HttpPort=`/bin/get_key_value /etc/synoinfo.conf httpport`
SSLKEYGEN="/usr/syno/etc/rc.ssl_keygen"


Als httpd.conf-Pfad wird also /usr/syno/apache/conf/httpd.conf festgelegt.
Dort ist ebenso /var/services/web als DocumentRoot eingetragen.
Da es nichts bringt DocumentRoot in httpd.conf-user zu ändern, wollte ich den DocumentRoot auch in der httpd.conf ändern, schließlich wird diese beim start des shellscripts als configurationsdatei angegeben.

Leider bringt auch das keine Besserung (natürlich immer nach restart des apacher-user).

Der Clou an der ganzen Sache ist folgendes:
Obwohl ich in beiden httpd.conf-Dateien den DocumentRoot auf das Verzeichnis des Blogs abgeändert habe, erscheint beim aufrufen von http://interneIP-der-DS/ immer noch "irgendwas".
Der DocumentRoot wurde also nicht gesetzt und steht noch immer auf /var/services/web

Eure Aufgabe ist es nun mir zu sagen, wo der DocumentRoot denn nun eingetragen/bzw hergenommen wird.
Ich selber finde diese Stelle nämlich einfach nicht oder bin zu blind sie zu finden.

Komme ich an diese eine Information dürfte dieser Thread eigentlich schon für solved erklärt werden.
Ich hoffe, dass irgendjemand helfen kann
 

qbic

Benutzer
Mitglied seit
16. Aug 2008
Beiträge
478
Punkte für Reaktionen
0
Punkte
22
Ich habs, ich habs, ich habs.

Shellscript apache-user:

Httpd="/usr/syno/apache/bin/httpd"
HttpdConf="/usr/syno/apache/conf/httpd.conf"
HttpdSSLConf="/usr/syno/apache/conf/extra/httpd-ssl.conf"
PHPINI="/usr/syno/etc/php.ini"
SynoConf="/etc/synoinfo.conf"
PIDFILE="/var/run/httpd-user.pid"
RunHTTPS=`/bin/get_key_value /etc/synoinfo.conf runHTTPS`
HttpPort=`/bin/get_key_value /etc/synoinfo.conf httpport`
SSLKEYGEN="/usr/syno/etc/rc.ssl_keygen"

GenerateConf()
{
cp ${HttpdConf}-user ${HttpdConf}
SupportWeb=`/bin/grep -s ^supportweb /etc.defaults/synoinfo.conf | awk -F \" '{print $2}' |
RunWeb=`/bin/grep -s ^runweb /etc/synoinfo.conf | awk -F \" '{print $2}' | sed 's/ //g'`
RunWebLocal=`/bin/grep -s ^supportweblocaluser /etc/synoinfo.conf | awk -F \" '{print $2}' |
if [ "$SupportWeb" = "yes" -a "$RunWeb" = "yes" ]; then
echo "Include /usr/syno/etc/httpd-vhost.conf-user" >> ${HttpdConf}
echo "DocumentRoot \"/var/services/web\"" >> ${HttpdConf}
cat ${HttpdSSLConf}-user > ${HttpdSSLConf}
echo "Include /usr/syno/etc/httpd-ssl-vhost.conf-user" >> ${HttpdSSLConf}​
else
echo "DocumentRoot \"/usr/syno/synoman/phpsrc/web\"" >> ${HttpdConf}
cat ${HttpdSSLConf}-user | sed 's/DocumentRoot "\/var\/services\/web"/DocumentRoot "​

Hab es die ganze zeit irgendwie überlesen.
Problem ist nur:
Jetzt habe ich das gleiche Problem wie schon im anderen Thread besprochen.
Manche Elemente werden nicht angezeigt.

Irgendwie muss das doch gehen. Werde mich nun doch wieder mehr damit beschäftigen und schauen ob ich irgendwo noch Zugriffsrechte finden kann, die dem Blog beim normalen aufruf zugeordnet werden.
Ich krieg das noch hin, ich glaub fest dran und bin nun wieder motivierter denn je ;)
 

qbic

Benutzer
Mitglied seit
16. Aug 2008
Beiträge
478
Punkte für Reaktionen
0
Punkte
22
Ich hab das Problem gelößt und es funktioniert alles genau so wie es soll.

Ob ich grad so glüklich drüber bin, weiß ich nicht so richtig, denn eigentlich ist es schon peinlich wie simpel die Lösung ist und ich trau mich schon fast garnicht diese eine Zeile hier rein zu schreiben.

Aber damit hier keiner auf dem trockenen bleibt:

1. Webstation aktivieren
2. Via SSH an der DS anmelden und folgenden Befehl absetzen

cp /usr/syno/synoman/phpsrc/blog/* -R /var/services/web

So damit hätten wir die Sache dann auch gelößt und das Blog ist als Startseite definiert.

<Gedankenmodus>
Meine Fresse nen Anwendungsentwickler arbeitet 2 Tage daran nen Ordner unter Linux zu kopieren, ich glaub ich erschieß mich !!!!! :mad:
</Gedankenmdus

Danke für eure Aufmerksamkeit und einen schönen Abend noch.

PS: Wenn ihr wollt geht mal drauf und sagt mir ob bei euch alles ordentlich funktioniert. Irgendwo muss es doch da einen Haken geben ô.Ò
 

Gawain

Benutzer
Mitglied seit
02. Mai 2009
Beiträge
91
Punkte für Reaktionen
0
Punkte
0
Hi,

da ich mich gerade mit dem Blog beschäftige und diesen später auch als Startseite einrichten möchte... führt deine letzte Lösung nicht dazu, dass sämtliche nachträglichen Änderungen/Ergänzungen im Blog dann auf der Startseite nicht angezeigt werden? Oder versteh ich da was falsch. Schliesslich kopierts du ja nur den Momentanzustand des Blogs...

*gruebelnd*

Gawain
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Oder versteh ich da was falsch. Schliesslich kopierts du ja nur den Momentanzustand des Blogs...

Er kopiert nur die Blog-Skripte ... die Inhalte kommen aus einer Datenbank.

Itari
 

sanplis

Benutzer
Mitglied seit
17. Sep 2009
Beiträge
32
Punkte für Reaktionen
0
Punkte
0
Warum so kompliziert?

Erstell Dir im Stamm-Verzeichnis "web/" eine Datei "index.html" mit folgendem Inhalt:
Rich (BBCode):
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <meta http-equiv="refresh" content="0; URL=photo/">
  </head>
  <body></body>
</html>
Das Meta-Tag "refresh" sorgt dafür, dass der zugreifende Browser nach (hier) 0 Sekunden auf die relative URL "photo/" weitergeleitet wird.
Also: Zugriff auf "http://diskstation" => Weiterleitung auf "http://diskstation/photo/"

Im Body kannst Du natürlich auch noch andere Sachen hinterlegen - sinnvoll z.B. um eine Startseite anzuzeigen während die Photostation lädt.

Gruß
sanplis
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Also wenn schon eine serverseitige Weiterleitung, aber nicht eine beim Client. Sonst könntest du auch gleich ein JS machen, das die Weiterleitung erledigt.
Meta Refreshes können vom Client genau wie JS blockiert werden. Von einer serverseitigen Weiterleitung, merkt der Client jedoch nix
PHP:
<?php
header('Location: http://deineDynDNSDomain.tld/blog/');
exit;
?>
Das "Unschöne" dabei ist, dass der Client die neue URL sehen kann (auch beim Meta Refresh) Wenn das nicht gewünscht ist, dann würde ich das über eine bedingte .htaccess Weiterleitung (mod_rewrite) machen
 

qbic

Benutzer
Mitglied seit
16. Aug 2008
Beiträge
478
Punkte für Reaktionen
0
Punkte
22
.htacces hatte ich - wenn ich mich richtig erinnere - schon versucht. Dabei ergaben sich wahrscheinlich Probleme mit den Rechten.
Das führt im Endeffekt dazu, dass bestimmte Module des Blogs einfach nicht angezeigt werden konnten.
Den genauen Grund habe ich nie herausgefunden.

Aber das Thema ist bei mir mitlerweile sowieso Geschichte. Vielleicht probier ich am Wochenende nochmal snplis' Methode aus. Ich glaube ich hatte aber schon alles durch.

Steffen
 

Gawain

Benutzer
Mitglied seit
02. Mai 2009
Beiträge
91
Punkte für Reaktionen
0
Punkte
0
Also ich hab qbics Kopier-Lösung angewendet und bisher läuft alles problemlos. Alles andere, was hier diskutiert wird, mutet mir dann doch eher chinesisch an ^^

In sofern bin ich sehr dankbar über die einfache Einzeilen-Lösung, da sie als Ergebnis das liefert, was ich haben will :)

Gawain
 

qbic

Benutzer
Mitglied seit
16. Aug 2008
Beiträge
478
Punkte für Reaktionen
0
Punkte
22
Was mich gerade mehr interessieren würde, wofür du den Blog als Startseite brauchst. Bei mir gab es einfach Probleme bei der Umsetzung von Domain-URL zu DynDNS-Url.

Für alles andere Fällt mir grad kein Anwendungsfall ein.
Aber ich lass mich gerne von etwas anderem überzeugen ;)
 

Gawain

Benutzer
Mitglied seit
02. Mai 2009
Beiträge
91
Punkte für Reaktionen
0
Punkte
0
Weil ich nur und ausschliesslich einen Blog will. Nu hab ich zwei Möglichkeiten:

1. Wordpress & Co installieren
2. Synology eigene Blog"software" verwenden

Bei 2. Müsste ich aber immer auf www.meineDS.de/blog/ hinweisen, weil bei www.meineDS.de stünde ja dann nix.

Mit deiner Lösung landet man nu auch mit www.meineDS.de direkt im Blog :)

Gawain
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Dies ist ein Auszug aus meiner /usr/syno/apache/conf/extra/httpd-autoindex.conf-user :

Rich (BBCode):
...
<Directory "/usr/syno/apache/icons">
    Options Indexes MultiViews
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^itari.syno-ds.de$
RewriteRule ^/(.*)$ "/cms4ds/$1"
RewriteCond %{HTTP_HOST} ^itari.blogsite.org$
RewriteRule ^/(.*)$ "/blogitari/$1"
RewriteCond %{HTTP_HOST} ^itari.pcip.de$
RewriteRule ^/(.*)$ "/itari/$1"
...

Damit habe ich mein Problem mit dem Pfad gelöst.

Itari

PS. Ich hab das auch schon an anderen Stellen hier im Forum veröffentlich gehabt. Dran denken, nach der Änderung den User-Apache bzw. das System neu starten.

PPS. Ich verwende im Beispiel DynDNS-Namen ... und selbstverständlich bei allen 3 Redirekten wird mein cms4ds (an 3 Stellen) aufgerufen. Ich habe damit auch meinen Blog gezaubert ... wie immer mit AJAX und superschnell - aber das muss ich ja niemanden mehr erzählen ;)
 
Zuletzt bearbeitet:

qbic

Benutzer
Mitglied seit
16. Aug 2008
Beiträge
478
Punkte für Reaktionen
0
Punkte
22
Wenn du eine eigene Domain hast, dann kannst du bei den Routing-Einstellungen direkt auf deinen Blog zeigen lassen.

Genau da liegt bei mir aber das Problem, denn DynDNS wird nur von wenigen Domain-Anbietern unterstützt. Das bedeutet im klartext: öfnnest du www.deinBlog.de (verweist auf deinDynDNS.irgendwas.me/blog) im Browser wird dir nach der Domainauflösung oftmals nur noch die DynDNS-Adresse angezeigt.

Ich selber habe mitlerweile das kopierte Blog wieder entfernt, da es ein für mich sehr unkomfortabler Ansatz ist.

Da nun aber wieder einige Zeit verstrichen ist seitdem ich dieses Problem angegangen bin und entnervt wieder aufgehört habe, bin ich neuen Mutes die ganze Sache nochmal aufzunehmen.
Mal schauen wie weit ich komme.

Dennoch nocheinmal danke für Itaris Ansatz mit ModRewrite. Ich komme langsam einfach nicht mehr um die schönen Apache-Einstellungen drum herum.
Es verfolgt mich irgendwie :D
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Reicht es denn eigentlich nicht in der Apache Conf den globalen DocRoot auf das Blogverzeichnis zu drehen? (unter der Voraussetzung, dass man unter dem DynDNS Domainnamen nur den Blog haben will)
 

qbic

Benutzer
Mitglied seit
16. Aug 2008
Beiträge
478
Punkte für Reaktionen
0
Punkte
22
Probier es aus und sag mir was bei dir passiert. Bei mir konnten die Module nicht mehr angezeigt werden.
Mehr dazu in meinem ersten Beitrag in diesem Thread und den weiterführenden link darin auf den Vorgängerthread.

Ich komm zur Zeit einfach nicht dazu nochmal zu probieren.
Jetzt steht erstmal Java an. Man zwingt uns doch wirklich das MVC Pattern in einem Beispiel per Hand auf ein Blatt zu schreiben.
Ist das für irgendjemanden von euch Praxisnah keine Entwicklungsumgebung zur Hand zu haben und den Code nicht mal testen zu können?
 

netsearch

Benutzer
Mitglied seit
15. Sep 2008
Beiträge
31
Punkte für Reaktionen
0
Punkte
0
Ich hab das Problem gelößt und es funktioniert alles genau so wie es soll.

Ob ich grad so glüklich drüber bin, weiß ich nicht so richtig, denn eigentlich ist es schon peinlich wie simpel die Lösung ist und ich trau mich schon fast garnicht diese eine Zeile hier rein zu schreiben.

Aber damit hier keiner auf dem trockenen bleibt:

1. Webstation aktivieren
2. Via SSH an der DS anmelden und folgenden Befehl absetzen

cp /usr/syno/synoman/phpsrc/blog/* -R /var/services/web

So damit hätten wir die Sache dann auch gelößt und das Blog ist als Startseite definiert.

<Gedankenmodus>
Meine Fresse nen Anwendungsentwickler arbeitet 2 Tage daran nen Ordner unter Linux zu kopieren, ich glaub ich erschieß mich !!!!! :mad:
</Gedankenmdus

Danke für eure Aufmerksamkeit und einen schönen Abend noch.

PS: Wenn ihr wollt geht mal drauf und sagt mir ob bei euch alles ordentlich funktioniert. Irgendwo muss es doch da einen Haken geben ô.Ò

Hallo, wie kann ich das wieder rückgängig machen?

Danke.
 

qbic

Benutzer
Mitglied seit
16. Aug 2008
Beiträge
478
Punkte für Reaktionen
0
Punkte
22
Rückgängig machen?
Also wenn du den Blog einfach nicht mehr als Startseite benutzen möchtest, brauchst du die blog-datein in dem Ordner /var/services/web einfach nur zu löschen.
Da reicht es also auch schon wenn du per Netzlaufwerk zugreifst und dort arbeitest.

Das Blog an sich wird dadurch nicht gelöscht denn der befehl cp hat die dateien schließlich nur nochmal woanders hinkopiert.

War das eine Hilfe oder wolltest du etwas anderes wissen?
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Wieso kopieren? Linken geht doch auch...
 

qbic

Benutzer
Mitglied seit
16. Aug 2008
Beiträge
478
Punkte für Reaktionen
0
Punkte
22
Versteh ich jetzt was falsch oder muss ich den ganzen Fall nochmal aufrollen?
Denn bei mir war es der Fall, das ein linken nicht funktioniert hat. Javascript-Elemente wurden nicht angezeigt, und und und.
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Ich hätte es so probiert:
Alles aus blog nach /volume1/web linken und dann in der autoindex einen Alias /blog/ auf /volume1/web setzen. imho dürfte sich dann auch JS nicht querlegen.
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat