]> git.openstreetmap.org Git - nominatim.git/blobdiff - utils/setup.php
Vagrant ubuntu: install dotenv package
[nominatim.git] / utils / setup.php
index 66b719205705d2b68be4dafc6fbf7c6ccdce9109..713fe561b38df95ce87d462e3ec98f9f4cd28bfe 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 of the Nominatim installation (default: .)'),
   );
 
 // $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'] ?? getcwd());
+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();
 }
 
 // ******************************************************
 }
 
 // ******************************************************