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
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
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.
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.
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!