mirror of
https://github.com/osm-search/Nominatim.git
synced 2026-02-26 11:08:13 +00:00
Merge branch 'vagrant-centos-with-selinux' of https://github.com/mtmail/Nominatim
This commit is contained in:
31
Vagrantfile
vendored
31
Vagrantfile
vendored
@@ -32,38 +32,21 @@ Vagrant.configure("2") do |config|
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
config.vm.define "centos" do |sub|
|
config.vm.define "centos" do |sub|
|
||||||
sub.vm.box = "bento/centos-7.2"
|
sub.vm.box = "centos/7"
|
||||||
sub.vm.provision :shell do |s|
|
sub.vm.provision :shell do |s|
|
||||||
s.path = "vagrant/Install-on-Centos-7.sh"
|
s.path = "vagrant/Install-on-Centos-7.sh"
|
||||||
s.privileged = false
|
s.privileged = false
|
||||||
s.args = [checkout]
|
s.args = "yes"
|
||||||
end
|
end
|
||||||
|
sub.vm.synced_folder ".", "/home/vagrant/Nominatim", disabled: true
|
||||||
|
sub.vm.synced_folder ".", "/vagrant", disabled: true
|
||||||
end
|
end
|
||||||
|
|
||||||
# configure shared package cache if possible
|
|
||||||
#if Vagrant.has_plugin?("vagrant-cachier")
|
|
||||||
# config.cache.enable :apt
|
|
||||||
# config.cache.scope = :box
|
|
||||||
#end
|
|
||||||
|
|
||||||
|
|
||||||
config.vm.provider "virtualbox" do |vb|
|
config.vm.provider "virtualbox" do |vb|
|
||||||
vb.gui = false
|
vb.gui = false
|
||||||
vb.customize ["modifyvm", :id, "--memory", "2048"]
|
vb.memory = 2048
|
||||||
|
vb.customize ["setextradata", :id, "VBoxInternal2/SharedFoldersEnableSymlinksCreate//vagrant","0"]
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
# config.vm.provider :digital_ocean do |provider, override|
|
|
||||||
# override.ssh.private_key_path = '~/.ssh/id_rsa'
|
|
||||||
# override.vm.box = 'digital_ocean'
|
|
||||||
# override.vm.box_url = "https://github.com/smdahlen/vagrant-digitalocean/raw/master/box/digital_ocean.box"
|
|
||||||
|
|
||||||
# provider.token = ''
|
|
||||||
# # provider.token = 'YOUR TOKEN'
|
|
||||||
# provider.image = 'ubuntu-14-04-x64'
|
|
||||||
# provider.region = 'nyc2'
|
|
||||||
# provider.size = '512mb'
|
|
||||||
# end
|
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
#DOCS: :::sh
|
#DOCS: :::sh
|
||||||
sudo yum install -y postgresql-server postgresql-contrib postgresql-devel \
|
sudo yum install -y postgresql-server postgresql-contrib postgresql-devel \
|
||||||
postgis postgis-utils \
|
postgis postgis-utils \
|
||||||
git cmake make gcc gcc-c++ libtool policycoreutils-python \
|
wget git cmake make gcc gcc-c++ libtool policycoreutils-python \
|
||||||
php-pgsql php php-pear php-pear-DB php-intl libpqxx-devel \
|
php-pgsql php php-pear php-pear-DB php-intl libpqxx-devel \
|
||||||
proj-epsg bzip2-devel proj-devel libxml2-devel boost-devel \
|
proj-epsg bzip2-devel proj-devel libxml2-devel boost-devel \
|
||||||
expat-devel zlib-devel
|
expat-devel zlib-devel
|
||||||
@@ -52,7 +52,8 @@
|
|||||||
# we assume this user is called nominatim and the installation will be in
|
# we assume this user is called nominatim and the installation will be in
|
||||||
# /srv/nominatim. To create the user and directory run:
|
# /srv/nominatim. To create the user and directory run:
|
||||||
#
|
#
|
||||||
# sudo useradd -d /srv/nominatim -s /bin/bash -m nominatim
|
sudo mkdir -p /srv/nominatim #DOCS: sudo useradd -d /srv/nominatim -s /bin/bash -m nominatim
|
||||||
|
sudo chown vagrant /srv/nominatim #DOCS:
|
||||||
#
|
#
|
||||||
# You may find a more suitable location if you wish.
|
# You may find a more suitable location if you wish.
|
||||||
#
|
#
|
||||||
@@ -60,7 +61,7 @@
|
|||||||
# user name and home directory now like this:
|
# user name and home directory now like this:
|
||||||
#
|
#
|
||||||
export USERNAME=vagrant #DOCS: export USERNAME=nominatim
|
export USERNAME=vagrant #DOCS: export USERNAME=nominatim
|
||||||
export USERHOME=/home/vagrant #DOCS: export USERHOME=/srv/nominatim
|
export USERHOME=/srv/nominatim
|
||||||
#
|
#
|
||||||
# **Never, ever run the installation as a root user.** You have been warned.
|
# **Never, ever run the installation as a root user.** You have been warned.
|
||||||
#
|
#
|
||||||
@@ -105,14 +106,14 @@
|
|||||||
|
|
||||||
#DOCS:```sh
|
#DOCS:```sh
|
||||||
sudo tee /etc/httpd/conf.d/nominatim.conf << EOFAPACHECONF
|
sudo tee /etc/httpd/conf.d/nominatim.conf << EOFAPACHECONF
|
||||||
<Directory "$USERHOME/build/website"> #DOCS:<Directory "$USERHOME/Nominatim/build/website">
|
<Directory "$USERHOME/build/website"> #DOCS:<Directory "$USERHOME/build/website">
|
||||||
Options FollowSymLinks MultiViews
|
Options FollowSymLinks MultiViews
|
||||||
AddType text/html .php
|
AddType text/html .php
|
||||||
DirectoryIndex search.php
|
DirectoryIndex search.php
|
||||||
Require all granted
|
Require all granted
|
||||||
</Directory>
|
</Directory>
|
||||||
|
|
||||||
Alias /nominatim $USERHOME/build/website #DOCS:Alias /nominatim $USERHOME/Nominatim/build/website
|
Alias /nominatim $USERHOME/build/website #DOCS:Alias /nominatim $USERHOME/build/website
|
||||||
EOFAPACHECONF
|
EOFAPACHECONF
|
||||||
#DOCS:```
|
#DOCS:```
|
||||||
|
|
||||||
@@ -122,19 +123,9 @@ sudo sed -i 's:#.*::' /etc/httpd/conf.d/nominatim.conf #DOCS:
|
|||||||
# Then reload apache
|
# Then reload apache
|
||||||
#
|
#
|
||||||
|
|
||||||
|
sudo systemctl enable httpd
|
||||||
sudo systemctl restart httpd
|
sudo systemctl restart httpd
|
||||||
|
|
||||||
#
|
|
||||||
# Adding SELinux Security Settings
|
|
||||||
# --------------------------------
|
|
||||||
#
|
|
||||||
# It is a good idea to leave SELinux enabled and enforcing, particularly
|
|
||||||
# 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 lib_t "$USERHOME/Nominatim/module/nominatim.so"
|
|
||||||
sudo restorecon -R -v $USERHOME/Nominatim
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Installing Nominatim
|
# Installing Nominatim
|
||||||
@@ -169,6 +160,21 @@ fi #DOCS:
|
|||||||
cmake $USERHOME/Nominatim
|
cmake $USERHOME/Nominatim
|
||||||
make
|
make
|
||||||
|
|
||||||
|
#
|
||||||
|
# Adding SELinux Security Settings
|
||||||
|
# --------------------------------
|
||||||
|
#
|
||||||
|
# It is a good idea to leave SELinux enabled and enforcing, particularly
|
||||||
|
# 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
|
||||||
|
|
||||||
|
|
||||||
# You need to create a minimal configuration file that tells nominatim
|
# You need to create a minimal configuration file that tells nominatim
|
||||||
# the name of your webserver user and the URL of the website:
|
# the name of your webserver user and the URL of the website:
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user