sabine: 2 Webserver??? und zeitschätzung php

Hallo!

Einige von euch werden jetzt wohl grinsen, da ich wie befürchtet heute schon im php-Bereich poste ...

Ich habe 2 Fragen, habe mir phptriad heute downgeloadet und installiert um meine php-Skripte offline zu testen. Hat soweit (glaube ich) ganz gut geklappt, aber: Ich habe auch den PWS installiert und wenn ich nun auf http://localhost gehe, bekomme ich immer die Startseite des PWS und nicht von Apache. Wie kann ich die 2 getrennt zum Laufen bringen? Das Beenden des PWS bringt nix, habe ich schon versucht.

Meine 2. Frage, einige von euch haben mir gestern sehr geholfen, dadurch habe ich nun einen Plan für die mir bevorstehenden Aufgaben (kommt gleich) - was sagt ihr zu meiner Zeitschätzung für einen Profi im Php (so einer bin ich überhaupt nicht, im Gegenteil, ich dachte mir für mich als Anfänger dann ca. das 3 - 4fache)

1. Contentmanagement:

Startseite von dieser gehen 6 Links zu Produkten bzw. Dienstleistungen weg. Für jedes Produkt bestehen 3 Unterseiten (allgemein, detaillierte Beschreibung, Bestellung), für jede Dienstleistung 2 (Beschreibung, Anfrage). All diese Seiten (max, also 19) sollen über das kleine cms editierbar sein, ebenfalls die Mail-Texte (siehe Punkt 2). Geplante Vorgangsweise php mit MySQL

2. Automail:

Automatischer mail-Versand wenn ein Formular abgeschickt wurde, je nach Produkt/Dienstleistung unterschiedliches mail, zusätzlich zwei weitere mails für 2 weiter Formulare. Insgesamt also 8 unterschiedliche Automails. Geplant ebenfalls php

3. Statistik:

Statistik wie oft die einzelnen Seiten aufgerufen wurden. (reines Zählen, keine Detaillierungen wie Browser o.ä.). Geplant ebenfalls php

Zusätzlich eine Oberfläche, in der der jeweilige Benutzer nach Login Zugang zu obigen Punkten hat. Benutzer gibt es max. 7 zur gleichen Zeit, einer jeweils für ein Produktfenster und einen Administrator, der alles ändern kann und die Freigabe (bei Änderungen der User) regeln kann.

