Oft habe ich über einen Blogwechsel nachgedacht und nun ist es soweit. Ab heute habe ich als Blogsystem WordPress im Einsatz. Da es nicht mein erstes Blog ist, habe ich sehr viele Erfahrungen mit b2evolution sammeln können.
Es hat mich schon eine Weile gestört, dass es für b2evo nicht so viele Skins gibt. Was die Plugins (die Technik der Einbindung) angeht ist b2evo sicherlich dem WordPress etwas voraus, jedoch gibt es bei WordPress sehr viel mehr Plugins.
Da WordPress leider keine Multidomains mit einer DB Installation unterstützt, musste ich die Tabellen der Datenbank mehrmals installieren.
Da ich in meinem neuen Blog nicht so viele Inhalte habe, habe ich keine komplexen Skripte zum Portieren benutzt sondern habe alles schön per Hand gemacht.
Da ich zurzeit mehrere kleine Programme benötige und mein C/C++ etwas eingerostet ist habe ich nach einer anderen Lösung gesucht. Nach langem Suchen bin ich dann auf die Anwendung phpCompile gestoßen. Es handelt sich dabei wie der Name schon sagt um einen PHP Compiler. Es übersetzt PHP-Skripte in ausführbare Dateien übersetzt (EXE).
Nach einem kleinen Test war ich von der Anwendung sehr begeistert. PHP5 und einige wichtige Module werden unterstützt. Nach dem Compilieren ist die Datei ca. 5MB groß und kann mit UPX auf ca. 1,5MB komprimiert werden.
Um PHP Anwendungen im Fenstermodus zu erstellen, eignet sich die Erweiterung WinBinder. Diese Erweiterung bietet sehr viele Kontrollelemente und liefert bereits sehr viele gute Beispiele.
Da ich meine Seite von Apache auf lighttpd umgestellt habe, bin ich auf ein Problem bei den RewriteRules gestoßen. Im Grunde ist das Problem ganz einfach und zwar kann das Rewrite Modul von lighttpd nicht prüfen ob eine Datei existiert. Durch einen Tipp von Daniel ist mir ein kleines Lua Script gelungen womit ich Prüfen kann ob eine Datei existiert.
RewriteRules unter Apache:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) /index.php?p=$1 [L]
Damit es auch unter lighttpd richtig funktioniert, muss zunächst das Modul lighttpd-mod-magnet installiert und aktiviert werden.
Installieren unter Ubuntu:
apt-get install lighttpd-mod-magnet
Lua Script speichern nach /etc/lighttpd/rewrite.lua
function string:split(delimiter)
local result = { }
local from = 1
local delim_from, delim_to = string.find( self, delimiter, from )
while delim_from do
table.insert( result, string.sub( self, from , delim_from-1 ) )
from = delim_to + 1
delim_from, delim_to = string.find( self, delimiter, from )
end
table.insert( result, string.sub( self, from ) )
return result
end
if ( not lighty.stat( lighty.env['physical.path'] ) ) then
local index_file = "/index.php"
local last_found = ""
local path = ""
for key,col in ipairs( ( lighty.env['physical.path']:sub( 2 )):split( "/" ) ) do
path = path .. "/" .. col
if( lighty.stat( path ) ) then
last_found = path
end
end
if( last_found == lighty.env["physical.doc-root"] ) then
lighty.env["uri.path"] = index_file
end
lighty.env["physical.rel-path"] = lighty.env["uri.path"]
lighty.env["physical.path"] = lighty.env["physical.doc-root"] .. lighty.env["physical.rel-path"]
end
Nun muss das Script nur noch in dem V-Host eingebunden werden:
$HTTP["host"] =~ ".*" {
...
magnet.attract-physical-path-to = ( '/etc/lighttpd/rewrite.lua' )
...
}