What is Seafile?
Seafile is an open source file sync&share solution designed for high reliability, performance and productivity. Sync, share and collaborate across devices and teams. Build your team's knowledge base with Seafile's built-in Wiki feature. - https://seafile.com/
Installing Seafile
- Log into the Linux device
- Run the following commands in terminal:
# update software repositories
sudo apt update
# install available software updates
sudo apt upgrade
# install prerequisites
sudo apt install python3 python3-setuptools python3-pip default-libmysqlclient-dev libmemcached-dev zlib1g-dev -y
# install MariaDB/MySQL
sudo apt install mariadb-server mariadb-client -y
# configure the MySQL database
sudo su
mysql_secure_installation - Press Enter to login as root
- Type N and press Enter to switch to unix_socket authentication
- Type Y and press Enter to set a root password, type the password twice to confirm
- Type Y and press Enter to remove anonymous users
- Type Y and press Enter to disallow root login remotely
- Type Y and press Enter to remove the test database
- Type Y and press Enter to reload privilege tables
- Continue with the following commands:
# exit mysql prompt
exit
# install python prerequisites
sudo pip3 install --timeout=3600 Pillow pylibmc captcha jinja2 sqlalchemy==1.4.3 django-pylibmc django-simple-captcha python3-ldap mysqlclient
# create installation directory
sudo mkdir /opt/seafile
# change to installation directory
cd /opt/seafile
# create seafile user
sudo adduser seafile
# set seafile as owner of the installation directory
sudo chown -R seafile: /opt/seafile
# change to the seafile user
sudo su seafile
# download seafile
wget -O seafile.tar.gz https://s3.eu-central-1.amazonaws.com/download.seadrive.org/seafile-server_9.0.0_x86-64.tar.gz
# extract the downloaded archive
tar xf seafile.tar.gz
# change directory into the extracted folder
cd seafile-server-9.0.0
# run the seafile installation script
./setup-seafile-mysql.sh - When prompted, enter the server name, IP address and port 8082
- When prompted, complete the MySQL configuration as follows:
mysql server host: localhost
mysql server port: 3306
mysql root password: <%root password set earlier%>
mysql user for Seafile: seafile_rw
mysql password for Seafile: $eafiL3!!
database name: ccnet-db
seafile database name: seafile-db
seahub database name: seahub-db - Continue with the following command:
# edit gunicorn.conf.py
nano /opt/seafile/conf/gunicorn.conf.py - Press CTRL + W and search for bind =
- Change the value to 0.0.0.0:8000
- Press CTRL+O, Enter, CTRL+X to write the changes
- Continue with the following commands:
# start seaf-server
./seafile.sh start
# start seahub
./seahub.sh start - When prompted, enter an administrator email and password
- Open a web browser and navigate to http://DNSorIP:8000
- Login with the email and password setup earlier
- Welcome to Seafile