X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/186a633185c07622640792c8da0591d6c2f5a5f8..5141ac14f6c8502aee8a88074159a68222054527:/vagrant/install-on-centos-7.sh?ds=sidebyside diff --git a/vagrant/install-on-centos-7.sh b/vagrant/install-on-centos-7.sh index 4f8f917e..8b283ef6 100755 --- a/vagrant/install-on-centos-7.sh +++ b/vagrant/install-on-centos-7.sh @@ -1,13 +1,13 @@ #!/bin/bash # # *Note:* these installation instructions are also available in executable -# form for use with vagrant in the vagrant/ directory. +# form for use with vagrant under vagrant/install-on-centos-7.sh. # # Installing the Required Software # ================================ # # These instructions expect that you have a freshly installed CentOS version 7. -# Make sure all packages are are up-to-date by running: +# Make sure all packages are up-to-date by running: # sudo yum update -y @@ -21,9 +21,18 @@ sudo yum install -y postgresql-server postgresql-contrib postgresql-devel postgis postgis-utils \ git cmake make gcc gcc-c++ libtool policycoreutils-python \ - php-pgsql php php-pear php-pear-DB libpqxx-devel proj-epsg \ + php-pgsql php php-pear php-pear-DB php-intl libpqxx-devel proj-epsg \ bzip2-devel proj-devel geos-devel libxml2-devel boost-devel expat-devel zlib-devel +# If you want to run the test suite, you need to install the following +# additional packages: + + sudo yum install -y python-pip python-Levenshtein python-psycopg2 \ + python-numpy php-phpunit-PHPUnit + pip install --user --upgrade pip setuptools lettuce==0.2.18 six==1.9 \ + haversine Shapely pytidylib + sudo pear install PHP_CodeSniffer + # # System Configuration # ==================== @@ -67,8 +76,8 @@ # # Next tune the postgresql configuration, which is located in -# `/var/lib/pgsql/data/postgresql.conf`. See -# [the wiki](http://wiki.openstreetmap.org/wiki/Nominatim/Installation#PostgreSQL_Tuning_and_Configuration) for the parameters to change. +# `/var/lib/pgsql/data/postgresql.conf`. See section *Postgres Tuning* in +# [the installation page](Installation.md) for the parameters to change. # # Now start the postgresql service after updating this config file. @@ -76,7 +85,8 @@ # # Finally, we need to add two postgres users: one for the user that does -# the import and another for the webserver ro access the database: +# the import and another for the webserver which should access the database +# only for reading: # sudo -u postgres createuser -s $USERNAME @@ -90,10 +100,11 @@ # configuration. Add a separate nominatim configuration to your webserver: #DOCS:``` -sudo cat > /etc/httpd/conf.d/nominatim.conf << EOFAPACHECONF +sudo tee /etc/httpd/conf.d/nominatim.conf << EOFAPACHECONF #DOCS: Options FollowSymLinks MultiViews AddType text/html .php + DirectoryIndex search.php Require all granted @@ -130,34 +141,42 @@ sudo sed -i 's:#.*::' /etc/httpd/conf.d/nominatim.conf #DOCS: # # Get the source code from Github and change into the source directory # -if [ "x$CHECKOUT" == "xy" ]; then #DOCS: +if [ "x$1" == "xyes" ]; then #DOCS: cd $USERHOME - sudo -u $USERNAME git clone --recursive git://github.com/twain47/Nominatim.git + git clone --recursive git://github.com/openstreetmap/Nominatim.git #DOCS: cd Nominatim else #DOCS: cd $USERHOME #DOCS: fi #DOCS: -# The code is built in a special directory. Create this directory, +# When installing the latest source from github, you also need to +# download the country grid: + +if [ ! -f data/country_osm_grid.sql.gz ]; then #DOCS: + wget -O data/country_osm_grid.sql.gz http://www.nominatim.org/data/country_grid.sql.gz +fi #DOCS: + +# The code must be built in a separate directory. Create this directory, # then configure and build Nominatim in there: - sudo -u $USERNAME mkdir build + mkdir build cd build - sudo -u $USERNAME cmake $USERHOME/Nominatim - sudo -u $USERNAME make + cmake $USERHOME/Nominatim + make # You need to create a minimal configuration file that tells nominatim -# the name of your webserver user: +# the name of your webserver user and the URL of the website: #DOCS:``` -sudo -u $USERNAME cat > settings/local.php << EOF +tee settings/local.php << EOF