Install and configure Swarm manually from a Tarball

Important
  • Review the runtime dependencies before you install Swarm, see Runtime dependencies.

  • CentOS/RHEL 7: Use the Remi repository configuration package (remi-release-7.rpm) to give Swarm access to PHP 7/PHP 8 and to LibreOffice which is part of the optional package install. Use the epel-release-latest-7.noarch.rpm repository configuration package to give Swarm access to EPEL packages.

  • RHEL 8: Use the Remi repository configuration package (remi-release-8.rpm) to give Swarm access to PHP 7/PHP 8 and to LibreOffice which is part of the optional package install. Use the epel-release-latest-8.noarch.rpm repository configuration package to give Swarm access to EPEL packages.

  • RHEL 9: Use the Remi repository configuration packages (remi-release-8.rpm and remi-release-9.rpm) to give Swarm access to PHP 7/PHP 8 and to LibreOffice which is part of the optional package install. Use the epel-release-latest-8.noarch.rpm and epel-release-latest-9.noarch.rpm repository configuration package to give Swarm access to EPEL packages.

  1. Download the Swarm tarball.

  2. Expand the Swarm package (a compressed tarball).

    From the command line, expand it via the tar command:

    tar -zxf swarm.tgz

    The contents of the Swarm package are expanded into a top-level folder named swarm-version, where version corresponds to the version downloaded.

    Tip

    Many graphical file manager applications (Nautilus on Linux, etc.) can automatically expand the tarball package by simply double-clicking it.

  3. Move the contents of the Swarm package to the correct location.

    Identify a location for the Swarm files; this should correspond to a location associated to the virtual host configured under Apache (see Apache configuration).

    mv /path/to/swarm-version /path/to/vhosts/swarm

  4. Assign correct ownership and permission for the Swarm files.

    The data top-level folder in the Swarm distribution needs to be writeable by the web server. To achieve this effect, simply change ownership of the data folder to the web user:

    sudo chown -R www /path/to/vhosts/swarm/data

    The www user above is an example of what the web server user name might be. Depending on your distribution, this could be _www, web, nobody or something else entirely.

    If your web server is already running, you can discover the user with:

    ps aux | grep -E 'apache|httpd'
    root      3592  0.0  0.5 405240 20708 ?        Ss   May03   4:32 /usr/sbin/apache2 -k start
    www      20016  0.0  0.2 405264  9796 ?        S    07:45   0:00 /usr/sbin/apache2 -k start

    In this example, www is the user Apache is running as.

    From a security perspective, we recommend that the minimum file permissions should be granted to the user/group under which the web server runs against the Swarm distribution.

  5. Configure Redis, see Redis configuration.