Merge pull request #34 from dada-dudu/master

Update download_and_setup_seafile_professional_server.md
This commit is contained in:
Daniel Pan 2021-07-13 15:34:15 +08:00 committed by GitHub
commit 620e306ea8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -6,23 +6,29 @@ Seafile Server Professional Edition (Seafile PE) requires 2 cores and 2GB RAM. I
Seafile PE can be used without a paid license with up to three users. Licenses for more user can be purchased in the [Seafile Customer Center](https://customer.seafile.com) or contact Seafile Sales at sales@seafile.com or one of [our partners](https://www.seafile.com/en/partner/).
## Setup
### Install Python packages
These instructions assume that MySQL/MariaDB server and client are installed and a mysql root user can authenticate using the mysql_native_password plugin.
Seafile PE requires some Python and pip packages. Seafile prior and including Seafile 7.0 use Python 2, more recent versions rely on Python 3.
Seafile prior and including Seafile 7.0 use Python 2. More recent versions use on Python 3.
### Installing prerequisites
**For Seafile 7.0.x**
```
# on Ubuntu 16.04/Ubuntu 18.04
# Ubuntu 16.04/Ubuntu 18.04
apt-get update
apt-get install python2.7 python-setuptools python-mysqldb python-urllib3 python-ldap -y
```
```
# on CentOS 7
# CentOS 7
yum install python python-setuptools MySQL-python python-urllib3 python-ldap -y
```
@ -30,7 +36,7 @@ yum install python python-setuptools MySQL-python python-urllib3 python-ldap -y
**For Seafile 7.1.x**
```
# on Debian 10/Ubuntu 18.04/Ubuntu 20.04
# Debian 10/Ubuntu 18.04
apt-get update
apt-get install python3 python3-setuptools python3-pip -y
@ -39,8 +45,21 @@ pip3 install --timeout=3600 Pillow pylibmc captcha jinja2 sqlalchemy==1.3.8 \
```
```
# on CentOS 8
# Ubuntu 20.04
apt-get update
apt-get install python3 python3-setuptools python3-pip memcached libmemcached-dev -y
pip3 install --timeout=3600 Pillow pylibmc captcha jinja2 sqlalchemy==1.3.8 \
django-pylibmc django-simple-captcha python3-ldap
```
```
# CentOS 8
yum install python3 python3-setuptools python3-pip -y
pip3 install --timeout=3600 Pillow pylibmc captcha jinja2 sqlalchemy==1.3.8 \
@ -51,7 +70,18 @@ pip3 install --timeout=3600 Pillow pylibmc captcha jinja2 sqlalchemy==1.3.8 \
**For Seafile 8.0.x**
```
# on Debian 10/Ubuntu 18.04/Ubuntu 20.04
# Debian 10
apt-get update
apt-get install python3 python3-setuptools python3-pip -y
pip3 install --timeout=3600 Pillow pylibmc captcha jinja2 sqlalchemy==1.4.3 \
django-pylibmc django-simple-captcha python3-ldap mysqlclient
```
```
# Ubuntu 18.04
apt-get update
apt-get install python3 python3-setuptools python3-pip -y
@ -60,8 +90,21 @@ pip3 install --timeout=3600 Pillow pylibmc captcha jinja2 sqlalchemy==1.4.3 \
```
```
# on CentOS 8
# Ubuntu 20.04
apt-get update
apt-get install python3 python3-setuptools python3-pip memcached libmemcached-dev libmysqlclient-dev -y
pip3 install --timeout=3600 Pillow pylibmc captcha jinja2 sqlalchemy==1.4.3 \
django-pylibmc django-simple-captcha python3-ldap mysqlclient
```
```
# CentOS 8
yum install python3 python3-setuptools python3-pip -y
pip3 install --timeout=3600 Pillow pylibmc captcha jinja2 sqlalchemy==1.4.3 \
@ -69,72 +112,64 @@ pip3 install --timeout=3600 Pillow pylibmc captcha jinja2 sqlalchemy==1.4.3 \
```
### Install Java Runtime Environment
### Installing Java Runtime Environment
Java Runtime Environment (JRE) is a requirement for full text search with elasticsearch.
On Debian:
```
sudo apt-get install openjdk-8-jre
# Debian 10
sudo apt-get install default-jre
```
On Ubuntu 16.04/Ubuntu 18.04/Ubuntu 20.04:
```
# Ubuntu 16.04/Ubuntu 18.04/Ubuntu 20.04
sudo apt-get install openjdk-8-jre
sudo ln -sf /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java /usr/bin/
```
On CentOS:
```
# CentOS
sudo yum install java-1.8.0-openjdk
```
### Install poppler-utils
### Installing poppler-utils
The package poppler-utils is required for full text search of pdf files.
On Ubuntu/Debian:
```
# Ubuntu/Debian
sudo apt-get install poppler-utils
```
On CentOS:
```
# CentOS
sudo yum install poppler-utils
```
### Install Python libraries
First make sure your have installed Python 3.6 or a new version. Then install the following packages:
```
sudo easy_install pip
sudo pip install boto
```
If you receive an error about "Wheel installs require setuptools >= ...", run this between the pip and boto lines above
```
sudo pip install setuptools --no-use-wheel --upgrade
```
### Install all libraries required by the Community Edition
### Installing all libraries required by the Community Edition
See [Download and Setup Seafile Server With MySQL](../deploy/using_mysql.md).
### Create programm directory for Seafile PE
### Creating programm directory for Seafile PE
The standard directory for Seafile's program files is `/opt/seafile`. Create this directory and change into it:
@ -146,40 +181,50 @@ cd /opt/seafile
The program directory can be changed. The standard directory `/opt/seafile` is assumed for the remainder of these instructions. If you decide to put Seafile in another directory, some commmands need to be modified accordingly.
### Get Seafile PE license
Place the license file in Seafile' programm directory `/opt/seafile`.
If the license file's name is not`seafile-license.txt`, rename it. Also make sure the file can be read by the user executing Seafile. If the file has a different name or cannot be read, Seafile PE will not start.
### Activating Seafile PE license
### Download Seafile PE install package
Save the license file in Seafile's programm directory `/opt/seafile`. Make sure that the name is `seafile-license.txt`, rename it. (If the file has a different name or cannot be read, Seafile PE will not start.)
Since Seafile PE 7.0.17, two install packages are available for every version:
### Downloading the Seafile PE install package
Since Seafile PE 7.0.17, two install packages are available for every version in the [Seafile Customer Center](https://customer.seafile.com) (a user account is necessary, but registration is free):
* _seafile-pro-server_8.x.x_x86-64_Ubuntu.tar.gz_, compiled in Ubuntu 18.04 enviroment
* _seafile-pro-server_8.x.x_x86-64_CentOS.tar.gz_, compiled in CentOS 7 enviroment
The former is for installation on Ubuntu/Debian servers, the latter for CentOS.
The install packages are available in the [Seafile Customer Center](https://customer.seafile.com). A user account is necessary, but registration is free.
Download the install package using wget.
### Uncompress Seafile PE
### Uncompressing Seafile PE
The install package is a compressed tarball. Uncompress the package using tar:
```
tar xf seafile-pro-server_8.0.4_x86-64.tar.gz
# Debian/Ubuntu
tar xf seafile-pro-server_8.0.4_x86-64_Ubuntu.tar.gz
```
```
# CentOS
tar xf seafile-pro-server_8.0.4_x86-64_CentOS.tar.gz
```
Now you have:
```
tree -L 1
seafile
#tree -L 1
.
├── seafile-license.txt
└── seafile-pro-server-8.0.4
└── seafile-pro-server_8.0.4_x86-64.tar.gz
@ -204,8 +249,8 @@ After you have succesfully setup Seafile PE, the directory layout looks like thi
```
#tree -L 2
.
├── seafile-license.txt # license file
├── ccnet # configuration files
├── seafile-license.txt # license file
├── ccnet # configuration files
│ ├── mykey.peer
│ ├── PeerMgr
│ └── seafile.ini
@ -214,7 +259,9 @@ After you have succesfully setup Seafile PE, the directory layout looks like thi
│ └── seafile.conf
│ └── seahub_settings.py
│ └── seafevents.conf
├── pro-data # data specific for professional version
├── logs
├── pids
├── pro-data # data specific for professional version
├── seafile-data
├── seafile-pro-server-7.0.7
│ ├── reset-admin.sh
@ -228,8 +275,9 @@ After you have succesfully setup Seafile PE, the directory layout looks like thi
│ ├── setup-seafile-mysql.py
│ ├── setup-seafile-mysql.sh
│ └── upgrade
├── seafile-server-latest -> seafile-pro-server-7.0.7
├── seahub-data
│ └── avatars # for user avatars
│ └── avatars # for user avatars
├── seahub.db
```
@ -244,13 +292,35 @@ After you have succesfully setup Seafile PE, the directory layout looks like thi
├── conf
│ └── ccnet.conf
│ └── gunicorn.conf.py
│ └── __pycache__
│ └── seafdav.conf
│ └── seafevents.conf
│ └── seafile.conf
│ └── seahub_settings.py
├── logs
│   ├── controller.log
│   ├── elasticsearch_deprecation.log
│   ├── elasticsearch_index_indexing_slowlog.log
│   ├── elasticsearch_index_search_slowlog.log
│   ├── elasticsearch.log
│   ├── file_updates_sender.log
│   ├── index.log
│   ├── seafevents.log
│   ├── seafile.log
│   ├── seahub.log
│   └── slow_logs
├── pids
│   ├── elasticsearch.pid
│   ├── seafevents.pid
│   ├── seaf-server.pid
│   └── seahub.pid
├── pro-data # data specific for Seafile PE
│   └── search
├── seafile-data
│ └── library-template
│   ├── httptemp
│   ├── library-template
│   ├── storage
│   └── tmpfiles
├── seafile-pro-server-8.0.4
│   ├── check-db-type.py
│   ├── check_init_admin.py
@ -284,20 +354,23 @@ After you have succesfully setup Seafile PE, the directory layout looks like thi
│   ├── setup-seafile.sh
│   ├── sql
│   └── upgrade
├── seafile-server-latest -> seafile-pro-server-8.0.4
├── seahub-data
│ └── avatars # for user avatars
```
### Tweaking conf files
Two configuration files must be manually modified: ccnet.conf and gunicorn.conf.py
In ccnet.conf, add the port 8000 to the `SERVICE_URL` (i.e., SERVICE_URL = http://1.2.3.4:8000/)
In gunicorn.conf.py, change the bind to "0.0.0.0:8000" (i.e., bind = "0.0.0.0:8000")
## Performance tuning
For more than 50 users, we recommend [adding memcached](../deploy/add_memcached.md). Memcached increases the response time of Seahub, Seafile's web interface, significantly.
## FAQ
You may want to read more about Seafile Professional Server:
* [FAQ For Seafile Professional Server](faq_for_seafile_pro_server.md)