Merge branch 'vagrant-centos-with-selinux' of https://github.com/mtmail/Nominatim

This commit is contained in:
Sarah Hoffmann
2018-03-08 21:37:24 +01:00
2 changed files with 29 additions and 40 deletions

31
Vagrantfile vendored
View File

@@ -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

View File

@@ -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: