Marc Görtz

Marc Görtz ist ausgebildeter Medien­gestalter für Digital- & Printmedien und arbeitet als Software Engineer für das Reiseportal weg.de.

Mit »webserver« getaggte Beiträge


von

Eine Sache, die ich neulich bei der Entwicklung der kleinen, feinen Website unserer Firma nützlich fand, war eine Bash-Funktion von Mathias, die auch schon seit geraumer Zeit in meinen dotfiles ihre Daseinsberechtigung hat:

# Start an HTTP server from a directory, optionally specifying the port
function server() {
    local port="${1:-8000}"
    sleep 1 && open "http://localhost:${port}/" &
    # Set the default Content-Type to `text/plain` instead of `application/octet-stream`
    # And serve everything as UTF-8 (although not technically correct, this doesn’t break anything for binary files)
    python -c $'import SimpleHTTPServer;\nmap = SimpleHTTPServer.SimpleHTTPRequestHandler.extensions_map;\nmap[""] = "text/plain";\nfor key, value in map.items():\n\tmap[key] = value + ";charset=UTF-8";\nSimpleHTTPServer.test();' "$port"
}

Damit kann man in einem beliebigen Verzeichnis durch Ausführen von server einen einfachen HTTP-Server starten und seine Seiten testen.

Für PHP-Nutzer steht seit PHP 5.4 auch ein eingebauter Server bereit, den nutze ich allerdings (leider) so gut wie nie:

# Start a PHP server from a directory, optionally specifying the port
# (Requires PHP 5.4.0+.)
function phpserver() {
    local port="${1:-4000}"
    local ip=$(ipconfig getifaddr en1)
    sleep 1 && open "http://${ip}:${port}/" &
    php -S "${ip}:${port}"
}

Dennoch: Praktische Sache für die Freunde der Kommandozeile!