Tutorial: Installing TileServer PHP on Alpine Linux Latest
In this tutorial, we will go through the steps to install TileServer PHP from https://www.maptiler.com/server/ on Alpine Linux Latest. TileServer PHP is a lightweight and fast map tile server that can serve both raster and vector tiles.
Prerequisites
Before you start, ensure that you have the following:
- A machine running Alpine Linux Latest.
- A user account with sudo privileges.
Step 1: Install required packages
The first step is to install the required packages. We will need to install the following packages:
sudo apk update
sudo apk add curl unzip libzip-dev libpng-dev libjpeg-turbo-dev gd-dev sqlite-dev
Step 2: Download and unzip TileServer PHP
Next, we need to download and unzip the TileServer PHP package. You can download the latest TileServer PHP package from https://www.maptiler.com/server/ and use the following commands to download and unzip it:
cd ~
curl -LO https://github.com/maptiler/tileserver-php/releases/download/v*/tileserver-php-*.zip
unzip tileserver-php-*.zip -d tileserver-php
Step 3: Install PHP and required PHP packages
After we have downloaded TileServer PHP, we need to install PHP and its required packages. We will install PHP 7.4 and its required packages using the following commands:
sudo apk add php7-dev php7-pear php7-gd php7-json php7-zip php7-pdo php7-pdo_sqlite php7-bcmath php7-mbstring php7-ctype
sudo pecl install zip
Step 4: Install MapTiler driver
Now that we have installed PHP and its required packages, we need to install the MapTiler driver. The MapTiler driver is a proprietary, closed-source plugin that TileServer PHP uses to generate tiles from MapTiler maps. You can download the MapTiler driver from the following link, specifying Alpine Linux as the operating system:
https://www.maptiler.com/download/tileserver-php-driver/
cd ~/tileserver-php
unzip ~/Downloads/tileserver-php-driver-*.zip "driver/*"
sudo cp ~/tileserver-php/driver/maptiler-php-*.so /usr/lib/php7/modules/
Step 5: Configure TileServer PHP
We have now installed all the required components for TileServer PHP. The last step is to configure it. We will create a basic configuration file that serves a map of OpenStreetMap data in vector format:
cat > ~/tileserver-php/config.json <<EOF
{
"data":
{
"mbtiles":
{
"src":"https://download.geofabrik.de/europe/great-britain-latest.osm.pbf",
"format":"pbf"
}
},
"name":"OpenStreetMap",
"description":"A map of OpenStreetMap data in vector format",
"attribution":"OpenStreetMap contributors",
"center":[0,0,3],
"format":"pbf",
"minzoom":0,
"maxzoom":14,
"bounds":[-180,-85.0511,180,85.0511],
"version":"2.0.0",
"template":"osm-liberty",
"source":"https://www.openstreetmap.org",
"type":"map"
}
EOF
Step 6: Start the TileServer PHP application
We are now ready to start the TileServer PHP application. We will start the application using the built-in PHP web server for testing purposes:
cd ~/tileserver-php
php -S localhost:8080
Conclusion
In this tutorial, we have gone through the steps to install TileServer PHP on Alpine Linux Latest. We have installed the required packages, downloaded and unzipped TileServer PHP, installed PHP and its required packages, installed the MapTiler driver, configured TileServer PHP, and started the application. We can now view the map by navigating to http://localhost:8080 in a web browser.