X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/79d4db5db6253d67412769448ea94736d0e0997e..218beeb03e2926e520e8e539e074f2235e5a3c45:/utils/setup.php?ds=sidebyside diff --git a/utils/setup.php b/utils/setup.php index ba86e92c..55e0038c 100755 --- a/utils/setup.php +++ b/utils/setup.php @@ -141,7 +141,6 @@ pgsqlRunScriptFile(CONST_BasePath.'/data/us_statecounty.sql'); pgsqlRunScriptFile(CONST_BasePath.'/data/us_state.sql'); pgsqlRunScriptFile(CONST_BasePath.'/data/us_postcode.sql'); - pgsqlRunScriptFile(CONST_BasePath.'/data/worldboundaries.sql'); } if ($aCMDResult['import-data'] || $aCMDResult['all']) @@ -155,6 +154,11 @@ echo "Please download and build osm2pgsql.\nIf it is already installed, check the path in your local settings (settings/local.php) file.\n"; fail("osm2pgsql not found in '$osm2pgsql'"); } + + if (!is_null(CONST_Osm2pgsql_Flatnode_File)) + { + $osm2pgsql .= ' --flat-nodes '.CONST_Osm2pgsql_Flatnode_File; + } $osm2pgsql .= ' --tablespace-slim-index ssd --tablespace-main-index ssd --tablespace-main-data ssd --tablespace-slim-data data'; $osm2pgsql .= ' -lsc -O gazetteer --hstore'; $osm2pgsql .= ' -C 16000'; @@ -364,7 +368,7 @@ { $aDBInstances[$i] =& getDB(true); $sSQL = 'insert into placex (osm_type, osm_id, class, type, name, admin_level, '; - $sSQL .= 'housenumber, street, isin, postcode, country_code, extratags, '; + $sSQL .= 'housenumber, street, addr_place, isin, postcode, country_code, extratags, '; $sSQL .= 'geometry) select * from place where osm_id % '.$iInstances.' = '.$i; if ($aCMDResult['verbose']) echo "$sSQL\n"; if (!pg_send_query($aDBInstances[$i]->connection, $sSQL)) fail(pg_last_error($oDB->connection)); @@ -496,7 +500,11 @@ $bDidSomething = true; $oDB =& getDB(); - if (!file_exists(CONST_Osmosis_Binary)) fail("please download osmosis"); + if (!file_exists(CONST_Osmosis_Binary)) + { + echo "Please download osmosis.\nIf it is already installed, check the path in your local settings (settings/local.php) file.\n"; + fail("osmosis not found in '".CONST_Osmosis_Binary."'"); + } if (file_exists(CONST_BasePath.'/settings/configuration.txt')) { echo "settings/configuration.txt already exists\n"; @@ -504,24 +512,27 @@ else { passthru(CONST_Osmosis_Binary.' --read-replication-interval-init '.CONST_BasePath.'/settings'); - // server layout changed afer license change, fix path to minutely diffs - passthru("sed -i 's:minute-replicate:replication/minute:' ".CONST_BasePath.'/settings/configuration.txt'); + // update osmosis configuration.txt with our settings + passthru("sed -i 's!baseUrl=.*!baseUrl=".CONST_Replication_Url."!' ".CONST_BasePath.'/settings/configuration.txt'); + passthru("sed -i 's:maxInterval = .*:maxInterval = ".CONST_Replication_MaxInterval.":' ".CONST_BasePath.'/settings/configuration.txt'); } // Find the last node in the DB - $iLastOSMID = $oDB->getOne("select max(osm_id) as osm_id from place where osm_type = 'N'"); + $iLastOSMID = $oDB->getOne("select max(id) from planet_osm_nodes"); // Lookup the timestamp that node was created (less 3 hours for margin for changsets to be closed) - $sLastNodeURL = 'http://www.openstreetmap.org/api/0.6/node/'.$iLastOSMID; + $sLastNodeURL = 'http://www.openstreetmap.org/api/0.6/node/'.$iLastOSMID."/1"; $sLastNodeXML = file_get_contents($sLastNodeURL); preg_match('#timestamp="(([0-9]{4})-([0-9]{2})-([0-9]{2})T([0-9]{2}):([0-9]{2}):([0-9]{2})Z)"#', $sLastNodeXML, $aLastNodeDate); $iLastNodeTimestamp = strtotime($aLastNodeDate[1]) - (3*60*60); - // Search for the correct state file - uses file timestamps - $sRepURL = 'http://planet.openstreetmap.org/replication/minute/'; - $sRep = file_get_contents($sRepURL); - preg_match_all('#([0-9]{3}/) *(([0-9]{2})-([A-z]{3})-([0-9]{4}) ([0-9]{2}):([0-9]{2}))#', $sRep, $aRepMatches, PREG_SET_ORDER); + // Search for the correct state file - uses file timestamps so need to sort by date descending + $sRepURL = CONST_Replication_Url."/"; + $sRep = file_get_contents($sRepURL."?C=M;O=D"); + // download.geofabrik.de: 000/26-Feb-2013 11:53 + // planet.openstreetmap.org: 273/ 22-Mar-2013 07:41 - + preg_match_all('#([0-9]{3}/).*(([0-9]{2})-([A-z]{3})-([0-9]{4}) ([0-9]{2}):([0-9]{2}))#', $sRep, $aRepMatches, PREG_SET_ORDER); $aPrevRepMatch = false; foreach($aRepMatches as $aRepMatch) { @@ -531,8 +542,8 @@ if ($aPrevRepMatch) $aRepMatch = $aPrevRepMatch; $sRepURL .= $aRepMatch[1]; - $sRep = file_get_contents($sRepURL); - preg_match_all('#([0-9]{3}/) *(([0-9]{2})-([A-z]{3})-([0-9]{4}) ([0-9]{2}):([0-9]{2}))#', $sRep, $aRepMatches, PREG_SET_ORDER); + $sRep = file_get_contents($sRepURL."?C=M;O=D"); + preg_match_all('#([0-9]{3}/).*(([0-9]{2})-([A-z]{3})-([0-9]{4}) ([0-9]{2}):([0-9]{2}))#', $sRep, $aRepMatches, PREG_SET_ORDER); $aPrevRepMatch = false; foreach($aRepMatches as $aRepMatch) { @@ -542,8 +553,8 @@ if ($aPrevRepMatch) $aRepMatch = $aPrevRepMatch; $sRepURL .= $aRepMatch[1]; - $sRep = file_get_contents($sRepURL); - preg_match_all('#([0-9]{3}).state.txt *(([0-9]{2})-([A-z]{3})-([0-9]{4}) ([0-9]{2}):([0-9]{2}))#', $sRep, $aRepMatches, PREG_SET_ORDER); + $sRep = file_get_contents($sRepURL."?C=M;O=D"); + preg_match_all('#([0-9]{3}).state.txt.*(([0-9]{2})-([A-z]{3})-([0-9]{4}) ([0-9]{2}):([0-9]{2}))#', $sRep, $aRepMatches, PREG_SET_ORDER); $aPrevRepMatch = false; foreach($aRepMatches as $aRepMatch) { @@ -620,10 +631,18 @@ @symlink(CONST_BasePath.'/website/search.php', $sTargetDir.'/index.php'); @symlink(CONST_BasePath.'/website/deletable.php', $sTargetDir.'/deletable.php'); @symlink(CONST_BasePath.'/website/polygons.php', $sTargetDir.'/polygons.php'); + @symlink(CONST_BasePath.'/website/status.php', $sTargetDir.'/status.php'); @symlink(CONST_BasePath.'/website/images', $sTargetDir.'/images'); @symlink(CONST_BasePath.'/website/js', $sTargetDir.'/js'); @symlink(CONST_BasePath.'/website/css', $sTargetDir.'/css'); echo "Symlinks created\n"; + + $sTestFile = @file_get_contents(CONST_Website_BaseURL.'js/tiles.js'); + if (!$sTestFile) + { + echo "\nWARNING: Unable to access the website at ".CONST_Website_BaseURL."\n"; + echo "You may want to update settings/local.php with @define('CONST_Website_BaseURL', 'http://[HOST]/[PATH]/');\n"; + } } if (!$bDidSomething)