Seite 1 von 1

Ich bastel mir eine Portable...

Verfasst: Do 1. Mär 2018, 18:18
von shadowcat
Da ich immer öfter Probleme mit USBWebserver habe (und das Ding auch weder weiterentwickelt noch supportet wird), dachte ich mir, ich bastel mir mal was "Kleine(re)s". :lol:

Was brauche ich *mindestens*?

PHP
mySQL oder mariaDB

Was brauche ich *nicht*?

Apache Webserver

PHP bringt seit Version 5.4 einen eingebauten Webserver mit. Den wollte ich jetzt mal nutzen, denn allein der Apache benötigt im USBWebserver 55 MB.

PHP strippen

Tatsächlich braucht man das meiste aus der PHP-Installation gar nicht. Übrig geblieben sind bei mir:

Code: Alles auswählen

PHP
|   libeay32.dll
|   libssh2.dll
|   nghttp2.dll
|   php.exe
|   php.ini
|   php7ts.dll
|   ssleay32.dll
|   
+---ext
|       php_curl.dll
|       php_fileinfo.dll
|       php_mbstring.dll
|       php_pdo_mysql.dll
Na das ist doch wirklich sparsam. :mrgreen: Es verbleiben rund 15 MB Größe.

mariaDB strippen

Hier gilt eigentlich das gleiche wie bei PHP.

Code: Alles auswählen

MARIADB
|   help.txt
|   
+---bin
|       mysqld.exe
|       
+---data
| --- hier liegen die Datenbanken... ---
|
+---share
|   |   errmsg.sys
|   |   
|   +---english
|   |       errmsg.sys
|   |       
|   \---german
|           errmsg.sys
| 
Es verbleiben knapp 12 MB plus Datenbanken, bei mir insgesamt etwas mehr als 200 MB.

PHP Built-in Webserver starten

Hierzu sollte man sich in der Kommandozeile in dem Verzeichnis befinden, in dem sich die HTML-Dateien befinden, also im htdocs-Verzeichnis.

# php.exe -S localhost:80

Schon hat man einen Webserver laufen. :) Fehlerausgaben bekommt man im Kommandozeilenfenster. Wenn die php.exe nicht im Suchpfad ist, was vermutlich so ist, muss man hier den kompletten Pfad angeben.

Für den Betrieb von BC2 braucht man noch eine router.php, die man beim Aufruf mit angibt, weil BC2 mit mod_rewrite arbeitet. Die habe ich mir natürlich auch zusammengebastelt. :)

mariaDB starten

# mysqld.exe --no-defaults --console

Startet den Datenbank-Dienst im Konsolenmodus, das heißt, man hat ein Kommandozeilenfenster offen.

Jetzt kann man sich mit dem Werkzeug seiner Wahl (ich benutze HeidiSQL) mit der Datenbank verbinden und eine neue Datenbank z.B. für BC2 anlegen. :)

Re: Ich bastel mir eine Portable...

Verfasst: Do 1. Mär 2018, 18:23
von shadowcat
Ich habe mir für den Start eine startup.cmd gebastelt. Die Verzeichnisstruktur sieht so aus:

<Basisverzeichnis>
| startup.cmd
+---php
+---mariadb
+---htdocs

Code: Alles auswählen

@echo off
SET basepath=%~dp0
cd %basepath%\htdocs
start cmd /c ..\php\php.exe -S localhost:444 -c ..\php\php.ini router.php
cd ..
start cmd /c .\mariadb\bin\mysqld.exe --no-defaults --console
Ich verwende als Port 444, weil ich manchmal meine XAMPP Umgebung parallel laufen habe und die dann schon Port 80 belegt. Man kann auch Port 8080 nehmen, das ist recht üblich.

Re: Ich bastel mir eine Portable...

Verfasst: Do 1. Mär 2018, 18:26
von shadowcat
Wenn man kein Datenbanktool hat und auch keins installieren will, geht das natürlich auch Portable. Statt des Boliden phpMyAdmin kann man Adminer verwenden, das ist EINE .php-Datei von knapp 340 kB Größe. Dazu im htdocs-Verzeichnis ein Unterverzeichnis anlegen, Adminer dort ablegen, Umgebung wie oben beschrieben starten und im Browser

http: // localhost/adminer/adminer.php

aufrufen. (Leerzeichen damit das Forum den Link nicht hyperlinkt.)

https://www.adminer.org/

Re: Ich bastel mir eine Portable...

Verfasst: Do 15. Mär 2018, 15:34
von shadowcat
So, ich habe jetzt meine Portable komplett von USBWebserver auf dieses hier umgestellt. Inzwischen habe ich mir mit AutoIt auch einen Starter gebastelt, der sich mit passendem Icon in den Tray setzt. Die beiden CMDs (eine startet den PHP Built-In Webserver, die andere die Datenbank) werden somit auch versteckt, damit sie den Nicht-Fachmann nicht irritieren. Per Rechtsklick kann man die Portable dann auch wieder beenden oder sich ein Infofenster anzeigen lassen. Davon noch kein Screenshot weil noch nicht ganz fertig. :)

Edit: Achso, ich vergaß: Es werden auch die Frontseite und die Login-Seite im Browser geöffnet.

Re: Ich bastel mir eine Portable...

Verfasst: Fr 16. Mär 2018, 07:08
von creativecat
Sehr geil! Damit kann man unter Windows schnell mal das CMS testen oder ganz bestimmte lokale Anwendungsfälle noch einfacher umsetzen. :daumen: :daumen:

Re: Ich bastel mir eine Portable...

Verfasst: Fr 16. Mär 2018, 10:54
von shadowcat
Naja, eine Einschränkung gibt es: Kein SSL.