2021SC@SDUSC
目录
概述
一、前置操作
1.安装vim
2.安装docker
3.apt换源
二、部署
1.创建docker容器
2.安装中文语言
3.安装前置组件
4.准备数据库
5.下载项目源代码
6.编译并安装项目
7.创建配置文件
三、后台并发管理
1.安装screen
2.创建窗口
3.不挂起地回到主窗口
4.回到窗口
5. 关闭窗口
四、seafile-server
1.启动
2.关闭
五、seahub
1.配置环境变量
2. 配置服务器
3.启动
六、seahub-frontend
1.npm编译
2.配置
3.启动
七、seafevents
1.配置
2.启动
八、Elastic Search
1.安装Elastic Search
2.配置
3.启动
九、seafdav
1.配置
2.启动
十、安装ClamAV
结尾
概述
本次项目名称为山大智云,它是基于Ubuntu 18.04进行安装配置,分为前端,API服务器,事件服务器和存储服务器端,旨在实现云存储功能的软件。
山大智云的核心是Seafile。Seafile 是一款企业级文件托管平台,拥有高可靠性和高性能的特点。它包含一个 Web 界面,可以用它来管理和分享文件;同时,它还提供了两种客户端,同步盘客户端和挂载盘客户端。另外,它还提供 IOS 和 Android 客户端。
在本次开发中,小组成员需要掌握C、Python、Javascript、MySQL(MariaDB等知识,了解框架 Django、React,了解Docker基本操作,了解Nginx配置与使用,了解网络相关的知识,理解端口的概念,会用ssh进行端口的转发。经过小组讨论,在本次项目中,我主要担任 Seahub+Proset 方面的开发。Seahub使用的语言为python+前端三件套,他主要是Seafile的Web应用,包括了Web前端和react。Proset主要分析seafes和seafevents,前者是建立ElasticSearch索引,后者是执行周期性计划任务的脚本。
接下来我介绍一下本次项目的配置工作
一、前置操作
安装前需要先进入管理员界面
1.安装vim
apt-get install vim
2.安装docker
- 自动安装
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
- 手动安装
sudo apt-get update
sudo apt-get install
apt-transport-https
ca-certificates
curl
gnupg-agent
software-properties-common
curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
sudo apt-key fingerprint 0EBFCD88
sudo add-apt-repository
"deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/
$(lsb_release -cs)
stable"
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
sudo docker run hello-world # 测试,可有可无
3.apt换源
- 自动安装
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
- 手动安装
sudo apt-get update sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add - sudo apt-key fingerprint 0EBFCD88 sudo add-apt-repository "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/ $(lsb_release -cs) stable" sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io sudo docker run hello-world # 测试,可有可无
3.apt换源
1.备份镜像源
mv /etc/apt/sources.list /etc/apt/sources.list.bak
2.新建国内源
创建新文件
vim /etc/apt/sources.list
并在文件中输入以下内容,然后保存并关闭
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
二、部署
1.创建docker容器
docker run -it -p 8000:8000 -p 8080:8080 -p 8082:8082 -p 3000:3000 -p 9200:9200 --name seafile-ce-env ubuntu:18.04 bash
1.创建docker容器
docker run -it -p 8000:8000 -p 8080:8080 -p 8082:8082 -p 3000:3000 -p 9200:9200 --name seafile-ce-env ubuntu:18.04 bash
之后会直接默认进入容器。 这里附上有个docker的相关操作:
1.退出:
Ctrl+D 或者输入 exit
2.查看所有容器:
docker ps -a
3.进入容器
docker attach [容器名]
4.启动容器
docker start [容器名]
进入容器前要先启动容器
注意:以下所有操作都需要在容器内部完成
2.安装中文语言
apt-get install language-pack-zh-hans
locale-gen zh_CN.UTF-8
echo "export LC_ALL=zh_CN.UTF-8">>/root/.bashrc
source /root/.bashrc
然后输入
locale
可以查看是否下载完成,如果得到以下结果则说明已安装中文:
LANG= LANGUAGE= LC_CTYPE="zh_CN.UTF-8" LC_NUMERIC="zh_CN.UTF-8" LC_TIME="zh_CN.UTF-8" LC_COLLATE="zh_CN.UTF-8" LC_MonETARY="zh_CN.UTF-8" LC_MESSAGES="zh_CN.UTF-8" LC_PAPER="zh_CN.UTF-8" LC_NAME="zh_CN.UTF-8" LC_ADDRESS="zh_CN.UTF-8" LC_TELEPHONE="zh_CN.UTF-8" LC_MEASUREMENT="zh_CN.UTF-8" LC_IDENTIFICATION="zh_CN.UTF-8" LC_ALL=zh_CN.UTF-8
3.安装前置组件
1.升级apt
apt-get update && apt-get upgrade -y
2.安装依赖项
apt-get install -y ssh libevent-dev libcurl4-openssl-dev libglib2.0-dev uuid-dev intltool libsqlite3-dev libmysqlclient-dev libarchive-dev libtool libjansson-dev valac libfuse-dev python-dateutil cmake re2c flex sqlite3 python-pip python-simplejson git libssl-dev libldap2-dev libonig-dev vim vim-scripts wget cmake gcc autoconf automake mysql-client librados-dev libxml2-dev curl sudo telnet netcat unzip netbase ca-certificates apt-transport-https build-essential libxslt1-dev libffi-dev libpcre3-dev libz-dev xz-utils nginx pkg-config poppler-utils libmemcached-dev openjdk-11-jdk aria2 sudo
这一项工作比较容易出错,需要多加注意,网络的不稳定有可能导致下载失败,要有耐心。
3.安装nodejs
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash - apt-get install -y nodejs
4.安装python及依赖模块
sudo apt install python3-pip python3.6 -m pip install --upgrade pip rm /usr/bin/python rm /usr/bin/python3 ln -s /usr/bin/python3.6 /usr/bin/python ln -s /usr/bin/python3.6 /usr/bin/python3 rm /usr/bin/pip rm /usr/bin/pip3 ln -s /usr/local/bin/pip3.6 /usr/bin/pip ln -s /usr/local/bin/pip3.6 /usr/bin/pip3 pip install python-cas djangosaml2 cffi sqlalchemy pymysql pillow pycryptodome configparser pylibmc django-pylibmc elasticsearch==5.5.0 elasticsearch-dsl==5.4.0 Django==2.2.14 future captcha django-statici18n django-post_office==3.3.0 django-webpack_loader==0.7.0 gunicorn mysqlclient django-picklefield==2.1.1 openpyxl qrcode django-formtools django-simple-captcha djangorestframework==3.11.1 python-dateutil requests pillow pyjwt pycryptodome requests_oauthlib mock nose exam splinter pytest pytest-django json5 pyyaml jinja2
4.准备数据库
apt-get install -y mariadb-server
service mysql start
mysqladmin -u root password 123456 # root密码123456
mysql
进入mysql终端后:
1.建表
create database ccnet charset utf8; create database seafile charset utf8; create database seahub charset utf8;
2.创建master用户
CREATE USER 'master'@'localhost' IDENTIFIED BY '123456'; GRANT ALL PRIVILEGES ON *.* TO 'master'@'localhost';
5.下载项目源代码
cd ~/
mkdir -p ~/dev/source-code
cd ~/dev/source-code
git clone https://github.com.cnpmjs.org/SDU-NetdiskTeam/libevhtp.git
git clone https://github.com.cnpmjs.org/SDU-NetdiskTeam/libsearpc.git
git clone https://github.com.cnpmjs.org/SDU-NetdiskTeam/seafile-server.git
git clone https://github.com.cnpmjs.org/SDU-NetdiskTeam/seahub.git
git clone https://github.com.cnpmjs.org/SDU-NetdiskTeam/seahub-extra.git seahub_extra
git clone https://github.com.cnpmjs.org/SDU-NetdiskTeam/pro-set.git pro
git clone https://github.com.cnpmjs.org/SDU-NetdiskTeam/seafdav.git
cd libsearpc/
git checkout 8.0
cd ../seafile-server
git checkout develop
cd ../seahub
git checkout develop
6.编译并安装项目
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
7.创建配置文件
mkdir ~/dev/conf
cd ~/dev/conf
cat > ccnet.conf < seahub_settings.py < seafevents.conf < seafile.conf < seafdav.conf <
三、后台并发管理
1.安装screen
apt-get install screen
2.创建窗口
screen -S [窗口名]
3.不挂起地回到主窗口
Ctrl+D,然后按A
4.回到窗口
screen -r [窗口名]
5. 关闭窗口
screen -S [窗口名] -X quit
四、seafile-server
1.启动
service mysql start
seaf-server -c /root/dev/conf -d /root/dev/seafile-data -D all -f -l - &
2.关闭
kill `ps -aux | grep seaf-server | sed -n 1p | awk '{print $2}'`
五、seahub
1.配置环境变量
cd ~/dev/source-code/seahub/
export PYTHonPATH=/usr/local/lib/python3.6/site-packages/:/root/dev/source-code/seahub/thirdpart:$PYTHonPATH
export PYTHonPATH=/root/dev/source-code:/root/dev/source-code/pro/python:$PYTHonPATH
export CCNET_CONF_DIR=/root/dev/conf
export SEAFILE_CONF_DIR=/root/dev/seafile-data
export SEAFILE_CENTRAL_CONF_DIR=/root/dev/conf
export SEAFES_DIR=/root/dev/source-code/pro/python/seafes
export SEAHUB_DIR=/root/dev/source-code/seahub
export SEAHUB_LOG_DIR=/root/dev/logs
2. 配置服务器
1.迁移数据库
python manage.py migrate
cd ../*_extra
mysql
然后在mysql终端里输入
use seahub;
source raw_table_sql.sql
2.创建超级用户
python manage.py createsuperuser
输入邮箱、密码即可。
3.启动
如果没创建seahub窗口,则创建seahub窗口:
screen -S seahub
然后在此窗口内:
cd /root/dev/source-code/seahub
python manage.py runserver 0.0.0.0:8000
最后回到主窗口。
此时seahub在seahub窗口内并发运行。(此操作可在最后进行)
六、seahub-frontend
1.npm编译
cd ~/dev/source-code/seahub/frontend
npm i core-js@2.6.9 -D
npm install
npm audit fix # 这步可省略
npm run-script build
cd ..
make clean
make dist
2.配置
vim /root/dev/conf/seahub_settings.py
然后在文件里添加如下内容:
import os
PROJECT_ROOT = '/root/dev/source-code/seahub'
WEBPACK_LOADER = {
'DEFAULT': {
'BUNDLE_DIR_NAME': 'frontend/',
'STATS_FILE': os.path.join(PROJECT_ROOT,
'frontend/webpack-stats.dev.json'),
}
}
DEBUG = True
3.启动
如果没创建frontend窗口,则创建frontend窗口:
screen -S frontend
然后在此窗口内:
cd /root/dev/source-code/seahub/frontend
npm run dev
最后回到主窗口。
此时seahub前端在frontend窗口内并发运行。(此操作可在最后进行)
七、seafevents
1.配置
cp /root/dev/source-code/pro/python/seafevents/main.py /root/dev/source-code/pro/python/seafevents/seafile_events.py
cat > /root/dev/source-code/pro/python/seafevents/run.sh << EOD
#!/bin/bash
# Your ccnet conf dir
export CCNET_CONF_DIR=/root/dev/conf
# Your seafile conf dir
export SEAFILE_CONF_DIR=/root/dev/seafile-data
# Your extra python path.
export PYTHonPATH=/usr/local/lib/python3.6/site-packages/:/root/dev/source-code/seahub/thirdpart:/root/dev/source-code:/root/dev/source-code/pro/python:/usr/local/lib/python3.6/site-packages/:/root/dev/source-code/seahub/thirdpart:
export PYTHonPATH=/root/dev/source-code:/root/dev/source-code/pro/python:/root/dev/source-code:/root/dev/source-code/pro/python:/usr/local/lib/python3.6/site-packages/:/root/dev/source-code/seahub/thirdpart:
pkill -f "python seafile_events.py"
python seafile_events.py --loglevel=info --logfile=/root/dev/logs/events.log --reconnect --config-file=/root/dev/conf/seafevents.conf
EOD
chmod +x /root/dev/source-code/pro/python/seafevents/run.sh
2.启动
如果没创建seafevents窗口,则创建seafevents窗口:
screen -S seafevents
然后在此窗口内:
cd /root/dev/source-code/pro/python/seafevents
./run.sh
最后回到主窗口。
此时周期事件脚本在seafevents窗口内并发运行。(此操作可在最后进行)
八、Elastic Search
1.安装Elastic Search
创建es用户:
groupadd es
useradd es -g es
passwd es
然后输入密码。接下来从proset中复制elastic search:
mkdir /home/es
cp -r /root/dev/source-code/pro/elasticsearch /home/es/
chown -R es /home/es
2.配置
cat > /root/dev/source-code/pro/python/seafes/run.sh <
3.启动
如果没创建seafes窗口,则创建seafes窗口:
screen -S seafes
然后在此窗口内:
1.切换至此用户:
su es
2.运行Elastic Search
cd /home/es/elasticsearch/bin
./elasticsearch
最后回到主窗口。
此时Elastic Search在es窗口内并发运行。(此操作可在最后进行)
九、seafdav
1.配置
vim /root/dev/source-code/seafdav/run.sh
然后输入:
#!/bin/bash
export CCNET_CONF_DIR=/root/dev/conf
export SEAFILE_CONF_DIR=/root/dev/seafile-data
export SEAFILE_CENTRAL_CONF_DIR=/root/dev/conf
export PYTHonPATH=/usr/local/lib/python3.6/site-packages/:/root/dev/source-code/seahub/thirdpart:$PYTHonPATH
export PYTHonPATH=/root/dev/source-code:/root/dev/source-code/pro/python:$CCNET_CONF_DIR:$PYTHonPATH
TOP_DIR=$(python -c "import os; print(os.path.dirname(os.path.realpath('$0')))")
cd "$TOP_DIR"
python -m wsgidav.server.server_cli --host=0.0.0.0 --port=8080 --root=/ --server=gunicorn
最后添加可执行权限
chmod +x /root/dev/source-code/seafdav/run.sh
2.启动
如果没创建seafdav窗口,则创建seafdav窗口:
screen -S seafdav
然后在此窗口内:
cd /root/dev/source-code/seafdav
./run.sh
最后回到主窗口。
此时DAV服务在seafdav窗口内并发运行。(此操作可在最后进行)
十、安装ClamAV
groupadd clamav
useradd -g clamav clamav
sudo apt-get install clamav clamav-freshclam
freshclam # 刷新病毒库,较慢,可暂时不用
结尾
推荐在此时启动上述所有需要启动的服务。
在确保seahub、frontend、seafevents、seafes、seafdav都启动在各自窗口后,可以打开火狐浏览器,输入localhost:8000进入网站进行测试。(用户名密码为此前设置的超级用户)
至此,本次项目的开发工作基本结束。配置过程比较麻烦,需要耐心学习下载。
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
7.创建配置文件
mkdir ~/dev/conf
cd ~/dev/conf
cat > ccnet.conf < seahub_settings.py < seafevents.conf < seafile.conf < seafdav.conf <
三、后台并发管理
1.安装screen
apt-get install screen
2.创建窗口
screen -S [窗口名]
3.不挂起地回到主窗口
Ctrl+D,然后按A
4.回到窗口
screen -r [窗口名]
5. 关闭窗口
screen -S [窗口名] -X quit
四、seafile-server
1.启动
service mysql start
seaf-server -c /root/dev/conf -d /root/dev/seafile-data -D all -f -l - &
2.关闭
kill `ps -aux | grep seaf-server | sed -n 1p | awk '{print $2}'`
五、seahub
1.配置环境变量
cd ~/dev/source-code/seahub/
export PYTHonPATH=/usr/local/lib/python3.6/site-packages/:/root/dev/source-code/seahub/thirdpart:$PYTHonPATH
export PYTHonPATH=/root/dev/source-code:/root/dev/source-code/pro/python:$PYTHonPATH
export CCNET_CONF_DIR=/root/dev/conf
export SEAFILE_CONF_DIR=/root/dev/seafile-data
export SEAFILE_CENTRAL_CONF_DIR=/root/dev/conf
export SEAFES_DIR=/root/dev/source-code/pro/python/seafes
export SEAHUB_DIR=/root/dev/source-code/seahub
export SEAHUB_LOG_DIR=/root/dev/logs
2. 配置服务器
1.迁移数据库
python manage.py migrate
cd ../*_extra
mysql
然后在mysql终端里输入
use seahub;
source raw_table_sql.sql
2.创建超级用户
python manage.py createsuperuser
输入邮箱、密码即可。
3.启动
如果没创建seahub窗口,则创建seahub窗口:
screen -S seahub
然后在此窗口内:
cd /root/dev/source-code/seahub
python manage.py runserver 0.0.0.0:8000
最后回到主窗口。
此时seahub在seahub窗口内并发运行。(此操作可在最后进行)
六、seahub-frontend
1.npm编译
cd ~/dev/source-code/seahub/frontend
npm i core-js@2.6.9 -D
npm install
npm audit fix # 这步可省略
npm run-script build
cd ..
make clean
make dist
2.配置
vim /root/dev/conf/seahub_settings.py
然后在文件里添加如下内容:
import os
PROJECT_ROOT = '/root/dev/source-code/seahub'
WEBPACK_LOADER = {
'DEFAULT': {
'BUNDLE_DIR_NAME': 'frontend/',
'STATS_FILE': os.path.join(PROJECT_ROOT,
'frontend/webpack-stats.dev.json'),
}
}
DEBUG = True
3.启动
如果没创建frontend窗口,则创建frontend窗口:
screen -S frontend
然后在此窗口内:
cd /root/dev/source-code/seahub/frontend
npm run dev
最后回到主窗口。
此时seahub前端在frontend窗口内并发运行。(此操作可在最后进行)
七、seafevents
1.配置
cp /root/dev/source-code/pro/python/seafevents/main.py /root/dev/source-code/pro/python/seafevents/seafile_events.py
cat > /root/dev/source-code/pro/python/seafevents/run.sh << EOD
#!/bin/bash
# Your ccnet conf dir
export CCNET_CONF_DIR=/root/dev/conf
# Your seafile conf dir
export SEAFILE_CONF_DIR=/root/dev/seafile-data
# Your extra python path.
export PYTHonPATH=/usr/local/lib/python3.6/site-packages/:/root/dev/source-code/seahub/thirdpart:/root/dev/source-code:/root/dev/source-code/pro/python:/usr/local/lib/python3.6/site-packages/:/root/dev/source-code/seahub/thirdpart:
export PYTHonPATH=/root/dev/source-code:/root/dev/source-code/pro/python:/root/dev/source-code:/root/dev/source-code/pro/python:/usr/local/lib/python3.6/site-packages/:/root/dev/source-code/seahub/thirdpart:
pkill -f "python seafile_events.py"
python seafile_events.py --loglevel=info --logfile=/root/dev/logs/events.log --reconnect --config-file=/root/dev/conf/seafevents.conf
EOD
chmod +x /root/dev/source-code/pro/python/seafevents/run.sh
2.启动
如果没创建seafevents窗口,则创建seafevents窗口:
screen -S seafevents
然后在此窗口内:
cd /root/dev/source-code/pro/python/seafevents
./run.sh
最后回到主窗口。
此时周期事件脚本在seafevents窗口内并发运行。(此操作可在最后进行)
八、Elastic Search
1.安装Elastic Search
创建es用户:
groupadd es
useradd es -g es
passwd es
然后输入密码。接下来从proset中复制elastic search:
mkdir /home/es
cp -r /root/dev/source-code/pro/elasticsearch /home/es/
chown -R es /home/es
2.配置
cat > /root/dev/source-code/pro/python/seafes/run.sh <
3.启动
如果没创建seafes窗口,则创建seafes窗口:
screen -S seafes
然后在此窗口内:
1.切换至此用户:
su es
2.运行Elastic Search
cd /home/es/elasticsearch/bin
./elasticsearch
最后回到主窗口。
此时Elastic Search在es窗口内并发运行。(此操作可在最后进行)
九、seafdav
1.配置
vim /root/dev/source-code/seafdav/run.sh
然后输入:
#!/bin/bash
export CCNET_CONF_DIR=/root/dev/conf
export SEAFILE_CONF_DIR=/root/dev/seafile-data
export SEAFILE_CENTRAL_CONF_DIR=/root/dev/conf
export PYTHonPATH=/usr/local/lib/python3.6/site-packages/:/root/dev/source-code/seahub/thirdpart:$PYTHonPATH
export PYTHonPATH=/root/dev/source-code:/root/dev/source-code/pro/python:$CCNET_CONF_DIR:$PYTHonPATH
TOP_DIR=$(python -c "import os; print(os.path.dirname(os.path.realpath('$0')))")
cd "$TOP_DIR"
python -m wsgidav.server.server_cli --host=0.0.0.0 --port=8080 --root=/ --server=gunicorn
最后添加可执行权限
chmod +x /root/dev/source-code/seafdav/run.sh
2.启动
如果没创建seafdav窗口,则创建seafdav窗口:
screen -S seafdav
然后在此窗口内:
cd /root/dev/source-code/seafdav
./run.sh
最后回到主窗口。
此时DAV服务在seafdav窗口内并发运行。(此操作可在最后进行)
十、安装ClamAV
groupadd clamav
useradd -g clamav clamav
sudo apt-get install clamav clamav-freshclam
freshclam # 刷新病毒库,较慢,可暂时不用
结尾
推荐在此时启动上述所有需要启动的服务。
在确保seahub、frontend、seafevents、seafes、seafdav都启动在各自窗口后,可以打开火狐浏览器,输入localhost:8000进入网站进行测试。(用户名密码为此前设置的超级用户)
至此,本次项目的开发工作基本结束。配置过程比较麻烦,需要耐心学习下载。
三、后台并发管理
1.安装screen
apt-get install screen
2.创建窗口
screen -S [窗口名]
3.不挂起地回到主窗口
Ctrl+D,然后按A
4.回到窗口
screen -r [窗口名]
5. 关闭窗口
screen -S [窗口名] -X quit
四、seafile-server
1.启动
service mysql start
seaf-server -c /root/dev/conf -d /root/dev/seafile-data -D all -f -l - &
2.关闭
kill `ps -aux | grep seaf-server | sed -n 1p | awk '{print $2}'`
五、seahub
1.配置环境变量
cd ~/dev/source-code/seahub/
export PYTHonPATH=/usr/local/lib/python3.6/site-packages/:/root/dev/source-code/seahub/thirdpart:$PYTHonPATH
export PYTHonPATH=/root/dev/source-code:/root/dev/source-code/pro/python:$PYTHonPATH
export CCNET_CONF_DIR=/root/dev/conf
export SEAFILE_CONF_DIR=/root/dev/seafile-data
export SEAFILE_CENTRAL_CONF_DIR=/root/dev/conf
export SEAFES_DIR=/root/dev/source-code/pro/python/seafes
export SEAHUB_DIR=/root/dev/source-code/seahub
export SEAHUB_LOG_DIR=/root/dev/logs
2. 配置服务器
apt-get install screen
2.创建窗口
screen -S [窗口名]
3.不挂起地回到主窗口
Ctrl+D,然后按A
4.回到窗口
screen -r [窗口名]
5. 关闭窗口
screen -S [窗口名] -X quit
四、seafile-server
1.启动
service mysql start
seaf-server -c /root/dev/conf -d /root/dev/seafile-data -D all -f -l - &
2.关闭
kill `ps -aux | grep seaf-server | sed -n 1p | awk '{print $2}'`
五、seahub
1.配置环境变量
cd ~/dev/source-code/seahub/
export PYTHonPATH=/usr/local/lib/python3.6/site-packages/:/root/dev/source-code/seahub/thirdpart:$PYTHonPATH
export PYTHonPATH=/root/dev/source-code:/root/dev/source-code/pro/python:$PYTHonPATH
export CCNET_CONF_DIR=/root/dev/conf
export SEAFILE_CONF_DIR=/root/dev/seafile-data
export SEAFILE_CENTRAL_CONF_DIR=/root/dev/conf
export SEAFES_DIR=/root/dev/source-code/pro/python/seafes
export SEAHUB_DIR=/root/dev/source-code/seahub
export SEAHUB_LOG_DIR=/root/dev/logs
2. 配置服务器
Ctrl+D,然后按A
4.回到窗口
screen -r [窗口名]
5. 关闭窗口
screen -S [窗口名] -X quit
四、seafile-server
1.启动
service mysql start
seaf-server -c /root/dev/conf -d /root/dev/seafile-data -D all -f -l - &
2.关闭
kill `ps -aux | grep seaf-server | sed -n 1p | awk '{print $2}'`
五、seahub
1.配置环境变量
cd ~/dev/source-code/seahub/
export PYTHonPATH=/usr/local/lib/python3.6/site-packages/:/root/dev/source-code/seahub/thirdpart:$PYTHonPATH
export PYTHonPATH=/root/dev/source-code:/root/dev/source-code/pro/python:$PYTHonPATH
export CCNET_CONF_DIR=/root/dev/conf
export SEAFILE_CONF_DIR=/root/dev/seafile-data
export SEAFILE_CENTRAL_CONF_DIR=/root/dev/conf
export SEAFES_DIR=/root/dev/source-code/pro/python/seafes
export SEAHUB_DIR=/root/dev/source-code/seahub
export SEAHUB_LOG_DIR=/root/dev/logs
2. 配置服务器
screen -S [窗口名] -X quit
四、seafile-server
1.启动
service mysql start
seaf-server -c /root/dev/conf -d /root/dev/seafile-data -D all -f -l - &
2.关闭
kill `ps -aux | grep seaf-server | sed -n 1p | awk '{print $2}'`
五、seahub
1.配置环境变量
cd ~/dev/source-code/seahub/
export PYTHonPATH=/usr/local/lib/python3.6/site-packages/:/root/dev/source-code/seahub/thirdpart:$PYTHonPATH
export PYTHonPATH=/root/dev/source-code:/root/dev/source-code/pro/python:$PYTHonPATH
export CCNET_CONF_DIR=/root/dev/conf
export SEAFILE_CONF_DIR=/root/dev/seafile-data
export SEAFILE_CENTRAL_CONF_DIR=/root/dev/conf
export SEAFES_DIR=/root/dev/source-code/pro/python/seafes
export SEAHUB_DIR=/root/dev/source-code/seahub
export SEAHUB_LOG_DIR=/root/dev/logs
2. 配置服务器
service mysql start seaf-server -c /root/dev/conf -d /root/dev/seafile-data -D all -f -l - &
2.关闭
kill `ps -aux | grep seaf-server | sed -n 1p | awk '{print $2}'`
五、seahub
1.配置环境变量
cd ~/dev/source-code/seahub/
export PYTHonPATH=/usr/local/lib/python3.6/site-packages/:/root/dev/source-code/seahub/thirdpart:$PYTHonPATH
export PYTHonPATH=/root/dev/source-code:/root/dev/source-code/pro/python:$PYTHonPATH
export CCNET_CONF_DIR=/root/dev/conf
export SEAFILE_CONF_DIR=/root/dev/seafile-data
export SEAFILE_CENTRAL_CONF_DIR=/root/dev/conf
export SEAFES_DIR=/root/dev/source-code/pro/python/seafes
export SEAHUB_DIR=/root/dev/source-code/seahub
export SEAHUB_LOG_DIR=/root/dev/logs
2. 配置服务器
1.配置环境变量
cd ~/dev/source-code/seahub/
export PYTHonPATH=/usr/local/lib/python3.6/site-packages/:/root/dev/source-code/seahub/thirdpart:$PYTHonPATH
export PYTHonPATH=/root/dev/source-code:/root/dev/source-code/pro/python:$PYTHonPATH
export CCNET_CONF_DIR=/root/dev/conf
export SEAFILE_CONF_DIR=/root/dev/seafile-data
export SEAFILE_CENTRAL_CONF_DIR=/root/dev/conf
export SEAFES_DIR=/root/dev/source-code/pro/python/seafes
export SEAHUB_DIR=/root/dev/source-code/seahub
export SEAHUB_LOG_DIR=/root/dev/logs
2. 配置服务器
1.迁移数据库
python manage.py migrate cd ../*_extra mysql
然后在mysql终端里输入
use seahub; source raw_table_sql.sql
2.创建超级用户
python manage.py createsuperuser
输入邮箱、密码即可。
3.启动
如果没创建seahub窗口,则创建seahub窗口:
screen -S seahub
然后在此窗口内:
cd /root/dev/source-code/seahub python manage.py runserver 0.0.0.0:8000
最后回到主窗口。
此时seahub在seahub窗口内并发运行。(此操作可在最后进行)
六、seahub-frontend
1.npm编译
cd ~/dev/source-code/seahub/frontend
npm i core-js@2.6.9 -D
npm install
npm audit fix # 这步可省略
npm run-script build
cd ..
make clean
make dist
2.配置
vim /root/dev/conf/seahub_settings.py
cd ~/dev/source-code/seahub/frontend npm i core-js@2.6.9 -D npm install npm audit fix # 这步可省略 npm run-script build cd .. make clean make dist
2.配置
vim /root/dev/conf/seahub_settings.py
然后在文件里添加如下内容:
import os
PROJECT_ROOT = '/root/dev/source-code/seahub'
WEBPACK_LOADER = {
'DEFAULT': {
'BUNDLE_DIR_NAME': 'frontend/',
'STATS_FILE': os.path.join(PROJECT_ROOT,
'frontend/webpack-stats.dev.json'),
}
}
DEBUG = True
3.启动
如果没创建frontend窗口,则创建frontend窗口:
screen -S frontend
然后在此窗口内:
cd /root/dev/source-code/seahub/frontend npm run dev
最后回到主窗口。
此时seahub前端在frontend窗口内并发运行。(此操作可在最后进行)
七、seafevents
1.配置
cp /root/dev/source-code/pro/python/seafevents/main.py /root/dev/source-code/pro/python/seafevents/seafile_events.py
cat > /root/dev/source-code/pro/python/seafevents/run.sh << EOD
#!/bin/bash
# Your ccnet conf dir
export CCNET_CONF_DIR=/root/dev/conf
# Your seafile conf dir
export SEAFILE_CONF_DIR=/root/dev/seafile-data
# Your extra python path.
export PYTHonPATH=/usr/local/lib/python3.6/site-packages/:/root/dev/source-code/seahub/thirdpart:/root/dev/source-code:/root/dev/source-code/pro/python:/usr/local/lib/python3.6/site-packages/:/root/dev/source-code/seahub/thirdpart:
export PYTHonPATH=/root/dev/source-code:/root/dev/source-code/pro/python:/root/dev/source-code:/root/dev/source-code/pro/python:/usr/local/lib/python3.6/site-packages/:/root/dev/source-code/seahub/thirdpart:
pkill -f "python seafile_events.py"
python seafile_events.py --loglevel=info --logfile=/root/dev/logs/events.log --reconnect --config-file=/root/dev/conf/seafevents.conf
EOD
chmod +x /root/dev/source-code/pro/python/seafevents/run.sh
2.启动
cp /root/dev/source-code/pro/python/seafevents/main.py /root/dev/source-code/pro/python/seafevents/seafile_events.py cat > /root/dev/source-code/pro/python/seafevents/run.sh << EOD #!/bin/bash # Your ccnet conf dir export CCNET_CONF_DIR=/root/dev/conf # Your seafile conf dir export SEAFILE_CONF_DIR=/root/dev/seafile-data # Your extra python path. export PYTHonPATH=/usr/local/lib/python3.6/site-packages/:/root/dev/source-code/seahub/thirdpart:/root/dev/source-code:/root/dev/source-code/pro/python:/usr/local/lib/python3.6/site-packages/:/root/dev/source-code/seahub/thirdpart: export PYTHonPATH=/root/dev/source-code:/root/dev/source-code/pro/python:/root/dev/source-code:/root/dev/source-code/pro/python:/usr/local/lib/python3.6/site-packages/:/root/dev/source-code/seahub/thirdpart: pkill -f "python seafile_events.py" python seafile_events.py --loglevel=info --logfile=/root/dev/logs/events.log --reconnect --config-file=/root/dev/conf/seafevents.conf EOD chmod +x /root/dev/source-code/pro/python/seafevents/run.sh
2.启动
如果没创建seafevents窗口,则创建seafevents窗口:
screen -S seafevents
然后在此窗口内:
cd /root/dev/source-code/pro/python/seafevents ./run.sh
最后回到主窗口。
此时周期事件脚本在seafevents窗口内并发运行。(此操作可在最后进行)
八、Elastic Search
1.安装Elastic Search
创建es用户:
groupadd es useradd es -g es passwd es
然后输入密码。接下来从proset中复制elastic search:
mkdir /home/es cp -r /root/dev/source-code/pro/elasticsearch /home/es/ chown -R es /home/es
2.配置
cat > /root/dev/source-code/pro/python/seafes/run.sh <
3.启动
如果没创建seafes窗口,则创建seafes窗口:
screen -S seafes
然后在此窗口内:
1.切换至此用户:
su es
2.运行Elastic Search
cd /home/es/elasticsearch/bin
./elasticsearch
最后回到主窗口。
此时Elastic Search在es窗口内并发运行。(此操作可在最后进行)
九、seafdav
1.配置
vim /root/dev/source-code/seafdav/run.sh
然后输入:
#!/bin/bash
export CCNET_CONF_DIR=/root/dev/conf
export SEAFILE_CONF_DIR=/root/dev/seafile-data
export SEAFILE_CENTRAL_CONF_DIR=/root/dev/conf
export PYTHonPATH=/usr/local/lib/python3.6/site-packages/:/root/dev/source-code/seahub/thirdpart:$PYTHonPATH
export PYTHonPATH=/root/dev/source-code:/root/dev/source-code/pro/python:$CCNET_CONF_DIR:$PYTHonPATH
TOP_DIR=$(python -c "import os; print(os.path.dirname(os.path.realpath('$0')))")
cd "$TOP_DIR"
python -m wsgidav.server.server_cli --host=0.0.0.0 --port=8080 --root=/ --server=gunicorn
最后添加可执行权限
chmod +x /root/dev/source-code/seafdav/run.sh
2.启动
如果没创建seafdav窗口,则创建seafdav窗口:
screen -S seafdav
然后在此窗口内:
cd /root/dev/source-code/seafdav
./run.sh
最后回到主窗口。
此时DAV服务在seafdav窗口内并发运行。(此操作可在最后进行)
十、安装ClamAV
groupadd clamav
useradd -g clamav clamav
sudo apt-get install clamav clamav-freshclam
freshclam # 刷新病毒库,较慢,可暂时不用
结尾
推荐在此时启动上述所有需要启动的服务。
在确保seahub、frontend、seafevents、seafes、seafdav都启动在各自窗口后,可以打开火狐浏览器,输入localhost:8000进入网站进行测试。(用户名密码为此前设置的超级用户)
至此,本次项目的开发工作基本结束。配置过程比较麻烦,需要耐心学习下载。
如果没创建seafes窗口,则创建seafes窗口:
screen -S seafes
然后在此窗口内:
1.切换至此用户:
su es
2.运行Elastic Search
cd /home/es/elasticsearch/bin ./elasticsearch
最后回到主窗口。
此时Elastic Search在es窗口内并发运行。(此操作可在最后进行)
九、seafdav
1.配置
vim /root/dev/source-code/seafdav/run.sh
然后输入:
#!/bin/bash
export CCNET_CONF_DIR=/root/dev/conf
export SEAFILE_CONF_DIR=/root/dev/seafile-data
export SEAFILE_CENTRAL_CONF_DIR=/root/dev/conf
export PYTHonPATH=/usr/local/lib/python3.6/site-packages/:/root/dev/source-code/seahub/thirdpart:$PYTHonPATH
export PYTHonPATH=/root/dev/source-code:/root/dev/source-code/pro/python:$CCNET_CONF_DIR:$PYTHonPATH
TOP_DIR=$(python -c "import os; print(os.path.dirname(os.path.realpath('$0')))")
cd "$TOP_DIR"
python -m wsgidav.server.server_cli --host=0.0.0.0 --port=8080 --root=/ --server=gunicorn
最后添加可执行权限
chmod +x /root/dev/source-code/seafdav/run.sh2.启动
如果没创建seafdav窗口,则创建seafdav窗口:
screen -S seafdav
然后在此窗口内:
cd /root/dev/source-code/seafdav ./run.sh
最后回到主窗口。
此时DAV服务在seafdav窗口内并发运行。(此操作可在最后进行)
十、安装ClamAV
groupadd clamav
useradd -g clamav clamav
sudo apt-get install clamav clamav-freshclam
freshclam # 刷新病毒库,较慢,可暂时不用
结尾
结尾
推荐在此时启动上述所有需要启动的服务。
在确保seahub、frontend、seafevents、seafes、seafdav都启动在各自窗口后,可以打开火狐浏览器,输入localhost:8000进入网站进行测试。(用户名密码为此前设置的超级用户)
至此,本次项目的开发工作基本结束。配置过程比较麻烦,需要耐心学习下载。



