Logo
  • Ubuntu
  • CentOS
  • Debian
  • Fedora
  • RedHat

How to Install Seafile to Sync and Share Files on Ubuntu - DesignLinux

May 29 2020
designlinux 0 Comments

Seafile is an open-source, small and secure cloud storage solution for file synchronization and sharing, built using C (at the core) and Python. It features file encryption and group sharing, organization of files into libraries and a library can be encrypted and protected using a password.

It extends your local disk space with the massive storage capacity on the Seafile server with reliable and efficient file syncing. Every file is encrypted before syncing to the central server. Sefiles also support enterprise features such as AD/LDAP integration, group syncing, department hierarchy, knowledge management, fine-grained permission control and more.

Recommended Read: How to Install Seafile to Sync and Share Files on CentOS 8

This guide will walk you through the steps to deploy Seafile as a private cloud storage server with Nginx as the reverse proxy service and MariaDB database server on a Ubuntu server.

System Requirements:

A fresh Ubuntu server with 2 Cores, 2GB or more RAM, 1GB SWAP or more and 100GB+ storage space for Seafile data.

Installing Seafile Server on Ubuntu

1. The easiest and recommended way to set up Seafile on Ubuntu is by using the automatic installation script. First, connect to your Ubuntu server via SSH, then run the following wget command at the command prompt to download the auto-installer script and run it with root privileges.

$ wget --no-check-certificate https://raw.githubusercontent.com/haiwen/seafile-server-installer/master/seafile-7.1_ubuntu
$ sudo sudo bash seafile-7.1_ubuntu 7.1.0

2. Next, the installer will prompt you to select the edition of Seafile to install, enter 1 for Community Edition (CE) and click Enter.

Install Seafile Community Edition on Ubuntu

Install Seafile Community Edition on Ubuntu

3. When the installation is complete, the installer will produce a report of the process as shown in the following screenshot. The report is also stored under the Seafile installation directory.

Seafile Installation Summary

Seafile Installation Summary

4. By default, the Seafile package is installed in /opt/seafile, use the ls command to view the contents of the directory.

# cd /opt/seafile/
# ls -lA
Seafile Installation Directory Contents

Seafile Installation Directory Contents

The core components of seafile are:

  • Seafile server (seaf-server) – the main data service daemon which listens on port 8082 by default. It handles raw file upload, download and syncing.
  • Ccnet server (ccnet-server) – the RPC (remote procedure call) service daemon designed to enable internal communication among multiple components.
  • Seahub (django) – the web front-end that is served by a light-weight Python HTTP server using gunicorn. By default, Seahub runs as an application within gunicorn.

5. During installation, the installer set up various services such as Nginx, Mariadb and Seafile-server. You can use the following systemctl commands to check if the services are up and running. To manage them where necessary, replace status with stop, start, restart, and is-enabled to apply the corresponding action on a particular service.

$ sudo systemctl status nginx
$ sudo systemctl status mariadb
$ sudo systemctl status seafile-server

6. Also, by default, the installer configures seahub to be accessed using the domain name seafile.example.com. You can set your domain name in the /etc/nginx/sites-available/seafile.conf configuration file.

$ sudo nano /etc/nginx/sites-available/seafile.conf

Look for the line:

server_name seafile.tecmint.lan;

and change it to:

server_name seafile.yourdomainname.com;
Set Your Domain Name in Nginx for Seafile

Set Your Domain Name in Nginx for Seafile

7. Then restart the Nginx service to apply the recent changes.

$ sudo systemctl restart nginx

8. If you have enabled the UFW firewall service on your server, you need to open port 80 and 443 in the firewall to allow HTTP and HTTPS requests to the Nginx server.

$ sudo ufw allow 80/tcp
$ sudo ufw allow 443/tcp
$ sudo ufw reload

9. Now that the seafile server is up and running, you can now access and start working with Seahub. Open your web browser and navigate using the following URL (remember to use the domain name that you configured in the Nginx configuration file for Seafile).

http://seafile.tecmint.lan

