php.de

Zurück   php.de > Webentwicklung > Server, Hosting und Workstations

Server, Hosting und Workstations Server-Konfigurationsdateien (.htaccess/httpd.conf) und Arbeiten auf Serverebene

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 14.04.2010, 01:16  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von G.Schuster Beitrag anzeigen
Auf dem Ziel-OS testen macht natürlich dennoch Sinn, insbesondere um Pfad-Probleme zu finden.
Kann man machen, wenn der Rest schon fertig ist.
Dass man noch mal „alles“ durchtestet, wenn es auf dem Server ist, bevor man es live schaltet, sollte auch selbstverständlich sein.

Zitat:
Jein...wenn der Kunde meint "das Testsystem ist noch nicht fertig, mach mal am Livesystem" hat man nicht so viele Optionen
Wenn er vorher schriftlich zusichert, die Verantwortung für alle sich ggf. daraus ergebenden Probleme zu übernehmen - meinetwegen.
ChrisB ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 14.04.2010, 11:46  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

Zitat:
Zitat von ChrisB Beitrag anzeigen
Kann man machen, wenn der Rest schon fertig ist.
Dass man noch mal „alles“ durchtestet, wenn es auf dem Server ist, bevor man es live schaltet, sollte auch selbstverständlich sein.
Für solche dinge hat man dann hoffentlich automatisierte tests (phpunit, selenium, ... ) ... weil bei jeder änderung/deployment alles händisch wieder testen ... ieehh
robo47 ist offline   Mit Zitat antworten
Alt 14.04.2010, 12:11  
Benutzer
 
Registriert seit: 21.02.2010
Beiträge: 70
PHP-Kenntnisse:
Fortgeschritten
d0ne befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von G.Schuster Beitrag anzeigen
Das eMail-Problem lässt sich leicht lösen: benutze SMTP.
Wie kann ich dadurch das Problem lösen? Ich benutze mail() und "das Problem" ist, dass lokal zwar so getan wird, als ob die E-Mail geschickt wird, diese aber nicht wirklich gesendet wird. So kann ich nicht überprüfen ob die E-Mail wirklich so wie gewünscht versendet wird ... Und wie würde SMPT mein Problem lösen!?

Zitat:
Zitat von G.Schuster Beitrag anzeigen
Auf dem Ziel-OS testen macht natürlich dennoch Sinn, insbesondere um Pfad-Probleme zu finden.
Ja, ich bleibe auch dabei, dass es so sinnvoller ist. Bei uns kommt noch hinzu, dass die Webseite/der Webservice nicht nur von mir getestet wird, sondern meine Scripte müssen mit einem (C++ ) Klienten kommunizieren. Wenn jetzt irgendetwas an der Kommunikation geändert wird, soll das natürlich nicht erst beim live-Betrieb getestet werden.

Zitat:
Zitat von G.Schuster Beitrag anzeigen
Am Einfachsten geht das wohl, indem du einen SVN-Checkout in der Testumgebung machst.
Da kannst du dir auch feine Scripts basteln, die das automatisieren.
Hab ich schon ein paar Mal gemacht, so dass nach jedem Commit automatisch ins Testsystem deployed wird inkl. CodeSniff etc.
Mh, hört sich gut an, hast du da vll. 'nen Link bzw. ein paar Stichworte zum googeln!?

Zitat:
Zitat von G.Schuster Beitrag anzeigen
Was das behalten von Dateien angeht - Stichwort svn:ignore
Gerade z.B. für Config-Files handhabe ich das einfach so, dass eine <config.xyz>.default ins SVN kommt und ein svn:ignore auf <config.xyz>.
Mache ich einen Checkout (egal ob lokal oder Testumgebung) bekomme ich nur die Default-Datei, die kopiere ich, passe sie an und fertig.
Die wird nie überschrieben, da a) nur die Default im SVN ist und b) ein Ignore auf der eigentlichen Datei liegt, was sie beim Committen unberücksichtigt lässt.
Mh, joa, aber mein eigentliches Problem ist nicht, dass ich bestimmte Dateien nichts ins SVN-Rep haben möchte, sondern dass ich sie beim hochladen - perFTP - nicht überschreibe.
Ich habe dann lokal einen Ordner "ProjektName" und auf dem Server einen Ordner "ProjektName" (Der Ordner ist auf dem Server irgendwie per DNS oder ähnlich so konfiguriert, dass er über ProjektName.de erreichbar ist).
Jetzt habe ich das bis jetzt so gemacht, dass ich den lokalen "ProjektName"-Ordner nach "ProjektName_Upload" kopiert habe, in "ProjektName_Upload" ale Configs etc. geändert habe und dann diesen Ordner hoch geladen habe. Per FTP habe ich dann den "alten" Server-Ordner umbenannt "ProjektName.DATUM.bck" und denn "ProjektName_Upload" in "ProjektName". Fertig war der Upload, und jetzt ist es aber so, dass ich in dem Server-Ordner einige Ordner/Dateien habe, die ich nicht überschreiben/ bzw. "verschwinden" lassen möchte. ...

