Merge pull request #1829 from krahulreddy/websiteSetup

Added setup-website option
This commit is contained in:
Sarah Hoffmann 2020-07-01 18:11:50 +02:00 committed by GitHub
commit 354487d7f4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 64 additions and 4 deletions

View File

@ -26,6 +26,8 @@ script:
- if [[ $TEST_SUITE == "tests" ]]; then phpcs --report-width=120 . ; fi - if [[ $TEST_SUITE == "tests" ]]; then phpcs --report-width=120 . ; fi
- cd $TRAVIS_BUILD_DIR/test/php - cd $TRAVIS_BUILD_DIR/test/php
- if [[ $TEST_SUITE == "tests" ]]; then /usr/bin/phpunit ./ ; fi - if [[ $TEST_SUITE == "tests" ]]; then /usr/bin/phpunit ./ ; fi
- cd $TRAVIS_BUILD_DIR/build
- /usr/bin/env php ./utils/setup.php --setup-website
- cd $TRAVIS_BUILD_DIR/test/bdd - cd $TRAVIS_BUILD_DIR/test/bdd
- # behave --format=progress3 api - # behave --format=progress3 api
- if [[ $TEST_SUITE == "tests" ]]; then behave -DREMOVE_TEMPLATE=1 --format=progress3 db ; fi - if [[ $TEST_SUITE == "tests" ]]; then behave -DREMOVE_TEMPLATE=1 --format=progress3 db ; fi

View File

@ -1,3 +1,3 @@
<?php <?php
require_once(dirname(dirname(__FILE__)).'/settings/settings.php'); require_once(dirname(dirname(__FILE__)).'/website/settings-frontend.php');
require_once(CONST_BasePath.'/@script_source@'); require_once(CONST_BasePath.'/@script_source@');

View File

@ -195,6 +195,17 @@ Run this script to verify all required tables and indices got created successful
./utils/check_import_finished.php ./utils/check_import_finished.php
``` ```
### Setting up the website
Run the following command to set up the `website/settings-frontend.php`.
These settings are used in website/*.php files. You can use the website only after this
step is completed.
```sh
./utils/setup.php --setup-website
```
!!! Note
This step is not necessary if you use `--all` option while setting up the DB.
## Tuning the database ## Tuning the database

View File

@ -694,6 +694,45 @@ class SetupFunctions
$this->removeFlatnodeFile(); $this->removeFlatnodeFile();
} }
/**
* Setup settings-frontend.php in the build/website directory
*
* @return null
*/
public function setupWebsite()
{
$rOutputFile = fopen(CONST_InstallPath.'/website/settings-frontend.php', 'w');
fwrite($rOutputFile, "<?php
@define('CONST_BasePath', '".CONST_BasePath."');
if (file_exists(getenv('NOMINATIM_SETTINGS'))) require_once(getenv('NOMINATIM_SETTINGS'));
@define('CONST_Debug', ". (CONST_Debug? 'true' : 'false').");
@define('CONST_Database_DSN', '".CONST_Database_DSN."'); // or add ;host=...;port=...;user=...;password=...
@define('CONST_Default_Language', ".(CONST_Default_Language ? 'true' : 'false').");
@define('CONST_Default_Lat', ".CONST_Default_Lat.");
@define('CONST_Default_Lon', ".CONST_Default_Lon.");
@define('CONST_Default_Zoom', ".CONST_Default_Zoom.");
@define('CONST_Map_Tile_URL', '".CONST_Map_Tile_URL."');
@define('CONST_Map_Tile_Attribution', '".CONST_Map_Tile_Attribution."'); // Set if tile source isn't osm.org
@define('CONST_Log_DB', ".(CONST_Log_DB ? 'true' : 'false').");
@define('CONST_Log_File', ".(CONST_Log_File ? 'true' : 'false').");
@define('CONST_Max_Word_Frequency', '".CONST_Max_Word_Frequency."');
@define('CONST_NoAccessControl', ".CONST_NoAccessControl.");
@define('CONST_Places_Max_ID_count', ".CONST_Places_Max_ID_count.");
@define('CONST_PolygonOutput_MaximumTypes', ".CONST_PolygonOutput_MaximumTypes.");
@define('CONST_Search_AreaPolygons', ".CONST_Search_AreaPolygons.");
@define('CONST_Search_BatchMode', ".(CONST_Search_BatchMode ? 'true' : 'false').");
@define('CONST_Search_NameOnlySearchFrequencyThreshold', ".CONST_Search_NameOnlySearchFrequencyThreshold.");
@define('CONST_Search_ReversePlanForAll', ".CONST_Search_ReversePlanForAll.");
@define('CONST_Term_Normalization_Rules', \"".CONST_Term_Normalization_Rules."\");
@define('CONST_Use_Aux_Location_data', ".(CONST_Use_Aux_Location_data ? 'true' : 'false').");
@define('CONST_Use_US_Tiger_Data', ".(CONST_Use_US_Tiger_Data ? 'true' : 'false').");
@define('CONST_Website_BaseURL', '".CONST_Website_BaseURL."');
");
info(CONST_InstallPath.'/website/settings-frontend.php has been set up successfully');
}
private function removeFlatnodeFile() private function removeFlatnodeFile()
{ {
if (!is_null(CONST_Osm2pgsql_Flatnode_File) && CONST_Osm2pgsql_Flatnode_File) { if (!is_null(CONST_Osm2pgsql_Flatnode_File) && CONST_Osm2pgsql_Flatnode_File) {

View File

@ -44,6 +44,7 @@ $aCMDOptions
array('create-search-indices', '', 0, 1, 0, 0, 'bool', 'Create additional indices required for search and update'), 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('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('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 (EXPERIMENTAL)'),
); );
// $aCMDOptions passed to getCmdOpt by reference // $aCMDOptions passed to getCmdOpt by reference
@ -76,15 +77,17 @@ if ($aCMDResult['create-db'] || $aCMDResult['all']) {
$oSetup->createDB(); $oSetup->createDB();
} }
$oSetup->connect(); if (!$aCMDResult['setup-website']) {
$oSetup->connect();
// Try accessing the C module, so we know early if something is wrong
checkModulePresence(); // raises exception on failure
}
if ($aCMDResult['setup-db'] || $aCMDResult['all']) { if ($aCMDResult['setup-db'] || $aCMDResult['all']) {
$bDidSomething = true; $bDidSomething = true;
$oSetup->setupDB(); $oSetup->setupDB();
} }
// Try accessing the C module, so we know early if something is wrong
checkModulePresence(); // raises exception on failure
if ($aCMDResult['import-data'] || $aCMDResult['all']) { if ($aCMDResult['import-data'] || $aCMDResult['all']) {
$bDidSomething = true; $bDidSomething = true;
@ -153,6 +156,11 @@ if ($aCMDResult['create-country-names'] || $aCMDResult['all']) {
$oSetup->createCountryNames($aCMDResult); $oSetup->createCountryNames($aCMDResult);
} }
if ($aCMDResult['setup-website'] || $aCMDResult['all']) {
$bDidSomething = true;
$oSetup->setupWebsite();
}
// ****************************************************** // ******************************************************
// If we did something, repeat the warnings // If we did something, repeat the warnings
if (!$bDidSomething) { if (!$bDidSomething) {