# Now you can install all packages needed for Nominatim:
sudo apt-get install -y build-essential cmake g++ libboost-dev libboost-system-dev \
- libboost-filesystem-dev libexpat1-dev zlib1g-dev libxml2-dev \
+ libboost-filesystem-dev libexpat1-dev zlib1g-dev\
libbz2-dev libpq-dev libproj-dev \
postgresql-server-dev-10 postgresql-10-postgis-2.4 \
postgresql-contrib-10 postgresql-10-postgis-scripts \
apache2 php php-pgsql libapache2-mod-php \
- php-intl git
+ php-intl python3-setuptools python3-dev python3-pip \
+ python3-psycopg2 python3-tidylib git
# If you want to run the test suite, you need to install the following
-# additional packages:
-
- sudo apt-get install -y python3-setuptools python3-dev python3-pip \
- python3-psycopg2 python3-tidylib phpunit php-cgi
+# additional packages including the PHP package manager composer:
pip3 install --user behave nose
- composer global require "squizlabs/php_codesniffer=*"
- sudo ln -s ~/.config/composer/vendor/bin/phpcs /usr/bin/
+ sudo apt-get install -y php-cgi php-cli php-mbstring php-xml zip unzip
+
+ curl -Ss 'https://raw.githubusercontent.com/composer/getcomposer.org/99312bc6306564ac1f0ad2c6207c129b3aff58d6/web/installer' -o /tmp/composer-setup.php
+ if echo 'e0012edf3e80b6978849f5eff0d4b4e4c79ff1609dd1e613307e16318854d24ae64f26d17af3ef0bf7cfb710ca74755a /tmp/composer-setup.php' | sha384sum --check --strict --status; then
+ mkdir -p ~/.local/bin
+ php /tmp/composer-setup.php --install-dir ~/.local/bin --filename composer
+
+ ~/.local/bin/composer global require "squizlabs/php_codesniffer=*"
+ sudo ln -s ~/.config/composer/vendor/bin/phpcs /usr/bin/
+
+ ~/.local/bin/composer global require "phpunit/phpunit=8.*"
+ sudo ln -s ~/.config/composer/vendor/bin/phpunit /usr/bin/
+ else
+ echo 'Installer corrupt. Cannot install composer, php_codesniffer and phpunit.' >&2
+ fi
#
# System Configuration