X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/d1b1acaf1dce32d0e7dfd6879459e51fd6d55535..d437a14f25405fe4dd4bbaad46f5b34965425237:/vagrant/install-on-centos-7.sh diff --git a/vagrant/install-on-centos-7.sh b/vagrant/install-on-centos-7.sh index 32a12e9e..cd1ddfb0 100755 --- a/vagrant/install-on-centos-7.sh +++ b/vagrant/install-on-centos-7.sh @@ -1,7 +1,7 @@ #!/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 # ================================ @@ -24,6 +24,15 @@ php-pgsql php php-pear php-pear-DB 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 # ==================== @@ -52,6 +61,10 @@ # # **Never, ever run the installation as a root user.** You have been warned. # +# Make sure that system servers can read from the home directory: + + chmod a+x $USERHOME + # Setting up PostgreSQL # --------------------- # @@ -63,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. @@ -72,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 @@ -86,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 + Require all granted Alias /nominatim $USERHOME/build/website #DOCS:Alias /nominatim $USERHOME/Nominatim/build/website @@ -125,34 +140,35 @@ 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/twain47/Nominatim.git #DOCS: cd Nominatim else #DOCS: cd $USERHOME #DOCS: fi #DOCS: -# The code is built in a special directory. Create this directory, +# 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