mirror of
https://github.com/osm-search/Nominatim.git
synced 2026-02-26 11:08:13 +00:00
Merge pull request #2297 from lonvia/update-deployment-docs
docs: update deployment to use project directory
This commit is contained in:
@@ -1,7 +1,7 @@
|
|||||||
# Deploying Nominatim
|
# Deploying Nominatim
|
||||||
|
|
||||||
The Nominatim API is implemented as a PHP application. The `website/` directory
|
The Nominatim API is implemented as a PHP application. The `website/` directory
|
||||||
in the build directory contains the configured website. You can serve this
|
in the project directory contains the configured website. You can serve this
|
||||||
in a production environment with any web server that is capable to run
|
in a production environment with any web server that is capable to run
|
||||||
PHP scripts.
|
PHP scripts.
|
||||||
|
|
||||||
@@ -13,10 +13,11 @@ to run a web service. Please refer to the documentation of
|
|||||||
for background information on configuring the services.
|
for background information on configuring the services.
|
||||||
|
|
||||||
!!! Note
|
!!! Note
|
||||||
Throughout this page, we assume that your Nominatim build directory is
|
Throughout this page, we assume that your Nominatim project directory is
|
||||||
located in `/srv/nominatim/build` and the source code in
|
located in `/srv/nominatim-project` and that you have installed Nominatim
|
||||||
`/srv/nominatim/Nominatim`. If you have put it somewhere else, you
|
using the default installation prefix `/usr/local`. If you have put it
|
||||||
need to adjust the commands and configuration accordingly.
|
somewhere else, you need to adjust the commands and configuration
|
||||||
|
accordingly.
|
||||||
|
|
||||||
We further assume that your web server runs as user `www-data`. Older
|
We further assume that your web server runs as user `www-data`. Older
|
||||||
versions of CentOS may still use the user name `apache`. You also need
|
versions of CentOS may still use the user name `apache`. You also need
|
||||||
@@ -29,7 +30,7 @@ web server user. You can check that the permissions are correct by accessing
|
|||||||
on of the php files as the web server user:
|
on of the php files as the web server user:
|
||||||
|
|
||||||
``` sh
|
``` sh
|
||||||
sudo -u www-data head -n 1 /srv/nominatim/build/website/search.php
|
sudo -u www-data head -n 1 /srv/nominatim-project/website/search.php
|
||||||
```
|
```
|
||||||
|
|
||||||
If this shows a permission error, then you need to adapt the permissions of
|
If this shows a permission error, then you need to adapt the permissions of
|
||||||
@@ -40,11 +41,11 @@ web server access. At a minimum the following SELinux labelling should be done
|
|||||||
for Nominatim:
|
for Nominatim:
|
||||||
|
|
||||||
``` sh
|
``` sh
|
||||||
sudo semanage fcontext -a -t httpd_sys_content_t "/srv/nominatim/Nominatim/(website|lib|settings)(/.*)?"
|
sudo semanage fcontext -a -t httpd_sys_content_t "/usr/local/nominatim/lib/lib-php(/.*)?"
|
||||||
sudo semanage fcontext -a -t httpd_sys_content_t "/srv/nominatim/build/(website|settings)(/.*)?"
|
sudo semanage fcontext -a -t httpd_sys_content_t "/srv/nominatim-project/website(/.*)?"
|
||||||
sudo semanage fcontext -a -t lib_t "/srv/nominatim/build/module/nominatim.so"
|
sudo semanage fcontext -a -t lib_t "/srv/nominatim-project/module/nominatim.so"
|
||||||
sudo restorecon -R -v /srv/nominatim/Nominatim
|
sudo restorecon -R -v /usr/local/lib/nominatim
|
||||||
sudo restorecon -R -v /srv/nominatim/build
|
sudo restorecon -R -v /srv/nominatim-project
|
||||||
```
|
```
|
||||||
|
|
||||||
## Nominatim with Apache
|
## Nominatim with Apache
|
||||||
@@ -65,13 +66,13 @@ Make sure your Apache configuration contains the required permissions for the
|
|||||||
directory and create an alias:
|
directory and create an alias:
|
||||||
|
|
||||||
``` apache
|
``` apache
|
||||||
<Directory "/srv/nominatim/build/website">
|
<Directory "/srv/nominatim-project/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 /srv/nominatim/build/website
|
Alias /nominatim /srv/nominatim-project/website
|
||||||
```
|
```
|
||||||
|
|
||||||
After making changes in the apache config you need to restart apache.
|
After making changes in the apache config you need to restart apache.
|
||||||
@@ -110,7 +111,7 @@ Tell nginx that php files are special and to fastcgi_pass to the php-fpm
|
|||||||
unix socket by adding the location definition to the default configuration.
|
unix socket by adding the location definition to the default configuration.
|
||||||
|
|
||||||
``` nginx
|
``` nginx
|
||||||
root /srv/nominatim/build/website;
|
root /srv/nominatim-project/website;
|
||||||
index search.php;
|
index search.php;
|
||||||
location / {
|
location / {
|
||||||
try_files $uri $uri/ @php;
|
try_files $uri $uri/ @php;
|
||||||
|
|||||||
Reference in New Issue
Block a user