Installation
Hier erfahren sie, wie sie die AFPX auf einem Internetserver installieren.
Die Installation kann sich minimalst unterscheiden, je nach dem welches Betriebssystem sie verwenden.
Achten sie auch auf die Spezialitäten, welche sich bei 64Bit Systemen ergeben.
ACHTUNG: 99,9% der Fehler stammen immer von irgendwelchen Rechte-Problemen. Es ist sehr wichtig, darauf zu achten, dass die Zugriffsrechte stimmen. Sollten sie Probleme haben, so sehen sie im Ereignislog nach, denn da werden die Fehler protokolliert.
Runtime auf dem Server installieren
Diese erhalten sie zB hier:
http://code.msdn.microsoft.com/FoxPro/Release/ProjectReleases.aspx?ReleaseId=125oder hier
http://www.foxpert.com/runtime.htmoder hier
http://www.visualextend.de/downloads.htmLokalen User anlegen
Um verschiedenen Problemen bei der Rechtevergabe von Anfang an aus dem Weg zu gehen, ist es am besten einen lokalen User am Server anzulegen
Vorschlag:
AFPX Um zu testen ob auch garantiert ein lokaler User mit genügend Rechten angelegt wurde, empfehle ich sich am Server als dieser User auch einmal anzumelden.
In einer Domainumgebung besonders wichtig, dass man vorher das Netzwerk deaktiviert, denn dies ist der am meisten gemachte Fehler von Anfängern, dass der angelegte User keine lokalen Zugriffsrechte besitzt. Dies testen sie jedoch am einfachsten, indem sie das Netzwerkkabel abziehen und dadurch gezwungen sind sich lokal anzumelden.
Es versteht sich von selbst, dass der User genügend Rechte benötigt um FoxPro Programme auszuführen und auf die Daten zuzugreifen. Außerdem ist es sehr wichtig zu testen ob der User auch die Leserechte im Internetverzeichnis hat (normalerweise unter c:\inetpub\wwwroot oder das jeweilige Verzeichnis unter dem sich die AFP-Seiten befinden)
Verzeichnisse anlegen
Kopieren sie den Inhalt von afpx.zip in ein eigenes Verzeichnis und den Inhalt der afpxdll.zip ebenfalls in ein eigenes Verzeichnis.
zB: c:\afpx und c:\afpxdll
Es versteht sich von selbst, dass der neu angelegte User Rechte besitzt in diesen Verzeichnissen voll zuzugreifen.
AFPX.EXE registrieren
Wechseln sie dazu in einem Command-Fenster in das AFPX-Verzeichnis.
Rufen sie folgenden Befehl auf:
afpx.exe /regserver
Dadurch wird die AFPX als COM-Server im System registriert.
DCOMCNFG
Starten sie über Start / Ausführen das Programm
dcomcnfg.exe
ACHTUNG: Unter 64Bit Systemen müssen sie die 32 Bit Variante verwenden
mmc comexp.msc /32
Es existiert zwar auch eine dcomcnfg.exe aber mit dieser ist es nicht möglich 32 Bit COM-EXE´n zu bearbeiten. Ansonsten sehen beide Varianten jedoch identisch aus.
Ich habe hier Windows 7 64Bit in Deutsch. Unter Englisch sieht es jedoch nicht anders aus.
Wählen sie mit der rechten Maustaste die Eigenschaften für afpx.AFPX
Ganz wichtig ist der Mittlere Haken, ohne den nichts läuft.
Darauf achten, dass der IUSR bei den Startberechtigungen dabei ist
Und auch bei den Zugriffsberechtigungen
Hier geben sie den User an, der (wie weiter oben beschrieben) die AFPX ausführen soll.
IIS einrichten
Leider hat sich von IIS5 bis zur aktuellen Version das Aussehen der Masken stark geändert. Ich zeige hier das aktuellste unter Windows 7 64Bit, welches auch einem Windows Server 2008 R2 entspricht. Aber die Programmpunkte sind in allen Versionen auffindbar.
Achten sie auf den 64Bit Hinweis
Starten sie den IIS-Manager aus der Verwaltung heraus und legen sie einen neuen ApplikationPool an.
Machen sie dabei eine Kopie des Default-APPPools und nennen sie ihn am besten AFPX.
Nun gegen sie in die erweiterten Einstellungen
ACHTUNG Unter 64Bit Systemen ist es essentiell den 32Bit Modus einzuschalten.
Lassen sie den App-Pool unter dem bereits weiter oben angelegten Useraccount laufen.
Wählen sie ihre Webseite an, unter der die AFPX laufen soll. Unter Windows7 kann es immer nur eine geben, außer sie verwenden verschiedene Ports.
Unter Windows-Server kann es natürlich eine Vielzahl an verschiedenen Webseiten unter verschiedenen Domains geben.
Wichtig sind nun die Handlerzuordnung und eventuell die Einstellung für das Standarddokument
Bei Handlerzuordnungen fügen sie eine neue Scriptzuordnung hinzu.
Wählen sie *.afp und die abpxisapi.dll in dem Verzeichnis in dem sie diese hinein kopiert haben
Es kann auch *.PRG, *.FXP, *.AFPX oder sogar *.HTM verwendet werden. Bei letzterem werden generell alle HTM-Seiten durch die AFP geschickt.
Beim Standarddokument macht es Sinn ein default.afp anzugeben, damit auch Links zu Webseiten sofort etwas anzeigen, und man nicht die Meldung bekommt, dass "Durchsuchen" nicht erlaubt sei.
Testen der Funktion
Rufen sie folgenden Link auf:
http://localhost/status.afp/Status
Es wird dadurch nur die afpxisapi.dll angesprochen und der Status zurück geliefert.
Die URL status.afp/status ist nicht fest vergeben, sie ist per default aber so in der afpxisapi.ini definiert und sollte im Echtbetrieb geändert werden.
Ist der Bildschirm grün, so klappt der Zugriff auf die isapi-dll
Im Verzeichnis c:\afpx (oder wo auch immer sie die EXE hinkopiert haben) liegt auch noch eine default.afp.
Kopieren sie diese in das Rootverzeichnis ihres Webservers. Normalerweise c:\inetpub\wwwroot
Mit
http://localhost/default.afp
wird dann via aspxisapi.dll der COM-Server afpx.afpx aufgerufen und die AFP-Seite abgearbeitet.
Hier werden das aktuelle Datum und die Ausgabe von fox.info() angezeigt.
Wenn sie diese Seite sehen, hat alles geklappt.
Nach der Installation finden sie eine web.config in Ihrem root-Verzeichnis. Siehe:
web.config