123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- <?php
- $gapsIni = realpath(dirname(__FILE__) . "/../../GAPS.ini");
- $config = parse_ini_file($gapsIni);
- $gapsApacheConf = $config['PORTAL']. "/Tasks/config/GAPS.Apache.conf";
- $apache = realpath($config['PHP'] . "/../httpd/conf/");
- function convertGapsConf () {
- global $config;
- global $apache;
- global $gapsApacheConf;
-
- if (!$apache) return "Apache-Verzeichnis nicht gefunden.";
- if (!file_exists($apache . "/GAPS.conf")) return "GAPS.conf nicht gefunden.";
- $httpdConf = file_get_contents($apache . "/httpd.conf");
- $match = array();
- if (!preg_match('/\r\nListen (\d+)/im', $httpdConf, $match)) return "Apache-Port nicht gefunden.";
- $httpdConf = preg_replace('/\r\nListen \d+/im', "", $httpdConf);
- $port = $match[1];
- $httpdConf = str_replace('GCPS.conf', 'php5.module.conf', $httpdConf);
- $httpdConf .= "\r\n" . 'include "' . str_replace("\\", "/", $config['PORTAL']) . '/Tasks/config/GAPS.Apache.conf"';
- if (!rename($apache . "/GAPS.conf", $gapsApacheConf)) return "GAPS.conf laesst sich nicht verschieben.";
- if (!file_put_contents($apache . "/httpd.conf", $httpdConf)) {
- file_put_contents($config['PORTAL']. "/Tasks/httpd.conf", $httpdConf);
- return "httpd.conf laesst sich nicht ueberschreiben. Bitte manuell austauschen.";
- }
- unlink($apache. "/GCPS.conf");
-
- $gapsConf = file_get_contents($gapsApacheConf);
- $gapsConf = "Listen " . $port . "\r\n\r\n" . $gapsConf;
- file_put_contents($gapsApacheConf, $gapsConf);
- return "";
- }
- function addGapsUrl () {
- global $config;
- global $gapsIni;
- global $gapsApacheConf;
- $gapsConf = file_get_contents($gapsApacheConf);
- if (!preg_match('/\nAlias "\/(.*)" "(.*)"\r\n/im', $gapsConf, $match)) return "Alias unbekannt";
- $subdir = $match[1];
- if (preg_match('/Listen (\d+)/im', $gapsConf, $match)) {
- $port = $match[1];
- } else {
- $port = "80";
- }
- $output = array();
- exec("systeminfo", $output);
- $output = implode("\r\n", $output);
- if (!preg_match('/(LAN-Verbindung|Ethernet0|Local Area)[^[]*\[01\]:\s([\d\.]+)/im', $output, $match)) return "IP-Adresse unbekannt.";
- $host = $match[2];
- $config['GAPS_URL'] = "http://{$host}:{$port}/{$subdir}";
- file_put_contents($gapsIni, "\r\nGAPS_URL=\"{$config['GAPS_URL']}\"" , FILE_APPEND);
- return "";
- }
- function addRemoteTasks() {
- global $gapsApacheConf;
-
- $gapsConf = file_get_contents($gapsApacheConf);
- if (!preg_match('/\nAlias "\/Remote\/" "(.*)"\r\n/im', $gapsConf, $match)) {
- $alias = 'Alias "/Remote/" "' . str_replace("\\", "/", realpath(dirname(__FILE__)."/../Remote")) . '/"' . "\r\n\r\n";
- $gapsConf = str_replace("\r\n<Dir", $alias . "\r\n<Dir", $gapsConf);
- file_put_contents($gapsApacheConf, $gapsConf);
- }
- return "";
- }
- if (!file_exists($gapsApacheConf)) {
- echo convertGapsConf();
- }
- if (!isset($config['GAPS_URL'])) {
- echo addGapsUrl();
- }
- if (file_exists($gapsApacheConf)) {
- echo addRemoteTasks();
- }
- echo "Apache-Umstellung erfolgreich.";
|