On this page

    Install and run MapTiler Server on Linux

    This page describes the installation of MapTiler Server on Linux-based systems.

    Install MapTiler Server

    1. Get the installation package from the Server download page. We provide DEB packages for Debian-based Linux distributions (Ubuntu, Debian, Mint, …), RPM packages for RedHat-based distributions (Red Hat, Fedora, CentOS,…) and also universal AppImages.
    2. Run the installation:

      • For DEB packages, use: sudo dpkg -i maptiler-server-x.x.x.deb
      • For RPM packages, use: sudo rpm -i maptiler-server-x.x.x.rpm
      • For AppImages, first allow the package to execute in file properties. (Alternatively, run chmod u+x maptiler-server-X.X.X-linux.AppImage.) Then double-click on the package to install it.

    Run directly

    When installed, start MapTiler Server:

    
    maptiler-server
    

    This command uses the current directory to start MapTiler Server, and generates a random password for the MapTiler Server administration. The password will be printed in the command line. Copy it and use it to log in at http://localhost:3650/admin. If you change the default port via a configuration file or environment variable, the address will be http://localhost:<custom-port>/admin.

    If you want to change the administration password or other settings, run maptiler-server --help to list the options.

    Run as a service

    Optionally, you can configure and start MapTiler Server as a systemd service, so that it keeps running on the machine even after the current user logs out:

    
    sudo maptiler-server-servicify
    

    This command starts a script which guides you through setting up MapTiler Server’s working directory (use absolute path), port, and administration password. Then it creates the systemd service file and starts the service.

    What’s next

    If you’ve just installed MapTiler Server for the first time, we recommend our Getting Started with MapTiler Server to set up map hosting and quickly test it out. You’ll also learn how to set up MapTiler Server for real production deployment at the end of the guide.


    Troubleshooting

    This sections helps solve the most common issues with SELinux (RHEL). We use RHEL-8.2 as the reference system here.

    Issues with FUSE

    MapTilerServer Linux packages use AppImage distribution format under the hood, which is based on FUSE.

    If starting your server results in errors like this:

    fuse: failed to exec fusermount: No such file or directory

    You have to fix your FUSE setup. On reference system, this was easy to fix just with fuse install:

    yum install fuse

    In case you are not able to fix your FUSE setup, you can try to run the server this way

    maptiler-server --appimage-extract-and-run --port=3650

    Tiles rasterization

    Rasterization library we use in MapTiler Server requires execheap memory access. If your server is crashing with error similar to:

    swiftshader-1cba0a9c3a8a1961514ac63cd3091c1a376fe84a/src/Reactor/ExecutableMemory.cpp:352 WARNING: ASSERT(result == 0)

    It means that SELinux policies are preventing MapTiler Server from using this access mode.

    Like with any other SELinux issues, checking the systemd journal can be helpful:

    systemctl

    You will find here something like:

    SELinux is preventing maptiler-server from using the execheap access on a process.

    You can disable this policy with:

    setsebool -P selinuxuser\_execheap 1

    Or with help from utils you can create a local policy module to allow this access:

    ausearch -c 'maptiler-server' --raw | audit2allow -M my-maptilerserver semodule -i my-maptilerserver.pp

    As the last resort, try turning the SELinux off.

    Was this helpful?

    Map server guides
    Install and run MapTiler Server on Linux
    Install Server on Linux