]> git.openstreetmap.org Git - nominatim.git/blobdiff - utils/setup.php
switch remaining settings to dotenv format
[nominatim.git] / utils / setup.php
index 66b719205705d2b68be4dafc6fbf7c6ccdce9109..dfa27cb68e5d9808e49f306fce68198aba22e53d 100644 (file)
@@ -1,8 +1,8 @@
 <?php
 
 <?php
 
-require_once(CONST_BasePath.'/lib/init-cmd.php');
-require_once(CONST_BasePath.'/lib/setup/SetupClass.php');
-require_once(CONST_BasePath.'/lib/setup_functions.php');
+require_once(CONST_LibDir.'/init-cmd.php');
+require_once(CONST_LibDir.'/setup/SetupClass.php');
+require_once(CONST_LibDir.'/setup_functions.php');
 ini_set('memory_limit', '800M');
 
 use Nominatim\Setup\SetupFunctions as SetupFunctions;
 ini_set('memory_limit', '800M');
 
 use Nominatim\Setup\SetupFunctions as SetupFunctions;
@@ -38,17 +38,21 @@ $aCMDOptions
    array('disable-token-precalc', '', 0, 1, 0, 0, 'bool', 'Disable name precalculation (EXPERT)'),
    array('import-tiger-data', '', 0, 1, 0, 0, 'bool', 'Import tiger data (not included in \'all\')'),
    array('calculate-postcodes', '', 0, 1, 0, 0, 'bool', 'Calculate postcode centroids'),
    array('disable-token-precalc', '', 0, 1, 0, 0, 'bool', 'Disable name precalculation (EXPERT)'),
    array('import-tiger-data', '', 0, 1, 0, 0, 'bool', 'Import tiger data (not included in \'all\')'),
    array('calculate-postcodes', '', 0, 1, 0, 0, 'bool', 'Calculate postcode centroids'),
-   array('osmosis-init', '', 0, 1, 0, 0, 'bool', 'Generate default osmosis configuration'),
    array('index', '', 0, 1, 0, 0, 'bool', 'Index the data'),
    array('index-noanalyse', '', 0, 1, 0, 0, 'bool', 'Do not perform analyse operations during index (EXPERT)'),
    array('create-search-indices', '', 0, 1, 0, 0, 'bool', 'Create additional indices required for search and update'),
    array('create-country-names', '', 0, 1, 0, 0, 'bool', 'Create default list of searchable country names'),
    array('drop', '', 0, 1, 0, 0, 'bool', 'Drop tables needed for updates, making the database readonly (EXPERIMENTAL)'),
    array('index', '', 0, 1, 0, 0, 'bool', 'Index the data'),
    array('index-noanalyse', '', 0, 1, 0, 0, 'bool', 'Do not perform analyse operations during index (EXPERT)'),
    array('create-search-indices', '', 0, 1, 0, 0, 'bool', 'Create additional indices required for search and update'),
    array('create-country-names', '', 0, 1, 0, 0, 'bool', 'Create default list of searchable country names'),
    array('drop', '', 0, 1, 0, 0, 'bool', 'Drop tables needed for updates, making the database readonly (EXPERIMENTAL)'),
+   array('setup-website', '', 0, 1, 0, 0, 'bool', 'Used to compile environment variables for the website'),
+   array('project-dir', '', 0, 1, 1, 1, 'realpath', 'Base directory for this Nominatim installation'),
   );
 
 // $aCMDOptions passed to getCmdOpt by reference
 getCmdOpt($_SERVER['argv'], $aCMDOptions, $aCMDResult, true, true);
 
   );
 
 // $aCMDOptions passed to getCmdOpt by reference
 getCmdOpt($_SERVER['argv'], $aCMDOptions, $aCMDResult, true, true);
 
+loadSettings($aCMDResult['project-dir'] ?? false);
+setupHTTPProxy();
+
 $bDidSomething = false;
 
 //*******************************************************
 $bDidSomething = false;
 
 //*******************************************************
@@ -59,12 +63,6 @@ if ($aCMDResult['import-data'] || $aCMDResult['all']) {
     checkInFile($aCMDResult['osm-file']);
 }
 
     checkInFile($aCMDResult['osm-file']);
 }
 