lg
Sabine

  1. Hi nochmal!

    Die Zeiten hab ich vergessen :)

    1. Contentmanagement:

    2 Manntage

    1. Automail:

    3 Stunden

    1. Statistik:

    1 Stunde

    4. Oberfläche

    1 Stunde

    lg
    Sabine

    1. Hi Sabine,

      1. Contentmanagement:
        2 Manntage
      2. Automail:
        3 Stunden
      3. Statistik:
        1 Stunde
      1. Oberfläche
        1 Stunde

      Hm. Ich sehe mich nicht in der Lage, dazu einen wertenden Kommentar abzugeben. Es kann genauso gut hinkommen wie um einen Faktor 5 daneben liegen.

      Das Problem dabei ist, daß ich nicht beurteilen kann, was Du schon alles kennst (nicht "kannst"). Ein großer Teil dessen, was Du beschreibst, besteht nicht aus Programmieren, sondern aus Verstehen, Installieren, Konfigurieren etc. Deine Fragen klingen aber so, als sei einiges davon Neuland für Dich; das macht es aber besonders schwer, etwas zu schätzen (bisher machst Du den Eindruck, als ob Dein Lerntempo weit über dem Durchschnitt der Forum-Fragesteller liegt).
      Wenn ich überhaupt etwas schätzen möchte dann: Deine Fragen klingen so, als ob der prozentuale Anteil, den Du mit Lesen und Suchen verbringen wirst, größer sein wird als derjenige, den Du mit Programmieren verbringen wirst. Dies hängt natürlich wesentlich von der Schmackofatz-Ausbaustufe des CMS ab - aber dieses hast Du m. E. als "tendentiell spartanisch" dargestellt, und darauf baut meine Einschätzung.
      Ein unklarer Punkt ist für mich die Frage der Benutzerkontrolle - ob Du dort Sessions brauchst oder nicht, kann einiges ausmachen.

      Alles in allem ist das ein ganz schön komplexes System, das Du da zusammenbaust - nicht, was die Anzahl der Codezeilen angeht, sondern was die Menge der verschiedenen Themenbereiche betrifft. Wenn Du das alles in dieser kurzen Zeit in Dich hineinsaugst, dann bist Du wirklich ein Multitalent.

      Viele Grüße
            Michael

      1. Hallo!

        Ich danke euch allen herzlich für eure Kommentare. Wie ihr auch schon erkannt habt, bin ich Anfänger in der PHP-Programmierung. Allerdings habe ich recht passable Kenntnisse in ASP, weshalb ich mich auch recht optimistisch gebe - die Sprache PHP ist für mich zwar neu, aber eben nicht das Drumherum, die grundsätzlcihe Funktionsweise von solchen Systemen, was ist zu beachten, wie spielen die Dinge zusammen etc.

        Ich weiß. dass ich ein hartes Stück Arbeit vor mir habe, doch ich sehe es als Herausforderung und hoffe, dass ich diese bewältigen werde.

        Liebe Grüße
        Sabine

    2. Die Zeiten hab ich vergessen :)

      Ich schätze mal mit:

      1. Contentmanagement:

      2 Manntage

      Das letzte Mal, daß ich ein bestehendes System auch einsatzfähig gemacht habe (Strukturen und Datenbank bestanden schon, also nur Skripte durchlesen, verstehen, Sinn reinbringen), hat eine Mannwoche gebraucht. Und ich würde mich durchaus als einigermaßen erfahren mit Programmieren im Allgemeinen und PHP im speziellen bezeichnen.

      1. Automail:

      3 Stunden

      Neu erstellen nicht in weniger als einem Manntag.

      1. Statistik:

      1 Stunde

      Wenn man weiß, wie. Webalizer installieren, Logfiles rotieren lassen, Konfiguration ausreichend einstellen - alles Dinge, die hinterher (nach dem Start der Site) gemacht werden können, zumal auch erstmal etwas Daten vorhanden sein müssen, aber dafür würde ich nicht weniger als einen Tag einrechnen. Statistik hat viel mit "gefallen mir die Zahlen" zu tun.

      1. Oberfläche

      1 Stunde

      Niemals. Zwei Tage, vielleicht drei. Oberflächen fallen nicht vom Himmel.

      lg
      Sabine

      Naja, zumindest hast du jetzt eine zweite Meinung dazu.

      Wenn bis Ende Februar Zeit ist, habe ich keine Bedenken, daß es bis dahin fertig würde, aber der Teufel steckt im Detail.

      - Sven Rautenberg

      1. Hallo,

        aber der Teufel steckt im Detail.

        das ist genau der springende Punkt, der bei jeder Projektplanung zu beachten ist. Selbst wenn Sabines Zeitrahmen einzuhalten wäre, es ist auf keinen Fall Luft für unvorhergesehene Dinge eingeplant. Solche Planungsfehler haben schon vielen größeren Projekten das Genick gebrochen.

        Ich würde mal aus dem Bauch raus (und mit ebenfalls einiger Erfahrung) sagen, daß das ganze in einer Woche präsentabel sein müsste. Und es gibt ja immer irgendwelche Verbesserungen und Wünsche vom Kunden, so daß ich noch ein zwei Tage einplanen würde (so für die Kalkulation).

        Viele Grüße,
        Achim

  2. Huhu Sabine

    wann soll es denn fertig sein?

    Also ich "stricke" schon seit längerer Zeit an einem kleinen ContentManagement-System herum und finde Deine Zeitschätzungen _sehr_ optimistisch.

    Ist natürlich ein schönes "Übe-Projekt" da man dabei sehr weit in der Welt der PHP-Funktionen rumkommt, ist aber IMHO kein Wochenendausflug.
    Gerade ein einigermaßen DAUser-taugliches Web-Interface zur Datenpflege macht viel Arbeit.

    Viele Grüße und viel Spass beim PHPen

    lulu

    1. Hallo Lulu!

      wann soll es denn fertig sein?

      Ist noch nicht konkretisiert, erster grober Zeitrahmen Ende Februar.

      Also ich "stricke" schon seit längerer Zeit an einem kleinen ContentManagement-System herum und finde Deine Zeitschätzungen _sehr_ optimistisch.

      Wie gesagt, das wären die Zeiten für einen Profi. Die für mich eingeplante Zeit ist dann 3 - 4x so hoch. Was würdest du denn schätzen?

      Ist natürlich ein schönes "Übe-Projekt" da man dabei sehr weit in der Welt der PHP-Funktionen rumkommt, ist aber IMHO kein Wochenendausflug.

      Das weiß ich, aber Mut lässt sich ja bekanntlich nicht kaufen :).

      Gerade ein einigermaßen DAUser-taugliches Web-Interface zur Datenpflege macht viel Arbeit.

      Viele Grüße und viel Spass beim PHPen

      Danke, dir auch!

      lg
      Sabine

      lulu

      1. Huhu Sabine

        ich lasse mich nur _sehr_ ungern zu Zeitschätzungen hinreissen, denn erstens dauert es länger und 2tens ...

        Am Besten Du schreibst erstmal die gewünschten Features auf und versuchst dann zu skizzieren wie das in DB-Tabellen umgesetzt werden könnte, ob und wie Templates zum Einsatz kommen etc..
        Wichtig ist auch zu wissen ob und wie das ganze customized werden muss/ soll.

        Viele Grüße

        lulu

  3. Hi Sabine,

    Hat soweit (glaube ich) ganz gut geklappt, aber: Ich habe auch den PWS
    installiert und wenn ich nun auf http://localhost gehe, bekomme ich
    immer die Startseite des PWS und nicht von Apache.
    Wie kann ich die 2 getrennt zum Laufen bringen?

    Was passiert denn genau, wenn Du den Apache startest?

    Falls es Probleme gibt, solltest Du das nicht über Klicki-Bunti tun, sondern aus einer Kommando-Box heraus ("apache.exe" im entsprechenden Verzeichnis starten), dann siehst Du eventuelle Fehlermeldungen des Apache (vielleicht findet er irgend ein Verzeichnis nicht, oder es ist ein Syntaxfehler in der Konfiguration - das meldet der alles nach stdout).

    Auch der Inhalt der "logs/error_log" ist in solchen Fällen ggf. hilfreich.

    Das Beenden des PWS bringt nix, habe ich schon versucht.

    Doch, das bringt auch etwas.

    Du kannst nicht zwei Webserver _gleichzeitig_ denselben Port belauschen lassen.
    Mit "http://localhost/" sprichst Du implizit den Port 80 an. Wenn Du beide Server sogar simultan laufen lassen willst (zu Entwicklungszwecken, beispielsweise - für mehrere Domains gibt es eine bessere Lösung mit einem einzigen Server), dann gib einem von beiden einen anderen Port.
    (In der Apache-Datei "conf/httpd.conf" gibt es eine Zeile "Port 80", dort kannst Du einen anderen Port eintragen und den Server danach starten; um mit keinem bekanntem TCP/IP-Dienst zu kollidieren, nimm eine hohe Port-Nummer, z. B. 8080, und gib dann dann im Browser "http://localhost:8080/" an.)

    All diese Seiten (max, also 19) sollen über das kleine cms editierbar
    sein, ebenfalls die Mail-Texte (siehe Punkt 2).
    Geplante Vorgangsweise php mit MySQL

    Je generischer Du Deine Skripte schreibst, desto weniger wichtig ist die Anzahl der Seiten. Wenn alle Seiten gleichartig bearbeitet werden sollen und Deine Funktionen sämtliche relevanten Angaben über Parameter erhalten, dann ist es egal, ob Du 5 oder 500 Seiten hast.
    Ich schätze, der Schritt von "eine konkrete Seite bearbeiten" zu "eine beliebige Seite bearbeiten" sind 50-100% zusätzlich (in Deinem Fall eher an der Untergrenze, weil Du mit mySQL schon für die erste Seite relativ viele Dinge können mußt), und dabei lernst Du viel über die Art und Weise, in dieser Sprache modular zu programmieren. (Das ist weitgehend unabhängig von der Sprache gültig - PHP selbst kann ich nicht einschätzen - und Du kannst Kenntnisse aus anderen prozeduralen Sprachen natürlich mit verwenden. Ein guter Programmierstil lohnt sich überall.)

    Automatischer mail-Versand wenn ein Formular abgeschickt wurde,
    je nach Produkt/Dienstleistung unterschiedliches mail, zusätzlich
    zwei weitere mails für 2 weiter Formulare. Insgesamt also 8
    unterschiedliche Automails. Geplant ebenfalls php

    Abhängig von der Flexibilität der Mails (das ist wahrscheinlich der kleinere Teil) schätze ich den Hauptaufwand dafür, die passende API zu suchen und irgendwelche vordefinierten Funktionen aufzurufen.
    Mails versenden ist nichts, was man selbst programmiert - das gibt es schon irgendwo als Modul, da bin ich mir sicher. Finden, lesen, aufrufen, testen & debuggen - es wird relativ wenig eigener Code werden, kann aber ein Weilchen dauern, bis alles so läuft, wie Du es brauchst. (Beispielsweise brauchst Du irgendwo einen SMTP-Host, der das Versenden für Dich macht - hast Du den schon irgendwo?)

    Statistik wie oft die einzelnen Seiten aufgerufen wurden.
    (reines Zählen, keine Detaillierungen wie Browser o.ä.).
    Geplant ebenfalls php

    Je nachdem, wie genau Du diese Information brauchst, würde ich sie ggf. überhaupt nicht selbst realisieren, sondern dafür ein Standardprodukt einsetzen.
    Schau Dir mal http://webalizer.teamone.de/selfforum/usage_200201.htm an - und überlege Dir, ob so etwas nicht einfach ausreicht.
    (Das Programm liest Webserver-Logs im Standardformat, also etwas wie Dein Apache-access_log.)

    Zusätzlich eine Oberfläche, in der der jeweilige Benutzer nach Login
    Zugang zu obigen Punkten hat.

    Server Authentication läßt sich über Konfiguration des jeweiligen Webservers realisieren - darüber gäbe es hier auch Artikel. Aber ...

    Benutzer gibt es max. 7 zur gleichen Zeit,

    Soll das "gibt es" oder "darf es geben" heißen? Das wäre ein signifikanter Unterschied.
    Über Server Authentication schließt Du Mehrfach-Logins mit derselben Kennung nicht aus - das müßtest Du administrativ tun. Falls Du das nicht darfst, wirst es lästig - denn dann müßtest Du ein Session-Konzept einsetzen. Das gibt es wohl auch schon irgendwie in PHP, aber das wäre auch wieder einiges durchzulesen.

    einer jeweils für ein Produktfenster und einen Administrator, der alles
    ändern kann und die Freigabe (bei Änderungen der User) regeln kann.

    Also bedingte Seitengenerierung in Abhängigkeit von der Login-Kennung? Dafür würde Server-Authentication ausreichen. (Du bekommt den Namen des Benutzers als Environment-Variable).

    Viele Grüße
          Michael