mirror of
https://github.com/haiwen/seafile-admin-docs.git
synced 2025-12-26 02:32:50 +00:00
4149 lines
104 KiB
HTML
4149 lines
104 KiB
HTML
|
|
<!doctype html>
|
|
<html lang="en" class="no-js">
|
|
<head>
|
|
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width,initial-scale=1">
|
|
|
|
|
|
<meta name="author" content="seafile">
|
|
|
|
|
|
<link rel="canonical" href="https://haiwen.github.io/seafile-admin-docs/build_seafile/server/">
|
|
|
|
|
|
<link rel="prev" href="../windows/">
|
|
|
|
|
|
<link rel="next" href="../rpi/">
|
|
|
|
|
|
<link rel="icon" href="../../media/favicon.ico">
|
|
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.5.39">
|
|
|
|
|
|
|
|
<title>Server development - Seafile Admin Manual</title>
|
|
|
|
|
|
|
|
<link rel="stylesheet" href="../../assets/stylesheets/main.8c3ca2c6.min.css">
|
|
|
|
|
|
<link rel="stylesheet" href="../../assets/stylesheets/palette.06af60db.min.css">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback">
|
|
<style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style>
|
|
|
|
|
|
|
|
<link rel="stylesheet" href="../../stylesheets/extra.css">
|
|
|
|
<script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</head>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<body dir="ltr" data-md-color-scheme="default" data-md-color-primary="white" data-md-color-accent="indigo">
|
|
|
|
|
|
<input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
|
|
<input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
|
|
<label class="md-overlay" for="__drawer"></label>
|
|
<div data-md-component="skip">
|
|
|
|
|
|
<a href="#create-persistent-directories" class="md-skip">
|
|
Skip to content
|
|
</a>
|
|
|
|
</div>
|
|
<div data-md-component="announce">
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<header class="md-header md-header--shadow" data-md-component="header">
|
|
<nav class="md-header__inner md-grid" aria-label="Header">
|
|
<a href="../.." title="Seafile Admin Manual" class="md-header__button md-logo" aria-label="Seafile Admin Manual" data-md-component="logo">
|
|
|
|
<img src="../../media/seafile-transparent-1024.png" alt="logo">
|
|
|
|
</a>
|
|
<label class="md-header__button md-icon" for="__drawer">
|
|
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg>
|
|
</label>
|
|
<div class="md-header__title" data-md-component="header-title">
|
|
<div class="md-header__ellipsis">
|
|
<div class="md-header__topic">
|
|
<span class="md-ellipsis">
|
|
Seafile Admin Manual
|
|
</span>
|
|
</div>
|
|
<div class="md-header__topic" data-md-component="header-topic">
|
|
<span class="md-ellipsis">
|
|
|
|
Server development
|
|
|
|
</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<label class="md-header__button md-icon" for="__search">
|
|
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
|
|
</label>
|
|
<div class="md-search" data-md-component="search" role="dialog">
|
|
<label class="md-search__overlay" for="__search"></label>
|
|
<div class="md-search__inner" role="search">
|
|
<form class="md-search__form" name="search">
|
|
<input type="text" class="md-search__input" name="query" aria-label="Search" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" required>
|
|
<label class="md-search__icon md-icon" for="__search">
|
|
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
|
|
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg>
|
|
</label>
|
|
<nav class="md-search__options" aria-label="Search">
|
|
|
|
<button type="reset" class="md-search__icon md-icon" title="Clear" aria-label="Clear" tabindex="-1">
|
|
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg>
|
|
</button>
|
|
</nav>
|
|
|
|
</form>
|
|
<div class="md-search__output">
|
|
<div class="md-search__scrollwrap" tabindex="0" data-md-scrollfix>
|
|
<div class="md-search-result" data-md-component="search-result">
|
|
<div class="md-search-result__meta">
|
|
Initializing search
|
|
</div>
|
|
<ol class="md-search-result__list" role="presentation"></ol>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<div class="md-header__source">
|
|
<a href="https://github.com/haiwen/seafile-admin-docs/" title="Go to repository" class="md-source" data-md-component="source">
|
|
<div class="md-source__icon md-icon">
|
|
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81"/></svg>
|
|
</div>
|
|
<div class="md-source__repository">
|
|
haiwen/seafile-admin-docs
|
|
</div>
|
|
</a>
|
|
</div>
|
|
|
|
</nav>
|
|
|
|
</header>
|
|
|
|
<div class="md-container" data-md-component="container">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<main class="md-main" data-md-component="main">
|
|
<div class="md-main__inner md-grid">
|
|
|
|
|
|
|
|
<div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
|
|
<div class="md-sidebar__scrollwrap">
|
|
<div class="md-sidebar__inner">
|
|
|
|
|
|
|
|
|
|
<nav class="md-nav md-nav--primary" aria-label="Navigation" data-md-level="0">
|
|
<label class="md-nav__title" for="__drawer">
|
|
<a href="../.." title="Seafile Admin Manual" class="md-nav__button md-logo" aria-label="Seafile Admin Manual" data-md-component="logo">
|
|
|
|
<img src="../../media/seafile-transparent-1024.png" alt="logo">
|
|
|
|
</a>
|
|
Seafile Admin Manual
|
|
</label>
|
|
|
|
<div class="md-nav__source">
|
|
<a href="https://github.com/haiwen/seafile-admin-docs/" title="Go to repository" class="md-source" data-md-component="source">
|
|
<div class="md-source__icon md-icon">
|
|
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81"/></svg>
|
|
</div>
|
|
<div class="md-source__repository">
|
|
haiwen/seafile-admin-docs
|
|
</div>
|
|
</a>
|
|
</div>
|
|
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
|
|
|
|
|
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_1" >
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_1" id="__nav_1_label" tabindex="0">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Overview
|
|
</span>
|
|
|
|
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
|
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_1_label" aria-expanded="false">
|
|
<label class="md-nav__title" for="__nav_1">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
Overview
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../overview/components/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Seafile Components
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../overview/file_permission_management/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
File permission management
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../roadmap/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Roadmap
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../contribution/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Contribution
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../changelog/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Changelog
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
|
|
|
|
|
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2" >
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_2" id="__nav_2_label" tabindex="0">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Seafile Community Setup on Linux
|
|
</span>
|
|
|
|
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
|
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_2_label" aria-expanded="false">
|
|
<label class="md-nav__title" for="__nav_2">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
Seafile Community Setup on Linux
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Outline
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy/using_mysql/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Installation with MySQL
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy/https_with_nginx/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
HTTPS with Nginx
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy/https_with_apache/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
HTTPS with Apache
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
|
|
|
|
|
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3" >
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_3" id="__nav_3_label" tabindex="0">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Seafile Professional Setup on Linux
|
|
</span>
|
|
|
|
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
|
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="false">
|
|
<label class="md-nav__title" for="__nav_3">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
Seafile Professional Setup on Linux
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy_pro/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Outline
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy_pro/download_and_setup_seafile_professional_server/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Installation
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy_pro/migrate_from_seafile_community_server/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Migration from Seafile Community
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
|
|
|
|
|
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_4" >
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_3_4" id="__nav_3_4_label" tabindex="0">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Storage Backends
|
|
</span>
|
|
|
|
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
|
|
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_4_label" aria-expanded="false">
|
|
<label class="md-nav__title" for="__nav_3_4">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
Storage Backends
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy_pro/setup_with_amazon_s3/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Amazon S3 Backend
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy_pro/setup_with_ceph/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Ceph Backend
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy_pro/setup_with_swift/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
OpenStack Swift Backend
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy_pro/setup_with_oss/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Alibaba OSS
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy_pro/multiple_storage_backends/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Multiple Storage Backends
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy_pro/migrate/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Data migration
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
|
|
|
|
|
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_5" >
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_3_5" id="__nav_3_5_label" tabindex="0">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Cluster Deployment
|
|
</span>
|
|
|
|
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
|
|
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_5_label" aria-expanded="false">
|
|
<label class="md-nav__title" for="__nav_3_5">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
Cluster Deployment
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy_pro/deploy_in_a_cluster/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Deploy in a cluster
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy_pro/enable_search_and_background_tasks_in_a_cluster/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Search and background tasks in a cluster
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy_pro/memcached_mariadb_cluster/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Memcache and MariaDB Cluster
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy_pro/setup_seafile_cluster_with_nfs/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Setup Seafile cluster with NFS
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy_pro/seafile_professional_sdition_software_license_agreement/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
License
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
|
|
|
|
|
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4" >
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_4" id="__nav_4_label" tabindex="0">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Seafile Setup with Docker
|
|
</span>
|
|
|
|
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
|
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="false">
|
|
<label class="md-nav__title" for="__nav_4">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
Seafile Setup with Docker
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../docker/deploy_seafile_with_docker/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Seafile Community Installation
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../docker/pro-edition/deploy_seafile_pro_with_docker/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Seafile Professional Installation
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../docker/cluster/deploy_seafile_cluster_with_docker/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Seafile Docker Cluster Deployment
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy/deploy_with_k8s/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Setup with Kubernetes (K8s)
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../docker/pro-edition/migrate_ce_to_pro_with_docker/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Migration from Seafile Community
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../docker/non_docker_to_docker/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Migrate from non-docker deployment
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../docker/seafile_docker_autostart/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Seafile Docker autostart
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
|
|
|
|
|
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5" >
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_5" id="__nav_5_label" tabindex="0">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Advanced Setup Options
|
|
</span>
|
|
|
|
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
|
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="false">
|
|
<label class="md-nav__title" for="__nav_5">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
Advanced Setup Options
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
|
|
|
|
|
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5_1" >
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_5_1" id="__nav_5_1_label" tabindex="0">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
LDAP/AD Integration
|
|
</span>
|
|
|
|
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
|
|
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_5_1_label" aria-expanded="false">
|
|
<label class="md-nav__title" for="__nav_5_1">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
LDAP/AD Integration
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy/using_ldap/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
LDAP Integration
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy_pro/using_ldap_pro/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
LDAP Configuration for Seafile Pro
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy_pro/ldap_group_sync/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Importing Groups from LDAP (Pro)
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy_pro/ldap_role_sync/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Importing Roles from LDAP (Pro)
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy/ldap_in_11.0/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
LDAP in version 11.0
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy_pro/ldap_in_11.0/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
LDAP in version 11.0 (Pro)
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
|
|
|
|
|
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5_2" >
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_5_2" id="__nav_5_2_label" tabindex="0">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Single Sign On
|
|
</span>
|
|
|
|
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
|
|
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_5_2_label" aria-expanded="false">
|
|
<label class="md-nav__title" for="__nav_5_2">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
Single Sign On
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy/single_sign_on/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Outline
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy/oauth/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
OAuth Authentication
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy/remote_user/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Remote User Authentication
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy/shibboleth_authentication/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Shibboleth Authentication
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy/auto_login_seadrive/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Auto Login to SeaDrive on Windows
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy_pro/saml2_in_10.0/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
SAML 2.0 in version 10.0+ (Pro)
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy_pro/adfs/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
SAML 2.0 (old) (Pro)
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy_pro/cas/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
CAS Authentication (Pro)
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy/auth_switch/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Switch authentication
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
|
|
|
|
|
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5_3" >
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_5_3" id="__nav_5_3_label" tabindex="0">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Online Office
|
|
</span>
|
|
|
|
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
|
|
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_5_3_label" aria-expanded="false">
|
|
<label class="md-nav__title" for="__nav_5_3">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
Online Office
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy/libreoffice_online/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
LibreOffice Online Integration
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy/only_office/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
OnlyOffice Integration
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy_pro/office_web_app/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Office Online Server Integration (Pro)
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../extra_setup/setup_seadoc/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
SeaDoc Integration
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy/notification-server/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Notification Server
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../extension/webdav/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
WebDAV extension
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../extension/fuse/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
FUSE extension
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
|
|
|
|
|
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5_8" >
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_5_8" id="__nav_5_8_label" tabindex="0">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Virus Scan (Pro)
|
|
</span>
|
|
|
|
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
|
|
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_5_8_label" aria-expanded="false">
|
|
<label class="md-nav__title" for="__nav_5_8">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
Virus Scan (Pro)
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy_pro/virus_scan/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Outline
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy_pro/deploy_clamav_with_seafile/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Deploy ClamAV with Seafile
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy_pro/virus_scan_with_kav4fs/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Virus Scan With Kav4fs
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
|
|
|
|
|
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5_9" >
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_5_9" id="__nav_5_9_label" tabindex="0">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Advanced User Management (Pro)
|
|
</span>
|
|
|
|
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
|
|
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_5_9_label" aria-expanded="false">
|
|
<label class="md-nav__title" for="__nav_5_9">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
Advanced User Management (Pro)
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy_pro/multi_institutions/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Multi-Institutions Support
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy_pro/roles_permissions/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Roles and Permissions
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy_pro/admin_roles_permissions/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Administrator Roles and Permissions
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy_pro/multi_tenancy/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Multi-Tenancy Support
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy_pro/details_about_file_search/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Advanced File Search configuration (Pro)
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy/migrate_from_sqlite_to_mysql/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Migrate From SQLite to MySQL
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
|
|
|
|
|
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5_12" >
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_5_12" id="__nav_5_12_label" tabindex="0">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Others Deployment Notes
|
|
</span>
|
|
|
|
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
|
|
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_5_12_label" aria-expanded="false">
|
|
<label class="md-nav__title" for="__nav_5_12">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
Others Deployment Notes
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy/start_seafile_at_system_bootup/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Start Seafile at System Bootup
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy/using_logrotate/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Logrotate
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy/ocm/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Open Cloud Mesh
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy/deploy_seafile_behind_nat/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Deploy Seafile behind NAT
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy/deploy_seahub_at_non-root_domain/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Deploy Seahub at Non-root domain or on custom port
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../security/fail2ban/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Config fail2ban
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy_pro/real_time_backup/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Real-time Backup Server
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
|
|
|
|
|
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6" >
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_6" id="__nav_6_label" tabindex="0">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Configuration and Customization
|
|
</span>
|
|
|
|
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
|
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_6_label" aria-expanded="false">
|
|
<label class="md-nav__title" for="__nav_6">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
Configuration and Customization
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../config/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Outline
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../config/ccnet-conf/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
ccnet.conf
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../config/seafile-conf/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
seafile.conf
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../config/seahub_settings_py/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
seahub_settings.py
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../config/seafevents-conf/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
seafevents.conf
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../config/seahub_customization/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Seahub customization
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../config/sending_email/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Email Sending
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
|
|
|
|
|
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_7" >
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_7" id="__nav_7_label" tabindex="0">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Administration
|
|
</span>
|
|
|
|
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
|
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_7_label" aria-expanded="false">
|
|
<label class="md-nav__title" for="__nav_7">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
Administration
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../maintain/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Outline
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../maintain/account/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Account management
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../maintain/two_factor_authentication/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Two-factor Authentication
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../security/security_features/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Security features
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../security/auditing/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Access logs and auditing
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../maintain/export_report/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Export report
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../maintain/logs/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Logs
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../maintain/backup_recovery/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Backup and Recovery
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../maintain/seafile_fsck/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Seafile FSCK
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../maintain/seafile_gc/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Seafile GC
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../maintain/clean_database/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Clean database
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../deploy_pro/seaf_import/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Import Directory To Seafile (Pro)
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
|
|
|
|
|
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_8" >
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_8" id="__nav_8_label" tabindex="0">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Upgrade Seafile Server
|
|
</span>
|
|
|
|
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
|
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_8_label" aria-expanded="false">
|
|
<label class="md-nav__title" for="__nav_8">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
Upgrade Seafile Server
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../upgrade/upgrade/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Outline
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../upgrade/upgrade_docker/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Upgrade Seafile Docker
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../upgrade/upgrade_a_cluster/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Upgrade Seafile Cluster
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../upgrade/upgrade_a_cluster_docker/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Upgrade Seafile Cluster (Docker)
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../upgrade/upgrade_notes_for_7.0.x/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Upgrade notes for 7.0.x
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../upgrade/upgrade_notes_for_7.1.x/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Upgrade notes for 7.1.x
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../upgrade/upgrade_notes_for_8.0.x/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Upgrade notes for 8.0.x
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../upgrade/upgrade_notes_for_9.0.x/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Upgrade notes for 9.0.x
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../upgrade/upgrade_notes_for_10.0.x/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Upgrade notes for 10.0.x
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../upgrade/upgrade_notes_for_11.0.x/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Upgrade notes for 11.0.x
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../upgrade/upgrade_notes_for_12.0.x/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Upgrade notes for 12.0.x (In progress)
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--active md-nav__item--nested">
|
|
|
|
|
|
|
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_9" checked>
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_9" id="__nav_9_label" tabindex="0">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Developing
|
|
</span>
|
|
|
|
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
|
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_9_label" aria-expanded="true">
|
|
<label class="md-nav__title" for="__nav_9">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
Developing
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../develop/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Outline
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--active md-nav__item--nested">
|
|
|
|
|
|
|
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_9_2" checked>
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_9_2" id="__nav_9_2_label" tabindex="0">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
How to Build Seafile
|
|
</span>
|
|
|
|
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
|
|
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_9_2_label" aria-expanded="true">
|
|
<label class="md-nav__title" for="__nav_9_2">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
How to Build Seafile
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Outline
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../linux/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Linux
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../osx/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
macOS
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../windows/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Windows
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--active">
|
|
|
|
<input class="md-nav__toggle md-toggle" type="checkbox" id="__toc">
|
|
|
|
|
|
|
|
<label class="md-nav__link md-nav__link--active" for="__toc">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Server development
|
|
</span>
|
|
|
|
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
|
|
<a href="./" class="md-nav__link md-nav__link--active">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Server development
|
|
</span>
|
|
|
|
|
|
</a>
|
|
|
|
|
|
|
|
<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
|
|
|
|
|
|
|
|
|
|
<label class="md-nav__title" for="__toc">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
Table of contents
|
|
</label>
|
|
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#create-persistent-directories" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Create persistent directories
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#run-a-container" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Run a container
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#update-source-and-install-dependencies" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Update Source and Install Dependencies.
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#install-mariadb-and-create-databases" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Install MariaDB and Create Databases
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#download-source-code" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Download Source Code
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#compile-and-install-seaf-server" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Compile and Install seaf-server
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#create-conf-files" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Create Conf Files
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#start-seaf-server" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Start seaf-server
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#start-seafevents-and-seahub" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Start seafevents and seahub
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="Start seafevents and seahub">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#prepare-environment-variables" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Prepare environment variables
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#start-seafevents" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Start seafevents
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#start-seahub" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Start seahub
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="Start seahub">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#create-seahub-database-tables" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Create seahub database tables
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#create-user" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Create user
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#start-seahub_1" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Start seahub
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#the-final-directory-structure" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
The Final Directory Structure
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#more" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
More
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="More">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#deploy-frontend-development-environment" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Deploy Frontend Development Environment
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../rpi/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Server binary package
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../develop/translation/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Translation
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../develop/web_api_v2.1/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Web API V2.1
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="https://github.com/rene-s/Seafile-PHP-SDK" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
PHP API
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../develop/data_model/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Data Model
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
|
|
|
|
|
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_10" >
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_10" id="__nav_10_label" tabindex="0">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
ChangeLog
|
|
</span>
|
|
|
|
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
|
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_10_label" aria-expanded="false">
|
|
<label class="md-nav__title" for="__nav_10">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
ChangeLog
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../changelog/server-changelog/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Seafile Community Edition
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../changelog/changelog-for-seafile-professional-server/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Seafile Professional Edition
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../changelog/client-changelog/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Seafile Client
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../changelog/drive-client-changelog/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Drive Client
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
|
<div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
|
|
<div class="md-sidebar__scrollwrap">
|
|
<div class="md-sidebar__inner">
|
|
|
|
|
|
<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
|
|
|
|
|
|
|
|
|
|
<label class="md-nav__title" for="__toc">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
Table of contents
|
|
</label>
|
|
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#create-persistent-directories" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Create persistent directories
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#run-a-container" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Run a container
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#update-source-and-install-dependencies" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Update Source and Install Dependencies.
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#install-mariadb-and-create-databases" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Install MariaDB and Create Databases
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#download-source-code" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Download Source Code
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#compile-and-install-seaf-server" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Compile and Install seaf-server
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#create-conf-files" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Create Conf Files
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#start-seaf-server" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Start seaf-server
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#start-seafevents-and-seahub" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Start seafevents and seahub
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="Start seafevents and seahub">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#prepare-environment-variables" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Prepare environment variables
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#start-seafevents" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Start seafevents
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#start-seahub" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Start seahub
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="Start seahub">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#create-seahub-database-tables" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Create seahub database tables
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#create-user" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Create user
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#start-seahub_1" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Start seahub
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#the-final-directory-structure" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
The Final Directory Structure
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#more" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
More
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="More">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#deploy-frontend-development-environment" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Deploy Frontend Development Environment
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
</nav>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
|
<div class="md-content" data-md-component="content">
|
|
<article class="md-content__inner md-typeset">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<h1>Server development</h1>
|
|
|
|
<p>This is the document for deploying Seafile open source development environment in Ubuntu 2204 docker container.</p>
|
|
<h2 id="create-persistent-directories">Create persistent directories<a class="headerlink" href="#create-persistent-directories" title="Permanent link">¶</a></h2>
|
|
<p>Login a linux server as <code>root</code> user, then:</p>
|
|
<div class="codehilite"><pre><span></span><code><span class="nx">mkdir</span><span class="w"> </span><span class="o">-</span><span class="nx">p</span><span class="w"> </span><span class="o">/</span><span class="nx">root</span><span class="o">/</span><span class="nx">seafile</span><span class="o">-</span><span class="nx">ce</span><span class="o">-</span><span class="nx">docker</span><span class="o">/</span><span class="nx">source</span><span class="o">-</span><span class="nx">code</span>
|
|
<span class="nx">mkdir</span><span class="w"> </span><span class="o">-</span><span class="nx">p</span><span class="w"> </span><span class="o">/</span><span class="nx">root</span><span class="o">/</span><span class="nx">seafile</span><span class="o">-</span><span class="nx">ce</span><span class="o">-</span><span class="nx">docker</span><span class="o">/</span><span class="nx">conf</span>
|
|
<span class="nx">mkdir</span><span class="w"> </span><span class="o">-</span><span class="nx">p</span><span class="w"> </span><span class="o">/</span><span class="nx">root</span><span class="o">/</span><span class="nx">seafile</span><span class="o">-</span><span class="nx">ce</span><span class="o">-</span><span class="nx">docker</span><span class="o">/</span><span class="nx">logs</span>
|
|
<span class="nx">mkdir</span><span class="w"> </span><span class="o">-</span><span class="nx">p</span><span class="w"> </span><span class="o">/</span><span class="nx">root</span><span class="o">/</span><span class="nx">seafile</span><span class="o">-</span><span class="nx">ce</span><span class="o">-</span><span class="nx">docker</span><span class="o">/</span><span class="nx">mysql</span><span class="o">-</span><span class="nx">data</span>
|
|
<span class="nx">mkdir</span><span class="w"> </span><span class="o">-</span><span class="nx">p</span><span class="w"> </span><span class="o">/</span><span class="nx">root</span><span class="o">/</span><span class="nx">seafile</span><span class="o">-</span><span class="nx">ce</span><span class="o">-</span><span class="nx">docker</span><span class="o">/</span><span class="nx">seafile</span><span class="o">-</span><span class="nx">data</span><span class="o">/</span><span class="kn">library</span><span class="o">-</span><span class="nx">template</span>
|
|
</code></pre></div>
|
|
|
|
<h2 id="run-a-container">Run a container<a class="headerlink" href="#run-a-container" title="Permanent link">¶</a></h2>
|
|
<p>After <a href="https://docs.docker.com/engine/install/">install docker</a>, start a container to deploy seafile open source development environment.</p>
|
|
<div class="codehilite"><pre><span></span><code><span class="n">docker</span><span class="w"> </span><span class="n">run</span><span class="w"> </span><span class="o">--</span><span class="n">mount</span><span class="w"> </span><span class="n">type</span><span class="o">=</span><span class="n">bind</span><span class="p">,</span><span class="n">source</span><span class="o">=/</span><span class="n">root</span><span class="o">/</span><span class="n">seafile</span><span class="o">-</span><span class="n">ce</span><span class="o">-</span><span class="n">docker</span><span class="o">/</span><span class="n">source</span><span class="o">-</span><span class="n">code</span><span class="p">,</span><span class="n">target</span><span class="o">=/</span><span class="n">root</span><span class="o">/</span><span class="n">dev</span><span class="o">/</span><span class="n">source</span><span class="o">-</span><span class="n">code</span><span class="w"> </span>\
|
|
<span class="w"> </span><span class="o">--</span><span class="n">mount</span><span class="w"> </span><span class="n">type</span><span class="o">=</span><span class="n">bind</span><span class="p">,</span><span class="n">source</span><span class="o">=/</span><span class="n">root</span><span class="o">/</span><span class="n">seafile</span><span class="o">-</span><span class="n">ce</span><span class="o">-</span><span class="n">docker</span><span class="o">/</span><span class="n">conf</span><span class="p">,</span><span class="n">target</span><span class="o">=/</span><span class="n">root</span><span class="o">/</span><span class="n">dev</span><span class="o">/</span><span class="n">conf</span><span class="w"> </span>\
|
|
<span class="w"> </span><span class="o">--</span><span class="n">mount</span><span class="w"> </span><span class="n">type</span><span class="o">=</span><span class="n">bind</span><span class="p">,</span><span class="n">source</span><span class="o">=/</span><span class="n">root</span><span class="o">/</span><span class="n">seafile</span><span class="o">-</span><span class="n">ce</span><span class="o">-</span><span class="n">docker</span><span class="o">/</span><span class="n">logs</span><span class="p">,</span><span class="n">target</span><span class="o">=/</span><span class="n">root</span><span class="o">/</span><span class="n">dev</span><span class="o">/</span><span class="n">logs</span><span class="w"> </span>\
|
|
<span class="w"> </span><span class="o">--</span><span class="n">mount</span><span class="w"> </span><span class="n">type</span><span class="o">=</span><span class="n">bind</span><span class="p">,</span><span class="n">source</span><span class="o">=/</span><span class="n">root</span><span class="o">/</span><span class="n">seafile</span><span class="o">-</span><span class="n">ce</span><span class="o">-</span><span class="n">docker</span><span class="o">/</span><span class="n">seafile</span><span class="o">-</span><span class="n">data</span><span class="p">,</span><span class="n">target</span><span class="o">=/</span><span class="n">root</span><span class="o">/</span><span class="n">dev</span><span class="o">/</span><span class="n">seafile</span><span class="o">-</span><span class="n">data</span><span class="w"> </span>\
|
|
<span class="w"> </span><span class="o">--</span><span class="n">mount</span><span class="w"> </span><span class="n">type</span><span class="o">=</span><span class="n">bind</span><span class="p">,</span><span class="n">source</span><span class="o">=/</span><span class="n">root</span><span class="o">/</span><span class="n">seafile</span><span class="o">-</span><span class="n">ce</span><span class="o">-</span><span class="n">docker</span><span class="o">/</span><span class="n">mysql</span><span class="o">-</span><span class="n">data</span><span class="p">,</span><span class="n">target</span><span class="o">=/</span><span class="k">var</span><span class="o">/</span><span class="n">lib</span><span class="o">/</span><span class="n">mysql</span><span class="w"> </span>\
|
|
<span class="w"> </span><span class="o">-</span><span class="n">it</span><span class="w"> </span><span class="o">-</span><span class="n">p</span><span class="w"> </span><span class="mi">8000</span><span class="p">:</span><span class="mi">8000</span><span class="w"> </span><span class="o">-</span><span class="n">p</span><span class="w"> </span><span class="mi">8082</span><span class="p">:</span><span class="mi">8082</span><span class="w"> </span><span class="o">-</span><span class="n">p</span><span class="w"> </span><span class="mi">3000</span><span class="p">:</span><span class="mi">3000</span><span class="w"> </span><span class="o">--</span><span class="n">name</span><span class="w"> </span><span class="n">seafile</span><span class="o">-</span><span class="n">ce</span><span class="o">-</span><span class="n">env</span><span class="w"> </span><span class="n">ubuntu</span><span class="p">:</span><span class="mf">22.04</span><span class="w"> </span><span class="n">bash</span>
|
|
</code></pre></div>
|
|
|
|
<p>Note, the following commands are all executed in the seafile-ce-env docker container.</p>
|
|
<h2 id="update-source-and-install-dependencies">Update Source and Install Dependencies.<a class="headerlink" href="#update-source-and-install-dependencies" title="Permanent link">¶</a></h2>
|
|
<p>Update base system and install base dependencies:</p>
|
|
<div class="codehilite"><pre><span></span><code><span class="n">apt</span><span class="o">-</span><span class="n">get</span><span class="w"> </span><span class="n">update</span><span class="w"> </span><span class="o">&&</span><span class="w"> </span><span class="n">apt</span><span class="o">-</span><span class="n">get</span><span class="w"> </span><span class="n">upgrade</span><span class="w"> </span><span class="o">-</span><span class="n">y</span>
|
|
|
|
<span class="n">apt</span><span class="o">-</span><span class="n">get</span><span class="w"> </span><span class="n">install</span><span class="w"> </span><span class="o">-</span><span class="n">y</span><span class="w"> </span><span class="n">ssh</span><span class="w"> </span><span class="n">libevent</span><span class="o">-</span><span class="n">dev</span><span class="w"> </span><span class="n">libcurl4</span><span class="o">-</span><span class="n">openssl</span><span class="o">-</span><span class="n">dev</span><span class="w"> </span><span class="n">libglib2</span><span class="o">.</span><span class="mi">0</span><span class="o">-</span><span class="n">dev</span><span class="w"> </span><span class="n">uuid</span><span class="o">-</span><span class="n">dev</span><span class="w"> </span><span class="n">intltool</span><span class="w"> </span><span class="n">libsqlite3</span><span class="o">-</span><span class="n">dev</span><span class="w"> </span><span class="n">libmysqlclient</span><span class="o">-</span><span class="n">dev</span><span class="w"> </span><span class="n">libarchive</span><span class="o">-</span><span class="n">dev</span><span class="w"> </span><span class="n">libtool</span><span class="w"> </span><span class="n">libjansson</span><span class="o">-</span><span class="n">dev</span><span class="w"> </span><span class="n">valac</span><span class="w"> </span><span class="n">libfuse</span><span class="o">-</span><span class="n">dev</span><span class="w"> </span><span class="n">python3</span><span class="o">-</span><span class="n">dateutil</span><span class="w"> </span><span class="n">cmake</span><span class="w"> </span><span class="n">re2c</span><span class="w"> </span><span class="n">flex</span><span class="w"> </span><span class="n">sqlite3</span><span class="w"> </span><span class="n">python3</span><span class="o">-</span><span class="n">pip</span><span class="w"> </span><span class="n">python3</span><span class="o">-</span><span class="n">simplejson</span><span class="w"> </span><span class="n">git</span><span class="w"> </span><span class="n">libssl</span><span class="o">-</span><span class="n">dev</span><span class="w"> </span><span class="n">libldap2</span><span class="o">-</span><span class="n">dev</span><span class="w"> </span><span class="n">libonig</span><span class="o">-</span><span class="n">dev</span><span class="w"> </span><span class="n">vim</span><span class="w"> </span><span class="n">vim</span><span class="o">-</span><span class="n">scripts</span><span class="w"> </span><span class="n">wget</span><span class="w"> </span><span class="n">cmake</span><span class="w"> </span><span class="n">gcc</span><span class="w"> </span><span class="n">autoconf</span><span class="w"> </span><span class="n">automake</span><span class="w"> </span><span class="n">mysql</span><span class="o">-</span><span class="n">client</span><span class="w"> </span><span class="n">librados</span><span class="o">-</span><span class="n">dev</span><span class="w"> </span><span class="n">libxml2</span><span class="o">-</span><span class="n">dev</span><span class="w"> </span><span class="n">curl</span><span class="w"> </span><span class="n">sudo</span><span class="w"> </span><span class="n">telnet</span><span class="w"> </span><span class="n">netcat</span><span class="w"> </span><span class="n">unzip</span><span class="w"> </span><span class="n">netbase</span><span class="w"> </span><span class="n">ca</span><span class="o">-</span><span class="n">certificates</span><span class="w"> </span><span class="n">apt</span><span class="o">-</span><span class="n">transport</span><span class="o">-</span><span class="n">https</span><span class="w"> </span><span class="n">build</span><span class="o">-</span><span class="n">essential</span><span class="w"> </span><span class="n">libxslt1</span><span class="o">-</span><span class="n">dev</span><span class="w"> </span><span class="n">libffi</span><span class="o">-</span><span class="n">dev</span><span class="w"> </span><span class="n">libpcre3</span><span class="o">-</span><span class="n">dev</span><span class="w"> </span><span class="n">libz</span><span class="o">-</span><span class="n">dev</span><span class="w"> </span><span class="n">xz</span><span class="o">-</span><span class="n">utils</span><span class="w"> </span><span class="n">nginx</span><span class="w"> </span><span class="n">pkg</span><span class="o">-</span><span class="n">config</span><span class="w"> </span><span class="n">poppler</span><span class="o">-</span><span class="n">utils</span><span class="w"> </span><span class="n">libmemcached</span><span class="o">-</span><span class="n">dev</span><span class="w"> </span><span class="n">sudo</span><span class="w"> </span><span class="n">ldap</span><span class="o">-</span><span class="n">utils</span><span class="w"> </span><span class="n">libldap2</span><span class="o">-</span><span class="n">dev</span><span class="w"> </span><span class="n">libjwt</span><span class="o">-</span><span class="n">dev</span>
|
|
</code></pre></div>
|
|
|
|
<p>Install Node 16 from nodesource:</p>
|
|
<div class="codehilite"><pre><span></span><code>curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
|
|
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_16.x nodistro main" | sudo tee /etc/apt/sources.list.d/nodesource.list
|
|
apt-get install -y nodejs
|
|
</code></pre></div>
|
|
|
|
<p>Install other Python 3 dependencies:</p>
|
|
<div class="codehilite"><pre><span></span><code><span class="n">apt</span><span class="o">-</span><span class="n">get</span><span class="w"> </span><span class="n">install</span><span class="w"> </span><span class="o">-</span><span class="n">y</span><span class="w"> </span><span class="n">python3</span><span class="w"> </span><span class="n">python3</span><span class="o">-</span><span class="n">dev</span><span class="w"> </span><span class="n">python3</span><span class="o">-</span><span class="n">pip</span><span class="w"> </span><span class="n">python3</span><span class="o">-</span><span class="n">setuptools</span><span class="w"> </span><span class="n">python3</span><span class="o">-</span><span class="n">ldap</span>
|
|
|
|
<span class="n">python3</span><span class="w"> </span><span class="o">-</span><span class="n">m</span><span class="w"> </span><span class="n">pip</span><span class="w"> </span><span class="n">install</span><span class="w"> </span><span class="o">--</span><span class="n">upgrade</span><span class="w"> </span><span class="n">pip</span>
|
|
|
|
<span class="n">pip3</span><span class="w"> </span><span class="n">install</span><span class="w"> </span><span class="n">Django</span><span class="o">==</span><span class="mf">4.2</span><span class="o">.*</span><span class="w"> </span><span class="n">django</span><span class="o">-</span><span class="n">statici18n</span><span class="o">==</span><span class="mf">2.3</span><span class="o">.*</span><span class="w"> </span><span class="n">django_webpack_loader</span><span class="o">==</span><span class="mf">1.7</span><span class="o">.*</span><span class="w"> </span><span class="n">django_picklefield</span><span class="o">==</span><span class="mf">3.1</span><span class="w"> </span><span class="n">django_formtools</span><span class="o">==</span><span class="mf">2.4</span><span class="w"> </span><span class="n">django_simple_captcha</span><span class="o">==</span><span class="mf">0.6</span><span class="o">.*</span><span class="w"> </span><span class="n">djangosaml2</span><span class="o">==</span><span class="mf">1.5</span><span class="o">.*</span><span class="w"> </span><span class="n">djangorestframework</span><span class="o">==</span><span class="mf">3.14</span><span class="o">.*</span><span class="w"> </span><span class="n">python</span><span class="o">-</span><span class="n">dateutil</span><span class="o">==</span><span class="mf">2.8</span><span class="o">.*</span><span class="w"> </span><span class="n">pyjwt</span><span class="o">==</span><span class="mf">2.6</span><span class="o">.*</span><span class="w"> </span><span class="n">pycryptodome</span><span class="o">==</span><span class="mf">3.16</span><span class="o">.*</span><span class="w"> </span><span class="n">python</span><span class="o">-</span><span class="n">cas</span><span class="o">==</span><span class="mf">1.6</span><span class="o">.*</span><span class="w"> </span><span class="n">pysaml2</span><span class="o">==</span><span class="mf">7.2</span><span class="o">.*</span><span class="w"> </span><span class="n">requests</span><span class="o">==</span><span class="mf">2.28</span><span class="o">.*</span><span class="w"> </span><span class="n">requests_oauthlib</span><span class="o">==</span><span class="mf">1.3</span><span class="o">.*</span><span class="w"> </span><span class="n">future</span><span class="o">==</span><span class="mf">0.18</span><span class="o">.*</span><span class="w"> </span><span class="n">gunicorn</span><span class="o">==</span><span class="mf">20.1</span><span class="o">.*</span><span class="w"> </span><span class="n">mysqlclient</span><span class="o">==</span><span class="mf">2.1</span><span class="o">.*</span><span class="w"> </span><span class="n">qrcode</span><span class="o">==</span><span class="mf">7.3</span><span class="o">.*</span><span class="w"> </span><span class="n">pillow</span><span class="o">==</span><span class="mf">10.2</span><span class="o">.*</span><span class="w"> </span><span class="n">chardet</span><span class="o">==</span><span class="mf">5.1</span><span class="o">.*</span><span class="w"> </span><span class="n">cffi</span><span class="o">==</span><span class="mf">1.15</span><span class="o">.</span><span class="mi">1</span><span class="w"> </span><span class="n">captcha</span><span class="o">==</span><span class="mf">0.5</span><span class="o">.*</span><span class="w"> </span><span class="n">openpyxl</span><span class="o">==</span><span class="mf">3.0</span><span class="o">.*</span><span class="w"> </span><span class="n">Markdown</span><span class="o">==</span><span class="mf">3.4</span><span class="o">.*</span><span class="w"> </span><span class="n">bleach</span><span class="o">==</span><span class="mf">5.0</span><span class="o">.*</span><span class="w"> </span><span class="n">python</span><span class="o">-</span><span class="n">ldap</span><span class="o">==</span><span class="mf">3.4</span><span class="o">.*</span><span class="w"> </span><span class="n">sqlalchemy</span><span class="o">==</span><span class="mf">2.0</span><span class="o">.</span><span class="mi">18</span><span class="w"> </span><span class="n">redis</span><span class="w"> </span><span class="n">mock</span><span class="w"> </span><span class="n">pytest</span><span class="w"> </span><span class="n">pymysql</span><span class="w"> </span><span class="n">configparser</span><span class="w"> </span><span class="n">pylibmc</span><span class="w"> </span><span class="n">django</span><span class="o">-</span><span class="n">pylibmc</span><span class="w"> </span><span class="n">nose</span><span class="w"> </span><span class="n">exam</span><span class="w"> </span><span class="n">splinter</span><span class="w"> </span><span class="n">pytest</span><span class="o">-</span><span class="n">django</span>
|
|
</code></pre></div>
|
|
|
|
<h2 id="install-mariadb-and-create-databases">Install MariaDB and Create Databases<a class="headerlink" href="#install-mariadb-and-create-databases" title="Permanent link">¶</a></h2>
|
|
<div class="codehilite"><pre><span></span><code>apt-get install -y mariadb-server
|
|
service mariadb start
|
|
mysqladmin -u root password your_password
|
|
</code></pre></div>
|
|
|
|
<p>sql for create databases</p>
|
|
<div class="codehilite"><pre><span></span><code>mysql -uroot -pyour_password -e "CREATE DATABASE ccnet CHARACTER SET utf8;"
|
|
mysql -uroot -pyour_password -e "CREATE DATABASE seafile CHARACTER SET utf8;"
|
|
mysql -uroot -pyour_password -e "CREATE DATABASE seahub CHARACTER SET utf8;"
|
|
</code></pre></div>
|
|
|
|
<h2 id="download-source-code">Download Source Code<a class="headerlink" href="#download-source-code" title="Permanent link">¶</a></h2>
|
|
<div class="codehilite"><pre><span></span><code>cd ~/
|
|
cd ~/dev/source-code
|
|
|
|
git clone https://github.com/haiwen/libevhtp.git
|
|
git clone https://github.com/haiwen/libsearpc.git
|
|
git clone https://github.com/haiwen/seafile-server.git
|
|
git clone https://github.com/haiwen/seafevents.git
|
|
git clone https://github.com/haiwen/seafobj.git
|
|
git clone https://github.com/haiwen/seahub.git
|
|
|
|
cd libevhtp/
|
|
git checkout tags/1.1.7 -b tag-1.1.7
|
|
|
|
cd ../libsearpc/
|
|
git checkout tags/v3.3-latest -b tag-v3.3-latest
|
|
|
|
cd ../seafile-server
|
|
git checkout tags/v11.0.5-server -b tag-v11.0.5-server
|
|
|
|
cd ../seafevents
|
|
git checkout tags/v11.0.5-server -b tag-v11.0.5-server
|
|
|
|
cd ../seafobj
|
|
git checkout tags/v11.0.5-server -b tag-v11.0.5-server
|
|
|
|
cd ../seahub
|
|
git checkout tags/v11.0.5-server -b tag-v11.0.5-server
|
|
</code></pre></div>
|
|
|
|
<h2 id="compile-and-install-seaf-server">Compile and Install seaf-server<a class="headerlink" href="#compile-and-install-seaf-server" title="Permanent link">¶</a></h2>
|
|
<div class="codehilite"><pre><span></span><code>cd ../libevhtp
|
|
cmake -DEVHTP_DISABLE_SSL=ON -DEVHTP_BUILD_SHARED=OFF .
|
|
make
|
|
make install
|
|
ldconfig
|
|
|
|
cd ../libsearpc
|
|
./autogen.sh
|
|
./configure
|
|
make
|
|
make install
|
|
ldconfig
|
|
|
|
cd ../seafile-server
|
|
./autogen.sh
|
|
./configure --disable-fuse
|
|
make
|
|
make install
|
|
ldconfig
|
|
</code></pre></div>
|
|
|
|
<h2 id="create-conf-files">Create Conf Files<a class="headerlink" href="#create-conf-files" title="Permanent link">¶</a></h2>
|
|
<div class="codehilite"><pre><span></span><code><span class="n">cd</span><span class="w"> </span><span class="o">~/</span><span class="n">dev</span><span class="o">/</span><span class="n">conf</span>
|
|
|
|
<span class="n">cat</span><span class="w"> </span><span class="o">></span><span class="w"> </span><span class="n">ccnet</span><span class="p">.</span><span class="n">conf</span><span class="w"> </span><span class="o"><<</span><span class="n">EOF</span>
|
|
<span class="o">[</span><span class="n">Database</span><span class="o">]</span>
|
|
<span class="n">ENGINE</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">mysql</span>
|
|
<span class="k">HOST</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">localhost</span>
|
|
<span class="n">PORT</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">3306</span>
|
|
<span class="k">USER</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">root</span>
|
|
<span class="n">PASSWD</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">123456</span>
|
|
<span class="n">DB</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">ccnet</span>
|
|
<span class="n">CONNECTION_CHARSET</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">utf8</span>
|
|
<span class="n">CREATE_TABLES</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">true</span>
|
|
<span class="n">EOF</span>
|
|
|
|
<span class="n">cat</span><span class="w"> </span><span class="o">></span><span class="w"> </span><span class="n">seafile</span><span class="p">.</span><span class="n">conf</span><span class="w"> </span><span class="o"><<</span><span class="n">EOF</span>
|
|
<span class="o">[</span><span class="n">database</span><span class="o">]</span>
|
|
<span class="n">type</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">mysql</span>
|
|
<span class="k">host</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">localhost</span>
|
|
<span class="n">port</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">3306</span>
|
|
<span class="k">user</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">root</span>
|
|
<span class="n">password</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">123456</span>
|
|
<span class="nf">db_name</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">seafile</span>
|
|
<span class="n">connection_charset</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">utf8</span>
|
|
<span class="n">create_tables</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">true</span>
|
|
<span class="n">EOF</span>
|
|
|
|
<span class="n">cat</span><span class="w"> </span><span class="o">></span><span class="w"> </span><span class="n">seafevents</span><span class="p">.</span><span class="n">conf</span><span class="w"> </span><span class="o"><<</span><span class="n">EOF</span>
|
|
<span class="o">[</span><span class="n">DATABASE</span><span class="o">]</span>
|
|
<span class="n">type</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">mysql</span>
|
|
<span class="n">username</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">root</span>
|
|
<span class="n">password</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">123456</span>
|
|
<span class="n">name</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">seahub</span>
|
|
<span class="k">host</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">localhost</span>
|
|
<span class="n">EOF</span>
|
|
|
|
<span class="n">cat</span><span class="w"> </span><span class="o">></span><span class="w"> </span><span class="n">seahub_settings</span><span class="p">.</span><span class="n">py</span><span class="w"> </span><span class="o"><<</span><span class="n">EOF</span>
|
|
<span class="n">DATABASES</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="err">{</span>
|
|
<span class="w"> </span><span class="s1">'default'</span><span class="err">:</span><span class="w"> </span><span class="err">{</span>
|
|
<span class="w"> </span><span class="s1">'ENGINE'</span><span class="err">:</span><span class="w"> </span><span class="s1">'django.db.backends.mysql'</span><span class="p">,</span>
|
|
<span class="w"> </span><span class="s1">'NAME'</span><span class="err">:</span><span class="w"> </span><span class="s1">'seahub'</span><span class="p">,</span>
|
|
<span class="w"> </span><span class="s1">'USER'</span><span class="err">:</span><span class="w"> </span><span class="s1">'root'</span><span class="p">,</span>
|
|
<span class="w"> </span><span class="s1">'PASSWORD'</span><span class="err">:</span><span class="w"> </span><span class="s1">'123456'</span><span class="p">,</span>
|
|
<span class="w"> </span><span class="s1">'HOST'</span><span class="err">:</span><span class="w"> </span><span class="s1">'localhost'</span><span class="p">,</span>
|
|
<span class="w"> </span><span class="s1">'PORT'</span><span class="err">:</span><span class="w"> </span><span class="s1">'3306'</span><span class="p">,</span>
|
|
<span class="w"> </span><span class="err">}</span>
|
|
<span class="err">}</span>
|
|
<span class="n">FILE_SERVER_ROOT</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s1">'http://127.0.0.1:8082'</span>
|
|
<span class="n">SERVICE_URL</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s1">'http://127.0.0.1:8000'</span>
|
|
<span class="n">EOF</span>
|
|
</code></pre></div>
|
|
|
|
<h2 id="start-seaf-server">Start seaf-server<a class="headerlink" href="#start-seaf-server" title="Permanent link">¶</a></h2>
|
|
<div class="codehilite"><pre><span></span><code>seaf-server -F /root/dev/conf -d /root/dev/seafile-data -l /root/dev/logs/seafile.log >> /root/dev/logs/seafile.log 2>&1 &
|
|
</code></pre></div>
|
|
|
|
<h2 id="start-seafevents-and-seahub">Start seafevents and seahub<a class="headerlink" href="#start-seafevents-and-seahub" title="Permanent link">¶</a></h2>
|
|
<h3 id="prepare-environment-variables">Prepare environment variables<a class="headerlink" href="#prepare-environment-variables" title="Permanent link">¶</a></h3>
|
|
<div class="codehilite"><pre><span></span><code><span class="k">export</span><span class="w"> </span><span class="n">CCNET_CONF_DIR</span><span class="o">=/</span><span class="n">root</span><span class="o">/</span><span class="n">dev</span><span class="o">/</span><span class="n">conf</span>
|
|
<span class="k">export</span><span class="w"> </span><span class="n">SEAFILE_CONF_DIR</span><span class="o">=/</span><span class="n">root</span><span class="o">/</span><span class="n">dev</span><span class="o">/</span><span class="n">seafile</span><span class="o">-</span><span class="n">data</span>
|
|
<span class="k">export</span><span class="w"> </span><span class="n">SEAFILE_CENTRAL_CONF_DIR</span><span class="o">=/</span><span class="n">root</span><span class="o">/</span><span class="n">dev</span><span class="o">/</span><span class="n">conf</span>
|
|
<span class="k">export</span><span class="w"> </span><span class="n">SEAHUB_DIR</span><span class="o">=/</span><span class="n">root</span><span class="o">/</span><span class="n">dev</span><span class="o">/</span><span class="n">source</span><span class="o">-</span><span class="n">code</span><span class="o">/</span><span class="n">seahub</span>
|
|
<span class="k">export</span><span class="w"> </span><span class="n">SEAHUB_LOG_DIR</span><span class="o">=/</span><span class="n">root</span><span class="o">/</span><span class="n">dev</span><span class="o">/</span><span class="n">logs</span>
|
|
<span class="k">export</span><span class="w"> </span><span class="n">PYTHONPATH</span><span class="o">=/</span><span class="n">usr</span><span class="o">/</span><span class="n">local</span><span class="o">/</span><span class="n">lib</span><span class="o">/</span><span class="n">python3</span><span class="o">.</span><span class="mi">10</span><span class="o">/</span><span class="n">dist</span><span class="o">-</span><span class="n">packages</span><span class="o">/</span><span class="p">:</span><span class="o">/</span><span class="n">usr</span><span class="o">/</span><span class="n">local</span><span class="o">/</span><span class="n">lib</span><span class="o">/</span><span class="n">python3</span><span class="o">.</span><span class="mi">10</span><span class="o">/</span><span class="n">site</span><span class="o">-</span><span class="n">packages</span><span class="o">/</span><span class="p">:</span><span class="o">/</span><span class="n">root</span><span class="o">/</span><span class="n">dev</span><span class="o">/</span><span class="n">source</span><span class="o">-</span><span class="n">code</span><span class="o">/</span><span class="p">:</span><span class="o">/</span><span class="n">root</span><span class="o">/</span><span class="n">dev</span><span class="o">/</span><span class="n">source</span><span class="o">-</span><span class="n">code</span><span class="o">/</span><span class="n">seafobj</span><span class="o">/</span><span class="p">:</span><span class="o">/</span><span class="n">root</span><span class="o">/</span><span class="n">dev</span><span class="o">/</span><span class="n">source</span><span class="o">-</span><span class="n">code</span><span class="o">/</span><span class="n">seahub</span><span class="o">/</span><span class="n">thirdpart</span><span class="p">:</span><span class="o">$</span><span class="n">PYTHONPATH</span>
|
|
</code></pre></div>
|
|
|
|
<h3 id="start-seafevents">Start seafevents<a class="headerlink" href="#start-seafevents" title="Permanent link">¶</a></h3>
|
|
<div class="codehilite"><pre><span></span><code>cd /root/dev/source-code/seafevents/
|
|
python3 main.py --loglevel=debug --logfile=/root/dev/logs/seafevents.log --config-file /root/dev/conf/seafevents.conf >> /root/dev/logs/seafevents.log 2>&1 &
|
|
</code></pre></div>
|
|
|
|
<h3 id="start-seahub">Start seahub<a class="headerlink" href="#start-seahub" title="Permanent link">¶</a></h3>
|
|
<h4 id="create-seahub-database-tables">Create seahub database tables<a class="headerlink" href="#create-seahub-database-tables" title="Permanent link">¶</a></h4>
|
|
<div class="codehilite"><pre><span></span><code>cd /root/dev/source-code/seahub/
|
|
python3 manage.py migrate
|
|
</code></pre></div>
|
|
|
|
<h4 id="create-user">Create user<a class="headerlink" href="#create-user" title="Permanent link">¶</a></h4>
|
|
<div class="codehilite"><pre><span></span><code>python3 manage.py createsuperuser
|
|
</code></pre></div>
|
|
|
|
<h4 id="start-seahub_1">Start seahub<a class="headerlink" href="#start-seahub_1" title="Permanent link">¶</a></h4>
|
|
<div class="codehilite"><pre><span></span><code>python3 manage.py runserver 0.0.0.0:8000
|
|
</code></pre></div>
|
|
|
|
<p>Then, you can visit <a href="http://127.0.0.1:8000/">http://127.0.0.1:8000/</a> to use Seafile.</p>
|
|
<h2 id="the-final-directory-structure">The Final Directory Structure<a class="headerlink" href="#the-final-directory-structure" title="Permanent link">¶</a></h2>
|
|
<p><img alt="Directory Structure" src="../../images/build_seafile_server_directory_structure.png" /></p>
|
|
<h2 id="more">More<a class="headerlink" href="#more" title="Permanent link">¶</a></h2>
|
|
<h3 id="deploy-frontend-development-environment">Deploy Frontend Development Environment<a class="headerlink" href="#deploy-frontend-development-environment" title="Permanent link">¶</a></h3>
|
|
<p>For deploying frontend development enviroment, you need:</p>
|
|
<p>1, checkout seahub to master branch</p>
|
|
<div class="codehilite"><pre><span></span><code>cd /root/dev/source-code/seahub
|
|
|
|
git fetch origin master:master
|
|
git checkout master
|
|
</code></pre></div>
|
|
|
|
<p>2, add the following configration to /root/dev/conf/seahub_settings.py</p>
|
|
<div class="codehilite"><pre><span></span><code><span class="kn">import</span><span class="w"> </span><span class="nn">os</span>
|
|
<span class="n">PROJECT_ROOT</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s1">'/root/dev/source-code/seahub'</span>
|
|
<span class="n">WEBPACK_LOADER</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">{</span>
|
|
<span class="w"> </span><span class="s1">'DEFAULT'</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
|
|
<span class="w"> </span><span class="s1">'BUNDLE_DIR_NAME'</span><span class="p">:</span><span class="w"> </span><span class="s1">'frontend/'</span><span class="p">,</span>
|
|
<span class="w"> </span><span class="s1">'STATS_FILE'</span><span class="p">:</span><span class="w"> </span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">PROJECT_ROOT</span><span class="p">,</span>
|
|
<span class="w"> </span><span class="s1">'frontend/webpack-stats.dev.json'</span><span class="p">),</span>
|
|
<span class="w"> </span><span class="p">}</span>
|
|
<span class="p">}</span>
|
|
<span class="n">DEBUG</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="kc">True</span>
|
|
</code></pre></div>
|
|
|
|
<p>3, install js modules</p>
|
|
<div class="codehilite"><pre><span></span><code>cd /root/dev/source-code/seahub/frontend
|
|
|
|
npm install
|
|
</code></pre></div>
|
|
|
|
<p>4, npm run dev</p>
|
|
<div class="codehilite"><pre><span></span><code>cd /root/dev/source-code/seahub/frontend
|
|
|
|
npm run dev
|
|
</code></pre></div>
|
|
|
|
<p>5, start seaf-server and seahub</p>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</article>
|
|
</div>
|
|
|
|
|
|
<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
|
|
</div>
|
|
|
|
</main>
|
|
|
|
<footer class="md-footer">
|
|
|
|
<div class="md-footer-meta md-typeset">
|
|
<div class="md-footer-meta__inner md-grid">
|
|
<div class="md-copyright">
|
|
|
|
<div class="md-copyright__highlight">
|
|
Copyright © 2023 Seafile Ltd.
|
|
</div>
|
|
|
|
|
|
Made with
|
|
<a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
|
|
Material for MkDocs
|
|
</a>
|
|
|
|
</div>
|
|
|
|
<div class="md-social">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<a href="https://github.com/haiwen/seafile-admin-docs/" target="_blank" rel="noopener" title="github.com" class="md-social__link">
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!--! Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8M97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg>
|
|
</a>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
</footer>
|
|
|
|
</div>
|
|
<div class="md-dialog" data-md-component="dialog">
|
|
<div class="md-dialog__inner md-typeset"></div>
|
|
</div>
|
|
|
|
|
|
<script id="__config" type="application/json">{"base": "../..", "features": [], "search": "../../assets/javascripts/workers/search.6ce7567c.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script>
|
|
|
|
|
|
<script src="../../assets/javascripts/bundle.525ec568.min.js"></script>
|
|
|
|
|
|
</body>
|
|
</html> |