10. Once the login page load, log in with the admin user’s email address and password. To get them, check the seafile installation log file.

$ sudo cat /opt/seafile/aio_seafile-server.log
Seafile Admin Login Credentials

Seafile Admin Login Credentials

11. Now provide the admin email address and password, and click Log in.

Seafile Login Interface

Seafile Login Interface

12. The following screenshot shows the Seafile server web administration interface. Now proceed to change the default admin password and customize settings; create, encrypt and share libraries; link your devices and add or import users, and more.

Seafile Main Dashboard

Seafile Main Dashboard

To enable HTTPS for Nginx on Seafile server, see this guide: How to Secure Nginx with Let’s Encrypt on Ubuntu

There you have it, you have just set up a Seafile server with Nginx and MariaDB on a Ubuntu server. For more information, see the Seafile documentation. Give us feedback using the comment form below.

Sharing is Caring…
Share on FacebookShare on TwitterShare on LinkedinShare on Reddit

Related

Tags: Linux File Sharing Tools, seafile, Ubuntu Tips

How to Install Java on Arch Linux

Prev Post

How to Install Skype on Arch Linux

Next Post
Archives
  • January 2023
  • December 2022
  • November 2022
  • October 2022
  • September 2022
  • July 2022
  • June 2022
  • April 2022
  • March 2022
  • February 2022
  • January 2022
  • December 2021
  • November 2021
  • October 2021
  • September 2021
  • August 2021
  • July 2021
  • June 2021
  • May 2021
  • April 2021
  • March 2021
  • February 2021
  • January 2021
  • December 2020
  • November 2020
  • October 2020
  • September 2020
  • August 2020
  • July 2020
  • June 2020
  • May 2020
Categories
  • AlmaLinux
  • Android
  • Ansible
  • Apache
  • Arch Linux
  • AWS
  • Backups
  • Bash Shell
  • Bodhi Linux
  • CentOS
  • CentOS Stream
  • Chef
  • Cloud Software
  • CMS
  • Commandline Tools
  • Control Panels
  • CouchDB
  • Data Recovery Tools
  • Databases
  • Debian
  • Deepin Linux
  • Desktops
  • Development Tools
  • Docker
  • Download Managers
  • Drupal
  • Editors
  • Elementary OS
  • Encryption Tools
  • Fedora
  • Firewalls
  • FreeBSD
  • FTP
  • GIMP
  • Git
  • Hadoop
  • HAProxy
  • Java
  • Jenkins
  • Joomla
  • Kali Linux
  • KDE
  • Kubernetes
  • KVM
  • Laravel
  • Let's Encrypt
  • LFCA
  • Linux Certifications
  • Linux Commands
  • Linux Desktop
  • Linux Distros
  • Linux IDE
  • Linux Mint
  • Linux Talks
  • Lubuntu
  • LXC
  • Mail Server
  • Manjaro
  • MariaDB
  • MongoDB
  • Monitoring Tools
  • MySQL
  • Network
  • Networking Commands
  • NFS
  • Nginx
  • Nodejs
  • NTP
  • Open Source
  • OpenSUSE
  • Oracle Linux
  • Package Managers
  • Pentoo
  • PHP
  • Podman
  • Postfix Mail Server
  • PostgreSQL
  • Python
  • Questions
  • RedHat
  • Redis Server
  • Rocky Linux
  • Security
  • Shell Scripting
  • SQLite
  • SSH
  • Storage
  • Suse
  • Terminals
  • Text Editors
  • Top Tools
  • Torrent Clients
  • Tutorial
  • Ubuntu
  • Udemy Courses
  • Uncategorized
  • VirtualBox
  • Virtualization
  • VMware
  • VPN
  • VSCode Editor
  • Web Browsers
  • Web Design
  • Web Hosting
  • Web Servers
  • Webmin
  • Windows
  • Windows Subsystem
  • WordPress
  • Zabbix
  • Zentyal
  • Zorin OS
Visits
  • 1
  • 484
  • 612,663

DesignLinux.com © All rights reserved

Go to mobile version