Ich glaube ziemlich verwirrend, hoffentlich wird jemand d'raus schlau...

Zitat:
Zitat von robo47 Beitrag anzeigen
Für solche dinge hat man dann hoffentlich automatisierte tests (phpunit, selenium, ... ) ... weil bei jeder änderung/deployment alles händisch wieder testen ... ieehh
Ich sehe schon, ich kann mich nicht länger um solche Test drücken. -.-
Aber zB. habe ich in der lokalen .htacces einige Pfade stehen, die auf dem Server anders sind - das muss ich doch a) per Hand ändern und b) manuell testen - oder!?


mfg
d0ne
d0ne ist offline   Mit Zitat antworten
Alt 14.04.2010, 12:34  
Erfahrener Benutzer
 
Registriert seit: 21.12.2009
Beiträge: 415
PHP-Kenntnisse:
Fortgeschritten
G.Schuster ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Zitat von d0ne Beitrag anzeigen
Wie kann ich dadurch das Problem lösen?
...
Und wie würde SMPT mein Problem lösen!?
SMTP löst dein Problem in sofern, dass der Versand auch wirklich ausgeführt wird.
mail() ist nicht grade der Brüller, insbesondere wenn man komplexere Mails versenden möchte oder eben auf Windows angewiesen ist.

Zitat:
Zitat von d0ne Beitrag anzeigen
Mh, hört sich gut an, hast du da vll. 'nen Link bzw. ein paar Stichworte zum googeln!?
Nicht wirklich.
Schau dich einfach mal auf subversion.apache.org um, wenn mich nicht alles täuscht müssten die auch die ganzen Contributed Scripts von Tigris übernommen haben.
Ich hab sowas bisher immer selbst gebaut, daher kann ich dir da nicht mit sonderlich viel Hilfe dienen.

Zitat:
Zitat von d0ne Beitrag anzeigen
Mh, joa, aber mein eigentliches Problem ist nicht, dass ich bestimmte Dateien nichts ins SVN-Rep haben möchte, sondern dass ich sie beim hochladen - perFTP - nicht überschreibe.
Deshalb der Checkout aufs Zielsystem.
Hast du z.B. einen Upload-Ordner, der ja zwangsläufig unterschiedliche Inhalte haben wird, setze ein svn:ignore - et voila, die Inhalte bleiben unberührt und trotzdem kannst du ein einfaches "svn up" für das Gesamtprojekt machen.
Gleiches gilt für meinen Tipp mit den Default-Configs.
Die "Richtigen" werden nie überschrieben, müssen also auch nicht jedes Mal neu angepasst werden.
Lediglich wenn du die Default-Config änderst musst du einmalig die Änderungen nachziehen.
__________________
actra.development - Schwabstr. 2 - 70825 Münchingen
www.actra.de/velopment/ - eMail: php.de@actra.de
Zend Certified Engineer for PHP5
G.Schuster ist offline   Mit Zitat antworten
Alt 14.04.2010, 12:42  
Benutzer
 
Registriert seit: 21.02.2010
Beiträge: 70
PHP-Kenntnisse:
Fortgeschritten
d0ne befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von G.Schuster Beitrag anzeigen
mail() ist nicht grade der Brüller, insbesondere wenn man komplexere Mails versenden möchte oder eben auf Windows angewiesen ist.
Naja, bis jetzt reicht mir mail()und so schlimm finde ich das mit dem E-Mail senden auch nicht - auf jeden Fall kein Punkt, für den in in den nächsten Tagen Zeit habe!

Zitat:
Zitat von G.Schuster Beitrag anzeigen
Ich hab sowas bisher immer selbst gebaut, daher kann ich dir da nicht mit sonderlich viel Hilfe dienen.
Aber wenn du es doch selber gemacht hast, solltest du doch wissen, wie es geht - oder!?