-// osmosis init is no longer supported
-if ($aCMDResult['osmosis-init']) {
-    $bDidSomething = true;
-    echo "Command 'osmosis-init' no longer available, please use utils/update.php --init-updates.\n";
-}
-
 // ******************************************************
 // instantiate Setup class
 $oSetup = new SetupFunctions($aCMDResult);
 // ******************************************************
 // instantiate Setup class
 $oSetup = new SetupFunctions($aCMDResult);
@@ -76,18 +74,11 @@ if ($aCMDResult['create-db'] || $aCMDResult['all']) {
     $oSetup->createDB();
 }
 
     $oSetup->createDB();
 }
 
-$oSetup->connect();
-
 if ($aCMDResult['setup-db'] || $aCMDResult['all']) {
     $bDidSomething = true;
     $oSetup->setupDB();
 }
 
 if ($aCMDResult['setup-db'] || $aCMDResult['all']) {
     $bDidSomething = true;
     $oSetup->setupDB();
 }
 
-// Try accessing the C module, so we know early if something is wrong
-if (!checkModulePresence()) {
-    fail('error loading nominatim.so module');
-}
-
 if ($aCMDResult['import-data'] || $aCMDResult['all']) {
     $bDidSomething = true;
     $oSetup->importData($aCMDResult['osm-file']);
 if ($aCMDResult['import-data'] || $aCMDResult['all']) {
     $bDidSomething = true;
     $oSetup->importData($aCMDResult['osm-file']);
@@ -102,6 +93,7 @@ if ($aCMDResult['create-tables'] || $aCMDResult['all']) {
     $bDidSomething = true;
     $oSetup->createTables($aCMDResult['reverse-only']);
     $oSetup->createFunctions();
     $bDidSomething = true;
     $oSetup->createTables($aCMDResult['reverse-only']);
     $oSetup->createFunctions();
+    $oSetup->createTableTriggers();
 }
 
 if ($aCMDResult['create-partition-tables'] || $aCMDResult['all']) {
 }
 
 if ($aCMDResult['create-partition-tables'] || $aCMDResult['all']) {
@@ -126,7 +118,11 @@ if ($aCMDResult['load-data'] || $aCMDResult['all']) {
 
 if ($aCMDResult['import-tiger-data']) {
     $bDidSomething = true;
 
 if ($aCMDResult['import-tiger-data']) {
     $bDidSomething = true;
-    $oSetup->importTigerData();
+    $sTigerPath = getSetting('TIGER_DATA_PATH');
+    if (!$sTigerPath) {
+        $sTigerPath = CONST_DataDir.'/data/tiger';
+    }
+    $oSetup->importTigerData($sTigerPath);
 }
 
 if ($aCMDResult['calculate-postcodes'] || $aCMDResult['all']) {
 }
 
 if ($aCMDResult['calculate-postcodes'] || $aCMDResult['all']) {
@@ -139,6 +135,11 @@ if ($aCMDResult['index'] || $aCMDResult['all']) {
     $oSetup->index($aCMDResult['index-noanalyse']);
 }
 
     $oSetup->index($aCMDResult['index-noanalyse']);
 }
 
+if ($aCMDResult['drop']) {
+    $bDidSomething = true;
+    $oSetup->drop($aCMDResult);
+}
+
 if ($aCMDResult['create-search-indices'] || $aCMDResult['all']) {
     $bDidSomething = true;
     $oSetup->createSearchIndices();
 if ($aCMDResult['create-search-indices'] || $aCMDResult['all']) {
     $bDidSomething = true;
     $oSetup->createSearchIndices();
@@ -149,9 +150,9 @@ if ($aCMDResult['create-country-names'] || $aCMDResult['all']) {
     $oSetup->createCountryNames($aCMDResult);
 }
 
     $oSetup->createCountryNames($aCMDResult);
 }
 
-if ($aCMDResult['drop']) {
+if ($aCMDResult['setup-website'] || $aCMDResult['all']) {
     $bDidSomething = true;
     $bDidSomething = true;
-    $oSetup->drop($aCMDResult);
+    $oSetup->setupWebsite();
 }
 
 // ******************************************************
 }
 
 // ******************************************************