Install and configure Swarm manually from a Tarball
-
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.
-
Download the Swarm tarball.
-
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
, whereversion
corresponds to the version downloaded.TipMany graphical file manager applications (Nautilus on Linux, etc.) can automatically expand the tarball package by simply double-clicking it.
-
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
-
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.
-
Configure Redis, see Redis configuration.