Zitat:
Zitat von G.Schuster Beitrag anzeigen
Deshalb der Checkout aufs Zielsystem.
Hast du z.B. einen Upload-Ordner, der ja zwangsläufig unterschiedliche Inhalte haben wird, setze ein svn:ignore - et voila, die Inhalte bleiben unberührt und trotzdem kannst du ein einfaches "svn up" für das Gesamtprojekt machen.
Mh, sry ich habe einfach noch nicht so viel Erfahrung mit SVN ...
Aber "svn up" kann ich doch nur machen, wenn der Ordner auf dem Webspace ein Repositorium ist, oder nicht!?
Der ORdner auf dem Webspace ist ein ganz normales Verzeichnis mit "ein paar" Scripten drin -das Verzeichnis hat mit SVN doch gar nichts zu tun!?

mfg
d0ne
d0ne ist offline   Mit Zitat antworten
Alt 14.04.2010, 13:14  
Erfahrener Benutzer
 
Registriert seit: 21.12.2009
Beiträge: 415
PHP-Kenntnisse:
Fortgeschritten
G.Schuster ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Zitat von d0ne Beitrag anzeigen
Aber wenn du es doch selber gemacht hast, solltest du doch wissen, wie es geht - oder!?
Ich weiß schon wie es geht - nur verdiene ich eben mit genau solchen Geschichten mein Geld

Zitat:
Zitat von d0ne Beitrag anzeigen
Aber "svn up" kann ich doch nur machen, wenn der Ordner auf dem Webspace ein Repositorium ist, oder nicht!?
Kein Repository - eine Working Copy.
Das setzt natürlich einen SSH-Zugang voraus, lohnt aber wirklich, wenn man dauerhaft weiterentwickelt und somit viele Updates anfallen.
Und gerade wenn man so Sondefälle hat, dass Dateien nicht geändert werden dürfen verhindert es (weitgehend) Fehler, die man beim händischen Aktualisieren gerne mal aus Unachtsamkeit macht.
__________________
actra.development - Schwabstr. 2 - 70825 Münchingen
www.actra.de/velopment/ - eMail: php.de@actra.de
Zend Certified Engineer for PHP5
G.Schuster ist offline   Mit Zitat antworten
Alt 14.04.2010, 13:19  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

Zitat:
Zitat von d0ne Beitrag anzeigen
Wie kann ich dadurch das Problem lösen? Ich benutze mail() und "das Problem" ist, dass lokal zwar so getan wird, als ob die E-Mail geschickt wird, diese aber nicht wirklich gesendet wird. So kann ich nicht überprüfen ob die E-Mail wirklich so wie gewünscht versendet wird ... Und wie würde SMPT mein Problem lösen!?
Nutze anstatt mail() direkt eine Mailer-Klasse wie phpmailer, Zend_Mail, Swiftmailer, .... und versende via smtp, die meisten dieser systeme können dann anstatt smtp auch auf dem produktiv-system wenn es sein muss via mail() senden.
-> Mail() ist tot, es lebe mail()

Zitat:
Ich sehe schon, ich kann mich nicht länger um solche Test drücken. -.-
Aber zB. habe ich in der lokalen .htacces einige Pfade stehen, die auf dem Server anders sind - das muss ich doch a) per Hand ändern und b) manuell testen - oder!?
Die fehlt ein build und deploy-prozess. wenn die Daten auf verschiedenen System verschieden sind solltest du Dateien "generierbar" machen.
sprich du hast ein script in einer sprache deiner wahl, configs (für jedes system wohin du das system installieren willst oder für das du builden willst) und "templates" von den dateien z.b. der htaccess
dann ersetzt das script in den templates die variablen durch die daten aus der config und speichert sie in die passenden dateien.
das wäre der build-teil.
Beim deployment geht es noch den schritt weiter, dass die Applikation direkt auf das System übertragen wird, da gibt es etliche verschiedene ansätze die auch immer davon abhängen was man auf dem zielsystem machen kann.
Man kann dann das ganze via ftp/ssh/(d)vcs)rsync oder sonstigem übertragen.
ausserdem lassen sich dabei noch migrationen einbauen, z.b. änderungen an der Datenbank die nötig sind, umbennen von Dateien/verzeichnissen.

In dem Bereich gibt es verschiedene Tools in verschiedenen Sprachen. Ant (Java), Maven (Java), Phing (PHP), Pake (PHP) um nur ein paar zu nennen.

