Seafile (community version) is a free and open source file syncing and sharing solution which is similar to ownCloud.
Along with excellent performance and reliability, Seafile (community version) offers extraordinary features, like built-in file encryption, de-duplication, compression, and full file revision history. Besides, thanks to its great web front-end and multi-platform syncing clients, you can always access your files easily and quickly.
In this article, I will show you how to install the server-side program of Seafile (community version) on a Vultr CentOS 7 server instance.
Before diving in, you should have:
Deployed a Vultr CentOS 7 server instance from scratch.
Logged in this machine from an SSH terminal, using a non-root user who was granted sudo privileges.
For security and performance purposes, update your system to the latest stable status:
sudo yum install epel-release
sudo yum update -y && sudo reboot
Install the following dependencies:
sudo yum install python python-setuptools python-imaging python-ldap python-memcached MySQL-python mariadb mariadb-server
Start and enable the MariaDB service:
sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service
Run the secure MySQL installation procedure:
sudo /usr/bin/mysql_secure_installation
Finish this procedure according to the following instructions:
Enter current password for root (enter for none): enter
Set root password? [Y/n]: Y
New password: <your-password>
Re-enter new password: <your-password>
Remove anonymous users? [Y/n]: Y
Disallow root login remotely? [Y/n]: Y
Remove test database and access to it? [Y/n]: Y
Reload privilege tables now? [Y/n]: Y
Now you will be prompted to set a new password for the MySQL admin user "root". Remember this password, because you will need it later in the tutorial.
Download and unpack the latest version of the Seafile server archive (5.1.2 at the time of writing).
cd ~
wget https://bintray.com/artifact/download/seafile-org/seafile/seafile-server_5.1.2_x86-64.tar.gz
tar -zxvf seafile-server_5.1.2_x86-64.tar.gz
sudo mkdir -p /opt/seafile/installed
sudo mv seafile-server_5.1.2_x86-64.tar.gz /opt/seafile/installed
sudo mv seafile-server-5.1.2/ /opt/seafile
Install Seafile by running the installation script:
cd /opt/seafile/seafile-server-5.1.2
sudo ./setup-seafile-mysql.sh
The script is interactive. During the installation, you will need to:
Provide server name, server IP, and MySQL root password.
Choose 1 to install new databases.
Use the default values for all other options.
After the installation finishes, run the following commands to start Seafile server and setup an admin user account:
sudo ./seafile.sh start
sudo ./seahub.sh start
In order to allow web access and file syncing between the Seafile server and clients, you need to modify firewall rules using these commands:
sudo firewall-cmd --zone=public --permanent --add-port=8082/tcp
sudo firewall-cmd --zone=public --permanent --add-port=8000/tcp
sudo firewall-cmd --reload
Finally, it's time to install Seafile clients on your desktop or cellphone to sync your files. You can manage your Seafile server by visiting this address:
http://<your-Vultr-server-IP>:8000