5.2. Webspace

Webspace-Hauptverzeichnis ändern: LiveConfig legt alle Webspaces unter /var/www/ (bzw. bei OpenSUSE unter /srv/www/) an. Um diesen Pfad zu ändern, fügen Sie in die custom.lua folgende Zeilen ein:

function LC.web.getWebRoot()
  return "/home/htdocs"
end

Diese Einstellung muss vor dem Anlegen eines ersten Hosting-Vertrags vorgenommen werden und kann später nicht mehr ohne Weiteres geändert werden!

Webspace-Verzeichnis ändern: innerhalb der Kundenverzeichnisse liegen alle Webspace-Dateien bei LiveConfig üblicherweise im Verzeichnis /htdocs/. Um dieses zu ändern (z.B. auf /html/) fügen Sie in die custom.lua folgende Zeile hinzu:

web.HTDOCS_PATH = 'html'

Diese Einstellung muss vor dem Anlegen eines ersten Hosting-Vertrags vorgenommen werden und kann später nicht mehr ohne Weiteres geändert werden! Außerdem müssen Sie dann unbedingt in den PHP-Einstellungen den Eintrag open_basedir entsprechend anpassen (z.B. von %HOME%/htdocs auf %HOME/html) - ansonsten erhalten Sie beim Aufruf von PHP-Scripten die Fehlermeldung No input file specified.

Zusätzliche Konfigurationen pflegen: wenn Sie zusätzliche, vertragsspezifische Konfigurationen pflegen wollen, biegen Sie über custom.lua die Funktion apache.configureVHost auf eine eigene Funktion um und rufen die Original-Funktion danach auf.

Das folgende Beispiel zeigt, wie Sie über eine eigene Funktion individuelle suexec-Konfigurationsdateien verwalten können (unter Debian mit dem Paket apache2-suexec-custom):

old_configureVHost = apache.configureVHost
function apache.configureVHost(cfg, opts)
  -- 'cfg' enthält die von Lua erkannte Server-Konfiguration,
  -- 'opts' enthält alle vHost-spezifischen Einstellungen, u.a.:
  -- opts.name -> Vertragname (z.B. "web123")

  -- Beispiel für eine Log-Meldung
  LC.log.print(LC.log.INFO, "Eigene configureVHost()-Funktion aufgerufen")

  -- Datei öffnen:
  local filename = "/etc/apache2/suexec/" .. opts.name
  local fh, msg = io.open(filename, "w")
  if fh == nil then
    LC.log.print(LC.log.ERR, "Can't open '", filename, "' for writing: ", msg)
    return false, "Can't open '" .. filename .. "' for writing: " .. msg
  end
  -- suexec document root:
  fh:write(opts.path .. "/" .. LC.web.HTDOCS_PATH .. "\n")
  -- suexec userdir suffix:
  fh:write("# public_html/cgi-bin\n")
  fh:close()

  -- nun noch den Original-Handler aufrufen und dessen
  -- Rückgabewert zurück geben
  return old_configureVHost(cfg, opts)
end

5.2.1. ProFTPD-Konfiguration

Um eigene Anweisungen in die ProFTPD-Konfiguration aufzunehmen, haben Sie zwei Möglichkeiten:

  • legen Sie eine Datei namens /etc/proftpd/proftpd.local.conf an, oder

  • wenn das Verzeichnis /etc/proftpd/conf.d/ existiert, erstellen Sie darin Ihre eigene(n) Konfigurationsdatei(en). Diese müssen mit der Dateiendung .conf enden.

Klicken Sie anschließend im LiveConfig in der ProFTPD-Verwaltung auf den Button neu konfigurieren. LiveConfig aktualisiert darauf hin die proftpd.conf und nimmt die o.g. Dateien per Include-Anweisung auf.