mirror of
https://github.com/osm-search/Nominatim.git
synced 2024-12-26 22:44:44 +03:00
Merge pull request #2171 from lonvia/update-vagrant-scripts-for-make-install
Update vagrant scripts for make install
This commit is contained in:
commit
684378722c
@ -6,7 +6,7 @@
|
||||
#
|
||||
#-----------------------------------------------------------------------------
|
||||
|
||||
cmake_minimum_required(VERSION 2.8 FATAL_ERROR)
|
||||
cmake_minimum_required(VERSION 3.0 FATAL_ERROR)
|
||||
list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake")
|
||||
|
||||
|
||||
@ -238,7 +238,14 @@ if (BUILD_IMPORTER)
|
||||
endif()
|
||||
|
||||
if (BUILD_OSM2PGSQL)
|
||||
install(TARGETS osm2pgsql RUNTIME DESTINATION ${NOMINATIM_LIBDIR})
|
||||
if (${CMAKE_VERSION} VERSION_LESS 3.13)
|
||||
# Installation of subdirectory targets was only introduced in 3.13.
|
||||
# So just copy the osm2pgsql file for older versions.
|
||||
install(PROGRAMS ${PROJECT_BINARY_DIR}/osm2pgsql/osm2pgsql
|
||||
DESTINATION ${NOMINATIM_LIBDIR})
|
||||
else()
|
||||
install(TARGETS osm2pgsql RUNTIME DESTINATION ${NOMINATIM_LIBDIR})
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if (BUILD_MODULE)
|
||||
|
@ -106,36 +106,6 @@ sudo chown vagrant /srv/nominatim #DOCS:
|
||||
sudo -u postgres createuser -s $USERNAME
|
||||
sudo -u postgres createuser apache
|
||||
|
||||
#
|
||||
# Setting up the Apache Webserver
|
||||
# -------------------------------
|
||||
#
|
||||
# You need to create an alias to the website directory in your apache
|
||||
# configuration. Add a separate nominatim configuration to your webserver:
|
||||
|
||||
#DOCS:```sh
|
||||
sudo tee /etc/httpd/conf.d/nominatim.conf << EOFAPACHECONF
|
||||
<Directory "$USERHOME/build/website">
|
||||
Options FollowSymLinks MultiViews
|
||||
AddType text/html .php
|
||||
DirectoryIndex search.php
|
||||
Require all granted
|
||||
</Directory>
|
||||
|
||||
Alias /nominatim $USERHOME/build/website
|
||||
EOFAPACHECONF
|
||||
#DOCS:```
|
||||
|
||||
sudo sed -i 's:#.*::' /etc/httpd/conf.d/nominatim.conf #DOCS:
|
||||
|
||||
#
|
||||
# Then reload apache
|
||||
#
|
||||
|
||||
sudo systemctl enable httpd
|
||||
sudo systemctl restart httpd
|
||||
|
||||
|
||||
#
|
||||
# Installing Nominatim
|
||||
# ====================
|
||||
@ -164,11 +134,48 @@ fi #DOCS:
|
||||
# then configure and build Nominatim in there:
|
||||
|
||||
#DOCS: :::sh
|
||||
cd $USERHOME
|
||||
mkdir build
|
||||
cd build
|
||||
mkdir $USERHOME/build
|
||||
cd $USERHOME/build
|
||||
cmake $USERHOME/Nominatim
|
||||
make
|
||||
sudo make install
|
||||
|
||||
#
|
||||
# Setting up the Apache Webserver
|
||||
# -------------------------------
|
||||
#
|
||||
# The webserver should serve the php scripts from the website directory of your
|
||||
# [project directory](../admin/import.md#creating-the-project-directory).
|
||||
# Therefore set up a project directory and populate the website directory:
|
||||
#
|
||||
mkdir $USERHOME/nominatim-project
|
||||
cd $USERHOME/nominatim-project
|
||||
nominatim refresh --website
|
||||
#
|
||||
# You need to create an alias to the website directory in your apache
|
||||
# configuration. Add a separate nominatim configuration to your webserver:
|
||||
|
||||
#DOCS:```sh
|
||||
sudo tee /etc/httpd/conf.d/nominatim.conf << EOFAPACHECONF
|
||||
<Directory "$USERHOME/nominatim-project/website">
|
||||
Options FollowSymLinks MultiViews
|
||||
AddType text/html .php
|
||||
DirectoryIndex search.php
|
||||
Require all granted
|
||||
</Directory>
|
||||
|
||||
Alias /nominatim $USERHOME/nominatim-project/website
|
||||
EOFAPACHECONF
|
||||
#DOCS:```
|
||||
|
||||
sudo sed -i 's:#.*::' /etc/httpd/conf.d/nominatim.conf #DOCS:
|
||||
|
||||
#
|
||||
# Then reload apache
|
||||
#
|
||||
|
||||
sudo systemctl enable httpd
|
||||
sudo systemctl restart httpd
|
||||
|
||||
#
|
||||
# Adding SELinux Security Settings
|
||||
@ -178,11 +185,11 @@ fi #DOCS:
|
||||
# with a web server accessible from the Internet. At a minimum the
|
||||
# following SELinux labeling should be done for Nominatim:
|
||||
|
||||
sudo semanage fcontext -a -t httpd_sys_content_t "$USERHOME/Nominatim/(website|lib|settings)(/.*)?"
|
||||
sudo semanage fcontext -a -t httpd_sys_content_t "$USERHOME/build/(website|lib|settings)(/.*)?"
|
||||
sudo semanage fcontext -a -t lib_t "$USERHOME/build/module/nominatim.so"
|
||||
sudo restorecon -R -v $USERHOME/Nominatim
|
||||
sudo restorecon -R -v $USERHOME/build
|
||||
sudo semanage fcontext -a -t httpd_sys_content_t "/usr/local/nominatim/lib/lib-php(/.*)?"
|
||||
sudo semanage fcontext -a -t httpd_sys_content_t "$USERHOME/nominatim-project/website(/.*)?"
|
||||
sudo semanage fcontext -a -t lib_t "$USERHOME/nominatim-project/module/nominatim.so"
|
||||
sudo restorecon -R -v /usr/local/lib/nominatim
|
||||
sudo restorecon -R -v $USERHOME/nominatim-project
|
||||
|
||||
|
||||
# You need to create a minimal configuration file that tells nominatim
|
||||
|
@ -100,36 +100,6 @@ sudo chown vagrant /srv/nominatim #DOCS:
|
||||
sudo -u postgres createuser -s $USERNAME
|
||||
sudo -u postgres createuser apache
|
||||
|
||||
#
|
||||
# Setting up the Apache Webserver
|
||||
# -------------------------------
|
||||
#
|
||||
# You need to create an alias to the website directory in your apache
|
||||
# configuration. Add a separate nominatim configuration to your webserver:
|
||||
|
||||
#DOCS:```sh
|
||||
sudo tee /etc/httpd/conf.d/nominatim.conf << EOFAPACHECONF
|
||||
<Directory "$USERHOME/build/website">
|
||||
Options FollowSymLinks MultiViews
|
||||
AddType text/html .php
|
||||
DirectoryIndex search.php
|
||||
Require all granted
|
||||
</Directory>
|
||||
|
||||
Alias /nominatim $USERHOME/build/website
|
||||
EOFAPACHECONF
|
||||
#DOCS:```
|
||||
|
||||
sudo sed -i 's:#.*::' /etc/httpd/conf.d/nominatim.conf #DOCS:
|
||||
|
||||
#
|
||||
# Then reload apache
|
||||
#
|
||||
|
||||
sudo systemctl enable httpd
|
||||
sudo systemctl restart httpd
|
||||
|
||||
|
||||
#
|
||||
# Installing Nominatim
|
||||
# ====================
|
||||
@ -158,11 +128,48 @@ fi #DOCS:
|
||||
# then configure and build Nominatim in there:
|
||||
|
||||
#DOCS: :::sh
|
||||
cd $USERHOME
|
||||
mkdir build
|
||||
cd build
|
||||
mkdir $USERHOME/build
|
||||
cd $USERHOME/build
|
||||
cmake $USERHOME/Nominatim
|
||||
make
|
||||
sudo make install
|
||||
|
||||
#
|
||||
# Setting up the Apache Webserver
|
||||
# -------------------------------
|
||||
#
|
||||
# The webserver should serve the php scripts from the website directory of your
|
||||
# [project directory](../admin/import.md#creating-the-project-directory).
|
||||
# Therefore set up a project directory and populate the website directory:
|
||||
#
|
||||
mkdir $USERHOME/nominatim-project
|
||||
cd $USERHOME/nominatim-project
|
||||
nominatim refresh --website
|
||||
#
|
||||
# You need to create an alias to the website directory in your apache
|
||||
# configuration. Add a separate nominatim configuration to your webserver:
|
||||
|
||||
#DOCS:```sh
|
||||
sudo tee /etc/httpd/conf.d/nominatim.conf << EOFAPACHECONF
|
||||
<Directory "$USERHOME/nominatim-project/website">
|
||||
Options FollowSymLinks MultiViews
|
||||
AddType text/html .php
|
||||
DirectoryIndex search.php
|
||||
Require all granted
|
||||
</Directory>
|
||||
|
||||
Alias /nominatim $USERHOME/nominatim-project/website
|
||||
EOFAPACHECONF
|
||||
#DOCS:```
|
||||
|
||||
sudo sed -i 's:#.*::' /etc/httpd/conf.d/nominatim.conf #DOCS:
|
||||
|
||||
#
|
||||
# Then reload apache
|
||||
#
|
||||
|
||||
sudo systemctl enable httpd
|
||||
sudo systemctl restart httpd
|
||||
|
||||
#
|
||||
# Adding SELinux Security Settings
|
||||
@ -172,11 +179,11 @@ fi #DOCS:
|
||||
# with a web server accessible from the Internet. At a minimum the
|
||||
# following SELinux labeling should be done for Nominatim:
|
||||
|
||||
sudo semanage fcontext -a -t httpd_sys_content_t "$USERHOME/Nominatim/(website|lib|settings)(/.*)?"
|
||||
sudo semanage fcontext -a -t httpd_sys_content_t "$USERHOME/build/(website|lib|settings)(/.*)?"
|
||||
sudo semanage fcontext -a -t lib_t "$USERHOME/build/module/nominatim.so"
|
||||
sudo restorecon -R -v $USERHOME/Nominatim
|
||||
sudo restorecon -R -v $USERHOME/build
|
||||
sudo semanage fcontext -a -t httpd_sys_content_t "/usr/local/nominatim/lib/lib-php(/.*)?"
|
||||
sudo semanage fcontext -a -t httpd_sys_content_t "$USERHOME/nominatim-project/website(/.*)?"
|
||||
sudo semanage fcontext -a -t lib_t "$USERHOME/nominatim-project/module/nominatim.so"
|
||||
sudo restorecon -R -v /usr/local/lib/nominatim
|
||||
sudo restorecon -R -v $USERHOME/nominatim-project
|
||||
|
||||
|
||||
# You need to create a minimal configuration file that tells nominatim
|
||||
|
@ -29,9 +29,13 @@ export DEBIAN_FRONTEND=noninteractive #DOCS:
|
||||
libbz2-dev libpq-dev libproj-dev \
|
||||
postgresql-server-dev-10 postgresql-10-postgis-2.4 \
|
||||
postgresql-contrib-10 postgresql-10-postgis-scripts \
|
||||
php php-pgsql php-intl python3-dotenv \
|
||||
php php-pgsql php-intl python3-pip \
|
||||
python3-psycopg2 git
|
||||
|
||||
# The python-dotenv package that comes with Ubuntu 18.04 is too old, so
|
||||
# install the latest version from pip:
|
||||
|
||||
pip3 install python-dotenv
|
||||
|
||||
#
|
||||
# System Configuration
|
||||
@ -113,11 +117,11 @@ fi #DOCS:
|
||||
# The code must be built in a separate directory. Create this directory,
|
||||
# then configure and build Nominatim in there:
|
||||
|
||||
cd $USERHOME
|
||||
mkdir build
|
||||
cd build
|
||||
mkdir $USERHOME/build
|
||||
cd $USERHOME/build
|
||||
cmake $USERHOME/Nominatim
|
||||
make
|
||||
sudo make install
|
||||
|
||||
|
||||
# Nominatim is now ready to use. You can continue with
|
||||
@ -127,6 +131,14 @@ fi #DOCS:
|
||||
# Setting up a webserver
|
||||
# ======================
|
||||
#
|
||||
# The webserver should serve the php scripts from the website directory of your
|
||||
# [project directory](../admin/import.md#creating-the-project-directory).
|
||||
# Therefore set up a project directory and populate the website directory:
|
||||
|
||||
mkdir $USERHOME/nominatim-project
|
||||
cd $USERHOME/nominatim-project
|
||||
nominatim refresh --website
|
||||
#
|
||||
# Option 1: Using Apache
|
||||
# ----------------------
|
||||
#
|
||||
@ -142,14 +154,14 @@ if [ "x$2" == "xinstall-apache" ]; then #DOCS:
|
||||
|
||||
#DOCS:```sh
|
||||
sudo tee /etc/apache2/conf-available/nominatim.conf << EOFAPACHECONF
|
||||
<Directory "$USERHOME/build/website">
|
||||
<Directory "$USERHOME/nominatim-project/website">
|
||||
Options FollowSymLinks MultiViews
|
||||
AddType text/html .php
|
||||
DirectoryIndex search.php
|
||||
Require all granted
|
||||
</Directory>
|
||||
|
||||
Alias /nominatim $USERHOME/build/website
|
||||
Alias /nominatim $USERHOME/nominatim-project/website
|
||||
EOFAPACHECONF
|
||||
#DOCS:```
|
||||
|
||||
@ -206,7 +218,7 @@ server {
|
||||
listen 80 default_server;
|
||||
listen [::]:80 default_server;
|
||||
|
||||
root $USERHOME/build/website;
|
||||
root $USERHOME/nominatim-project/website;
|
||||
index search.php index.html;
|
||||
location / {
|
||||
try_files \$uri \$uri/ @php;
|
||||
|
21
vagrant/Install-on-Ubuntu-20.sh
Normal file → Executable file
21
vagrant/Install-on-Ubuntu-20.sh
Normal file → Executable file
@ -115,11 +115,11 @@ fi #DOCS:
|
||||
# The code must be built in a separate directory. Create this directory,
|
||||
# then configure and build Nominatim in there:
|
||||
|
||||
cd $USERHOME
|
||||
mkdir build
|
||||
cd build
|
||||
mkdir $USERHOME/build
|
||||
cd $USERHOME/build
|
||||
cmake $USERHOME/Nominatim
|
||||
make
|
||||
sudo make install
|
||||
|
||||
# Nominatim is now ready to use. You can continue with
|
||||
# [importing a database from OSM data](../admin/Import.md). If you want to set up
|
||||
@ -127,6 +127,15 @@ fi #DOCS:
|
||||
#
|
||||
# Setting up a webserver
|
||||
# ======================
|
||||
#
|
||||
# The webserver should serve the php scripts from the website directory of your
|
||||
# [project directory](../admin/import.md#creating-the-project-directory).
|
||||
# Therefore set up a project directory and populate the website directory:
|
||||
|
||||
mkdir $USERHOME/nominatim-project
|
||||
cd $USERHOME/nominatim-project
|
||||
nominatim refresh --website
|
||||
|
||||
#
|
||||
# Option 1: Using Apache
|
||||
# ----------------------
|
||||
@ -143,14 +152,14 @@ if [ "x$2" == "xinstall-apache" ]; then #DOCS:
|
||||
|
||||
#DOCS:```sh
|
||||
sudo tee /etc/apache2/conf-available/nominatim.conf << EOFAPACHECONF
|
||||
<Directory "$USERHOME/build/website">
|
||||
<Directory "$USERHOME/nominatim-project/website">
|
||||
Options FollowSymLinks MultiViews
|
||||
AddType text/html .php
|
||||
DirectoryIndex search.php
|
||||
Require all granted
|
||||
</Directory>
|
||||
|
||||
Alias /nominatim $USERHOME/build/website
|
||||
Alias /nominatim $USERHOME/nominatim-project/website
|
||||
EOFAPACHECONF
|
||||
#DOCS:```
|
||||
|
||||
@ -207,7 +216,7 @@ server {
|
||||
listen 80 default_server;
|
||||
listen [::]:80 default_server;
|
||||
|
||||
root $USERHOME/build/website;
|
||||
root $USERHOME/nominatim-project/website;
|
||||
index search.php index.html;
|
||||
location / {
|
||||
try_files \$uri \$uri/ @php;
|
||||
|
Loading…
Reference in New Issue
Block a user