mirror of
https://github.com/haiwen/seafile-admin-docs.git
synced 2025-12-26 02:32:50 +00:00
Add upgrade notes for version 13.0
This commit is contained in:
parent
bfea181164
commit
97aeeb739c
|
|
@ -0,0 +1,150 @@
|
|||
# Upgrade notes for 12.0
|
||||
|
||||
- These notes give additional information about changes.
|
||||
Please always follow the main [upgrade guide](./upgrade.md).
|
||||
|
||||
- For docker based version, please check [upgrade Seafile Docker image](./upgrade_docker.md)
|
||||
|
||||
## Important release changes
|
||||
|
||||
Seafile version 13.0 has following major changes:
|
||||
|
||||
* A redesigned Web UI
|
||||
* SeaDoc is now version 2.0, beside support sdoc, it support whiteboard too
|
||||
* A new thumbnail server component is added to improve performance for thumbnail generating and support thumbnail for videos
|
||||
* A new metadata server component is avaible to manage extended file properties
|
||||
* The web interface now support real-time update when other people add or remove files
|
||||
* SeaSearch is now version 1.0 and support full-text search
|
||||
|
||||
|
||||
Configuration changes:
|
||||
|
||||
* S3, database and memcache configurations are added to `.env` too
|
||||
* Elastic search is now have its own yml file
|
||||
|
||||
Breaking changes
|
||||
|
||||
* For security reason, WebDAV no longer support login with LDAP account, the user with LDAP account must generate a WebDAV token at the profile page
|
||||
* [File tags] The old file tags feature can no longer be used, the interface provide an upgrade notice for migrate the data to the new file tags feature
|
||||
|
||||
|
||||
Deploying Seafile with binary package is no longer supported for community edition. We recommend you to migrate your existing Seafile deployment to docker based.
|
||||
|
||||
|
||||
### ElasticSearch change (pro edition only)
|
||||
|
||||
Elasticsearch version is not changed in Seafile version 13.0
|
||||
|
||||
## New system libraries (TO be updated)
|
||||
|
||||
=== "Ubuntu 24.04/22.04"
|
||||
|
||||
```sh
|
||||
apt-get install -y default-libmysqlclient-dev build-essential pkg-config libmemcached-dev
|
||||
```
|
||||
|
||||
=== "Debian 11"
|
||||
```sh
|
||||
apt-get install -y libsasl2-dev
|
||||
```
|
||||
|
||||
|
||||
## New Python libraries (TO be updated)
|
||||
|
||||
Note, you should install Python libraries system wide using root user or sudo mode.
|
||||
|
||||
=== "Ubuntu 24.04 / Debian 12"
|
||||
|
||||
```sh
|
||||
sudo pip3 install future==1.0.* mysqlclient==2.2.* pillow==10.4.* sqlalchemy==2.0.* pillow_heif==0.18.0 \
|
||||
gevent==24.2.* captcha==0.6.* django_simple_captcha==0.6.* djangosaml2==1.9.* \
|
||||
pysaml2==7.3.* pycryptodome==3.20.* cffi==1.17.0 python-ldap==3.4.*
|
||||
```
|
||||
|
||||
=== "Ubuntu 22.04 / Debian 11"
|
||||
|
||||
```sh
|
||||
sudo pip3 install future==1.0.* mysqlclient==2.1.* pillow==10.4.* sqlalchemy==2.0.* pillow_heif==0.18.0 \
|
||||
gevent==24.2.* captcha==0.6.* django_simple_captcha==0.6.* djangosaml2==1.9.* \
|
||||
pysaml2==7.2.* pycryptodome==3.16.* cffi==1.15.1 python-ldap==3.2.0
|
||||
```
|
||||
|
||||
|
||||
## Upgrade to 13.0 (for binary installation)
|
||||
|
||||
The following instruction is for binary package based installation. If you use Docker based installation, please see [*Updgrade Docker*](./upgrade_docker.md)
|
||||
|
||||
### 1) Clean database tables before upgrade
|
||||
|
||||
If you have a large number of `Activity` in MySQL, clear this table first [Clean Database](../../administration/clean_database). Otherwise, the database upgrade will take a long time.
|
||||
|
||||
### 2) Install new system libraries and Python libraries
|
||||
|
||||
Install new system libraries and Python libraries for your operation system as documented above.
|
||||
|
||||
|
||||
### 3) Stop Seafile-11.0.x server
|
||||
|
||||
In the folder of Seafile 11.0.x, run the commands:
|
||||
|
||||
```sh
|
||||
./seahub.sh stop
|
||||
./seafile.sh stop
|
||||
```
|
||||
|
||||
### 4) Run Seafile 12.0.x upgrade script
|
||||
|
||||
In the folder of Seafile 12.0.x, run the upgrade script
|
||||
|
||||
```sh
|
||||
upgrade/upgrade_11.0_12.0.sh
|
||||
```
|
||||
|
||||
### 5) Create the `.env` file in `conf/` directory
|
||||
|
||||
conf/.env
|
||||
|
||||
```env
|
||||
TIME_ZONE=UTC
|
||||
JWT_PRIVATE_KEY=xxx
|
||||
SEAFILE_SERVER_PROTOCOL=https
|
||||
SEAFILE_SERVER_HOSTNAME=seafile.example.com
|
||||
SEAFILE_MYSQL_DB_HOST=db # your MySQL host
|
||||
SEAFILE_MYSQL_DB_PORT=3306
|
||||
SEAFILE_MYSQL_DB_USER=seafile
|
||||
SEAFILE_MYSQL_DB_PASSWORD=<your MySQL password>
|
||||
SEAFILE_MYSQL_DB_CCNET_DB_NAME=ccnet_db
|
||||
SEAFILE_MYSQL_DB_SEAFILE_DB_NAME=seafile_db
|
||||
SEAFILE_MYSQL_DB_SEAHUB_DB_NAME=seahub_db
|
||||
```
|
||||
|
||||
!!! tip
|
||||
JWT_PRIVATE_KEY, A random string with a length of no less than 32 characters, can be generated by
|
||||
|
||||
```sh
|
||||
pwgen -s 40 1
|
||||
```
|
||||
|
||||
### 6) Start Seafile-12.0.x server
|
||||
|
||||
In the folder of Seafile 12.0.x, run the command:
|
||||
|
||||
```
|
||||
./seafile.sh start # starts seaf-server
|
||||
./seahub.sh start # starts seahub
|
||||
```
|
||||
|
||||
### 7) (Optional) Upgrade notification server
|
||||
|
||||
|
||||
|
||||
### 8) (Optional) Upgrade SeaDoc from 1.0 to 2.0
|
||||
|
||||
|
||||
|
||||
|
||||
## FAQ
|
||||
|
||||
We have documented common issues encountered by users when upgrading to version 12.0 in our FAQ <https://cloud.seatable.io/dtable/external-links/7b976c85f504491cbe8e/?tid=0000&vid=0000>.
|
||||
|
||||
If you encounter any issue, please give it a check.
|
||||
|
|
@ -1,201 +0,0 @@
|
|||
# Upgrade notes for 7.1.x
|
||||
|
||||
These notes give additional information about changes.
|
||||
Please always follow the main [upgrade guide](./upgrade.md).
|
||||
|
||||
## Important release changes
|
||||
|
||||
From 7.1.0 version, Seafile will depend on the Python 3 and is not compatible with Python 2.
|
||||
|
||||
Therefore you cannot upgrade directly from Seafile 6.x.x to 7.1.x.
|
||||
|
||||
**If your current version of Seafile is not 7.0.x, you must first download the 7.0.x installation package and upgrade to 7.0.x before performing the subsequent operations.**
|
||||
|
||||
To support both Python 3.6 and 3.7, we no longer bundle python libraries with Seafile package. You need to install most of the libraries by your own as bellow.
|
||||
|
||||
### Deploy Python3
|
||||
|
||||
Note, you should install Python libraries system wide using root user or sudo mode.
|
||||
|
||||
#### Seafile-CE
|
||||
|
||||
* For Ubuntu 16.04/18.04 or Debian 10
|
||||
|
||||
```sh
|
||||
sudo apt-get install python3 python3-setuptools python3-pip memcached libmemcached-dev -y
|
||||
|
||||
sudo pip3 install --timeout=3600 Pillow==9.4.0 pylibmc captcha jinja2 sqlalchemy==1.3.8 \
|
||||
django-pylibmc django-simple-captcha python3-ldap
|
||||
|
||||
```
|
||||
|
||||
* For CentOS 7/8
|
||||
|
||||
```sh
|
||||
yum install python3 python3-setuptools python3-pip -y
|
||||
|
||||
sudo pip3 install --timeout=3600 Pillow==9.4.0 pylibmc captcha jinja2 sqlalchemy==1.3.8 \
|
||||
django-pylibmc django-simple-captcha python3-ldap
|
||||
|
||||
```
|
||||
|
||||
#### Seafile-Pro
|
||||
|
||||
* For Ubuntu 16.04/18.04 or Debian 10
|
||||
|
||||
```sh
|
||||
apt-get install python3 python3-setuptools python3-pip -y
|
||||
|
||||
sudo pip3 install --timeout=3600 Pillow==9.4.0 pylibmc captcha jinja2 sqlalchemy==1.3.8 \
|
||||
django-pylibmc django-simple-captcha python3-ldap
|
||||
|
||||
```
|
||||
|
||||
* For CentOS 7/8
|
||||
|
||||
```sh
|
||||
yum install python3 python3-setuptools python3-pip -y
|
||||
|
||||
sudo pip3 install --timeout=3600 Pillow==9.4.0 pylibmc captcha jinja2 sqlalchemy==1.3.8 \
|
||||
django-pylibmc django-simple-captcha python3-ldap
|
||||
|
||||
```
|
||||
|
||||
### Upgrade to 7.1.x
|
||||
|
||||
1. Stop Seafile-7.0.x server.
|
||||
2. Start from Seafile 7.0.x, run the script:
|
||||
|
||||
```sh
|
||||
upgrade/upgrade_7.0_7.1.sh
|
||||
|
||||
```
|
||||
|
||||
3. Clear the Seahub cache:
|
||||
|
||||
```
|
||||
rm -rf /tmp/seahub_cache # Clear the Seahub cache files from disk.
|
||||
# If you are using the Memcached service, you need to restart the service to clear the Seahub cache.
|
||||
systemctl restart memcached
|
||||
|
||||
```
|
||||
|
||||
4. Start Seafile-7.1.x server.
|
||||
|
||||
### Proxy Seafdav
|
||||
|
||||
After Seafile 7.1.x, Seafdav does not support Fastcgi, only Wsgi.
|
||||
|
||||
This means that if you are using Seafdav functionality and have deployed Nginx or Apache reverse proxy. You need to change Fastcgi to Wsgi.
|
||||
|
||||
#### For Nginx
|
||||
|
||||
For Seafdav, the configuration of Nginx is as follows:
|
||||
|
||||
```
|
||||
.....
|
||||
location /seafdav {
|
||||
proxy_pass http://127.0.0.1:8080/seafdav;
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Host $server_name;
|
||||
proxy_set_header X-Forwarded-Proto $scheme;
|
||||
proxy_read_timeout 1200s;
|
||||
client_max_body_size 0;
|
||||
|
||||
access_log /var/log/nginx/seafdav.access.log seafileformat;
|
||||
error_log /var/log/nginx/seafdav.error.log;
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
#### For Apache
|
||||
|
||||
For Seafdav, the configuration of Apache is as follows:
|
||||
|
||||
```
|
||||
......
|
||||
<Location /seafdav>
|
||||
ProxyPass "http://127.0.0.1:8080/seafdav"
|
||||
</Location>
|
||||
|
||||
```
|
||||
|
||||
### Builtin office file preview
|
||||
|
||||
The implementation of builtin office file preview has been changed. You should update your configuration according to:
|
||||
|
||||
<https://download.seafile.com/published/seafile-manual/deploy_pro/office_documents_preview.md#user-content-Version%207.1+>
|
||||
|
||||
### If you are using Ceph backend
|
||||
|
||||
If you are using Ceph storage backend, you need to install new python library.
|
||||
|
||||
On Debian/Ubuntu (Seafile 7.1+):
|
||||
|
||||
```
|
||||
sudo apt-get install python3-rados
|
||||
|
||||
```
|
||||
|
||||
### Login Page Customization
|
||||
|
||||
If you have customized the login page or other html pages, as we have removed some old javascript libraries, your customized pages may not work anymore. Please try to re-customize based on the newest version.
|
||||
|
||||
### User name encoding issue with Shibboleth login
|
||||
|
||||
> Note, the following patch is included in version pro-7.1.8 and ce-7.1.5 already.
|
||||
|
||||
We have two customers reported that after upgrading to version 7.1, users login via Shibboleth single sign on have a wrong name if the name contains a special character. We suspect it is a Shibboleth problem as it does not sending the name in UTF-8 encoding to Seafile. (<https://issues.shibboleth.net/jira/browse/SSPCPP-2>)
|
||||
|
||||
The solution is to modify the code in seahub/thirdpart/shibboleth/middleware.py:
|
||||
|
||||
```
|
||||
158 if nickname.strip(): # set nickname when it's not empty
|
||||
159 p.nickname = nickname
|
||||
|
||||
to
|
||||
|
||||
158 if nickname.strip(): # set nickname when it's not empty
|
||||
159 p.nickname = nickname.encode("iso-8859-1”).decode('utf8')
|
||||
|
||||
```
|
||||
|
||||
If you have this problem too, please let us know.
|
||||
|
||||
## FAQ
|
||||
|
||||
### SQL Error during upgrade
|
||||
|
||||
The upgrade script will try to create a missing table and remove an used index. The following SQL errors are jus warnings and can be ignored:
|
||||
|
||||
```
|
||||
[INFO] updating seahub database...
|
||||
/opt/seafile/seafile-server-7.1.1/seahub/thirdpart/pymysql/cursors.py:170: Warning: (1050, "Table 'base_reposecretkey' already exists")
|
||||
result = self._query(query)
|
||||
[WARNING] Failed to execute sql: (1091, "Can't DROP 'drafts_draft_origin_file_uuid_7c003c98_uniq'; check that column/key exists")
|
||||
|
||||
```
|
||||
|
||||
### Internal server error after upgrade to version 7.1
|
||||
|
||||
Please check whether the seahub process is running in your server. If it is running, there should be an error log in seahub.log for internal server error.
|
||||
|
||||
If seahub process is not running, you can modify conf/gunicorn.conf, change `daemon = True` to `daemon = False` , then run ./seahub.sh again. If there are missing Python dependencies, the error will be reported in the terminal.
|
||||
|
||||
The most common issue is that you use an old memcache configuration that depends on python-memcache. The new way is
|
||||
|
||||
```
|
||||
'BACKEND': 'django_pylibmc.memcached.PyLibMCCache'
|
||||
|
||||
```
|
||||
|
||||
The old way is
|
||||
|
||||
```
|
||||
'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
|
@ -195,12 +195,12 @@ nav:
|
|||
- Upgrade Seafile Docker: upgrade/upgrade_docker.md
|
||||
- Upgrade Seafile Cluster: upgrade/upgrade_a_cluster.md
|
||||
- Upgrade Seafile Cluster (binary): upgrade/upgrade_a_cluster_binary.md
|
||||
- Upgrade notes for 7.1.x: upgrade/upgrade_notes_for_7.1.x.md
|
||||
- Upgrade notes for 8.0.x: upgrade/upgrade_notes_for_8.0.x.md
|
||||
- Upgrade notes for 9.0.x: upgrade/upgrade_notes_for_9.0.x.md
|
||||
- Upgrade notes for 10.0.x: upgrade/upgrade_notes_for_10.0.x.md
|
||||
- Upgrade notes for 11.0.x: upgrade/upgrade_notes_for_11.0.x.md
|
||||
- Upgrade notes for 12.0.x: upgrade/upgrade_notes_for_12.0.x.md
|
||||
- Upgrade notes for 13.0.x: upgrade/upgrade_notes_for_13.0.x.md
|
||||
- Developing:
|
||||
- Outline: develop/README.md
|
||||
- How to Build Seafile:
|
||||
|
|
|
|||
Loading…
Reference in New Issue