Zu den tests gerade für das test-system kannst du dir mit selenium und dem Firefox-Plugin davon sehr schön einfache tests zusammenklicken, die kannst du dann direkt im browser ausführen lassen und damit auch Javascript-Interaktionen abdecken, kombiniert mit PHPUnit (Selenium kann Tests als PHP-Code für PHPUnit exportieren) lässt sich das ganze noch erweitern, man kann via Selenium und nem Browser eine Interaktion ausführen lassen (neuen Artikel anlegen) und via PHP dann überprüfen ob der Eintrag auch wirklich in der Datenbank mit den richtigen Daten angelegt wurde, gleiches für Fehlermeldungen die unter gewissen Umständen kommen sollen und soweiter.
robo47 ist offline   Mit Zitat antworten
Alt 14.04.2010, 13:47  
Benutzer
 
Registriert seit: 21.02.2010
Beiträge: 70
PHP-Kenntnisse:
Fortgeschritten
d0ne befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von G.Schuster Beitrag anzeigen
Ich weiß schon wie es geht - nur verdiene ich eben mit genau solchen Geschichten mein Geld
Verstehe. ^^
Zitat:
Zitat von G.Schuster Beitrag anzeigen
Kein Repository - eine Working Copy.
Meine ich doch! ;P
Zitat:
Zitat von G.Schuster Beitrag anzeigen
Das setzt natürlich einen SSH-Zugang voraus
Ich war schon deprimiert, weil ich der Meinung war, ich hätte keine, aber ich habe einen, also los gehts!

Zitat:
Zitat von G.Schuster Beitrag anzeigen
lohnt aber wirklich, wenn man dauerhaft weiterentwickelt und somit viele Updates anfallen.
Und gerade wenn man so Sondefälle hat, dass Dateien nicht geändert werden dürfen verhindert es (weitgehend) Fehler, die man beim händischen Aktualisieren gerne mal aus Unachtsamkeit macht.
Mh, ok, dann ich den SSH-Zugang habe, werde ich mich damit morgen (heute habe ich frei :P) auseinander setzten.

Zitat:
Nutze anstatt mail() direkt eine Mailer-Klasse wie phpmailer, Zend_Mail, Swiftmailer, .... und versende via smtp, die meisten dieser systeme können dann anstatt smtp auch auf dem produktiv-system wenn es sein muss via mail() senden.
Ok, ich werde mich da mal einarbeiten/einlesen.
Und wenn ich dann so eine Mailer-Klasse benutze kann ich auch lokal "richtig E-Mails versenden"? Das wäre natürlich sehr praktisch...

Zitat:
Beim deployment geht es noch den schritt weiter, dass die Applikation direkt auf das System übertragen wird,
Hier habe ich den Unterschied build- <-> deploy-prozess noch nicht ganz verstanden!?

Ich werde mich damit mal aus einander setzen, aber das hört sich ja schon recht komlpex an, zum mal es ja - wenn es mir Arbei abnehmen soll - richtig funktionieren muss...

Sobald ich weitere Fragen der Erfolgserlebnisse habe, melde ich mich!

mfg
d0ne
d0ne ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
LOAD DATA LOCAL INFILE mit PDO_MYSQLl unter PHP most Datenbanken 7 16.02.2010 13:04
OpenID und XAMPP nanatsusaia PHP Tipps 2009 2 20.11.2009 13:21
Probleme mit Bildgenerierung swsche PHP Tipps 2009 8 31.10.2009 14:49
Scriptangebot IV Content Management System Master IV Scriptbörse 0 06.10.2009 15:09
Fehler beim kompilieren von php 5.2.9 malio Server, Hosting und Workstations 11 05.06.2009 18:40
system() flush und Safari webbi PHP-Fortgeschrittene 6 07.07.2008 21:30
ComputerVerwaltung / System / Ereignisanzeige dh1sbg PHP-Fortgeschrittene 3 17.11.2006 01:42
Was mime_content_type übergeben dethlef14 PHP Tipps 2006 16 11.10.2006 17:35
system() - Befehle werden einfach ignoriert sad PHP-Fortgeschrittene 9 18.04.2006 18:12
PHP-Safe-Mode Configuration mit Xampp - Scripts laufen nicht DerN8WaechterX PHP Tipps 2006 7 27.01.2006 00:41
[Erledigt] Exim --- Mailserver empfängt keine Mails Server, Hosting und Workstations 4 23.12.2005 18:28
29.07.05: System Administrator Appreciation Day!! Off-Topic Diskussionen 2 25.07.2005 09:15
Chat System Chat System Beitragsarchiv 3 21.06.2005 17:07

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
zielsystem \content management system\ \live system\, svn live system, selenium pfadangaben

Alle Zeitangaben in WEZ +2. Es ist jetzt 22:52 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum