TileServer PHP is a free and open-source map tile server that allows developers to easily serve custom maps with their own data. In this tutorial, we will guide you through the process of installing and configuring TileServer PHP on Fedora Server Latest.
Before we begin, you will need the following:
TileServer PHP requires Node.js, PHP, and Apache web server to operate. You can install these packages in Fedora Server Latest by running the following command:
sudo dnf install nodejs php php-mbstring httpd mod_ssl
This command will install Node.js, PHP, the PHP mbstring extension, Apache web server, and mod_ssl module for enabling HTTPS.
The next step is to download the TileServer PHP from the Maptiler official website. You can download the latest stable version of TileServer PHP from the following link:
wget https://github.com/maptiler/tileserver-php/releases/download/v3.0.2/tileserver-php_v3.0.2_linux_x86_64.tar.gz
After downloading the package, extract it using the following command:
tar -zxvf tileserver-php_v3.0.2_linux_x86_64.tar.gz
The extracted package will contain the TileServer PHP executable file named tileserver-php
.
Now, we need to copy the tileserver-php
file to the /usr/local/bin
directory by running the following command:
sudo cp tileserver-php /usr/local/bin
TileServer PHP needs a directory to store map tiles. We will create a new directory named maptiles
for this purpose by running the following command:
sudo mkdir /var/www/html/maptiles
Then, we will set appropriate permissions for this directory using the following command:
sudo chown -R apache:apache /var/www/html/maptiles
sudo chmod -R 755 /var/www/html/maptiles
To configure Apache web server for TileServer PHP, we need to create a new virtual host configuration file for our website. You can create a new configuration file by running the following command:
sudo nano /etc/httpd/conf.d/maptiles.conf
Paste the following configuration in the file:
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/html/maptiles
<Location />
Require all granted
</Location>
<Location /tiles>
Header set Access-Control-Allow-Origin "*"
Header set Access-Control-Allow-Headers "origin, x-requested-with, content-type, accept"
Header set Access-Control-Max-Age "86400"
Header set Access-Control-Allow-Methods "POST, GET, OPTIONS, DELETE, PUT"
Options FollowSymLinks
Require all granted
</Location>
LogLevel info
ErrorLog /var/log/httpd/maptiles_error.log
CustomLog /var/log/httpd/maptiles_access.log combined
</VirtualHost>
Make sure to replace example.com
and www.example.com
with your own domain name.
Save and close the file.
Next, restart Apache web server using the following command:
sudo systemctl restart httpd
Now, we are ready to start TileServer PHP. We will use the tileserver-php
command to start the server by running the following command:
tileserver-php /var/www/html/maptiles
This command will start the server and serve map tiles from the /var/www/html/maptiles
directory.
Congratulations! You have successfully installed TileServer PHP on Fedora Server Latest. You can now use TileServer PHP to serve custom maps with your own data.
If you want to self-host in an easy, hands free way, need an external IP address, or simply want your data in your own hands, give IPv6.rs a try!
Alternatively, for the best virtual desktop, try Shells!