How to install Swift on MXLinux Latest

Swift is an open-source object storage system designed to provide scalability, durability, and performance. In this tutorial, we will guide you through the installation process of Swift from the official website http://docs.openstack.org/developer/swift/ on MXLinux latest.

Prerequisites

Step 1: Install Dependencies

Before installing Swfit, we need to install some dependencies:

sudo apt update && sudo apt upgrade
sudo apt install curl gcc memcached rsync sqlite3 xfsprogs \
swift swift-proxy swift-account swift-container swift-object

Once the packages are installed, you need to start the services.

sudo systemctl start memcached
sudo systemctl enable memcached
sudo systemctl start swift-proxy
sudo systemctl enable swift-proxy
sudo systemctl start swift-account
sudo systemctl enable swift-account
sudo systemctl start swift-container
sudo systemctl enable swift-container
sudo systemctl start swift-object
sudo systemctl enable swift-object

Step 2: Configure Swift

We need to modify the configuration files for swift.

sudo nano /etc/swift/swift.conf

Uncomment the following lines:

[swift-hash]
swift_hash_path_suffix = random_gibberish_here

Save and Exit.

Next, edit proxy-server.conf:

sudo nano /etc/swift/proxy-server.conf

Update the following lines (make sure that you replace 127.0.0.1 with your own IP address):

[DEFAULT]
bind_port = 8080
user = swift
log_facility = LOG_LOCAL1
[pipeline:main]
pipeline = catch_errors gatekeeper healthcheck proxy-logging cache tempauth proxy-server
[app:proxy-server]
use = egg:swift#proxy
allow_account_management = true
account_autocreate = True
set log_name = swift-proxy
set log_facility = LOG_LOCAL1
set log_level = INFO
set log_headers = X-Auth-Token,X-Storage-Token,X-Container-Write,X-Container-Read,X-Container-Sync-Key,X-Container-Meta-*
set account_listing_limit = 10000
set container_listing_limit = 10000
set object_account_cache_time = 60
set strict_cors_mode = false
set obj_cacher_cache_time = 10
set obj_cacher_cache_size = 10000
set concurrency = 20
set workers = auto
set send_timeout = 600
set client_timeout = 86400
set max_containers_per_extraction = 665
set cors_origin =
set cors_max_age = 86400
set cors_allow_methods = GET,PUT,HEAD,DELETE,COPY#,OPTIONS;
set cors_allow_headers = content-type,origin,x-requested-with,accept,authorization
[filter:tempauth]
account = system
user_admin_admin = admin .admin .reseller_admin
user_test_tester = testing .admin
user_test2_tester2 = testing2 .admin
user_test_tester3 = testing3

Save and Exit.

Step 3: Start and Test Swift

Start the Swift services:

sudo systemctl start swift-all
sudo systemctl enable swift-all

Check the status of the services:

swift-init status

Test Swift by running a couple of commands:

swift -A http://127.0.0.1:8080/auth/v1.0/ -U account:user -K password stat
swift -A http://127.0.0.1:8080/auth/v1.0/ -U account:user -K password list

You should receive a response for both commands.

Conclusion

Congratulations! You have successfully installed Swift on MXLinux latest. You can now configure and use it to store and retrieve objects as per your requirements.

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!