龙空技术网

VM脚本部署Ubuntu+SeafilePro v8

Wins5188 86

前言:

如今同学们对“ubuntu中v脚本怎么运行”都比较珍视,姐妹们都需要分析一些“ubuntu中v脚本怎么运行”的相关资讯。那么小编同时在网上汇集了一些对于“ubuntu中v脚本怎么运行””的相关知识,希望看官们能喜欢,同学们一起来了解一下吧!

准备环境

操作系统:Ubuntu server 20.04

应用服务器:Seafile v8.0

安装方式:VM下脚本安装,网络配置为NAT模式

安装说明:一键安装脚本可以快速在Ubuntu 18.04/20.04系统上安装和部署Seafile服务器,并配置好MariaDB、Memcached、WebDAV、Ngnix和开机自动启动脚本。

注意事项:Seafile server分为社区版和专业版,社区版存在很多限制,建议安装专业版;

下载脚本和安装包

1、下载Seafile server安装脚本

下载脚本:# wget

Github脚本下载:

注意!下载非常慢,多试几次就行;或使用网页打开直接复制脚本代码,保存为install.sh文件;

2、下载专业版Seafile Pro Server安装包

官方下载Seafile_pro系列版本列表:

官方下载Seafile各种类型的版本(包括APP):

注意!此页面若为中文界面,则不提供专业版下载链接;可以在此页面上修改为英文界面,在最下面提供专业版下载链接;

3、下载LibreOffice软件包

官方下载链接:

注意!尽量选择LibreOffice稳定版本;

基础环境安装

注意!在2022年7月15日,由python3安装依赖时,ubuntu官方现在并没有适配ubuntu22.04的依赖,如果想用ubuntu22.04只能手动找那些依赖去装。因此建议使用ubuntu20.04,会减少很多麻烦。

配置软件源:建议使用华为、阿里、清华软件库

安装基础工具:# sudo apt install sudo curl vim wget -y

更新和升级软件库:# sudo apt update && sudo apt upgrade -y

检查升级的软件包:# sudo apt list --upgradable

安装openssh server:# sudo apt-get install openssh-server

配置openssh server:# vi etc/ssh/ssh_config

启用SSH服务:# sudo systemctl enable --now ssh

启用SSH跟随系统启动:# sudo systemctl enable ssh

检查SSH服务运行状态:# sudo systemctl status ssh

停止SSH服务:# sudo systemctl stop ssh

启动SSH服务:# sudo systemctl start ssh

允许SSH通过防火墙:# sudo ufw allow ssh

查看旧libreoffice安装包和版本:# dpkg -l |grep -i “libreoffice”

卸载随机安装的LibreOffice旧版本:# sudo apt-get remove --purge libreoffice*

安装字体文件:# sudo apt install ttf-wqy-microhei ttf-wqy-zenhei xfonts-wqy -y

部署Python3支持工具包

# apt-get update

# apt-get install python3 python3-setuptools python3-pip python3-ldap libmysqlclient-dev -y

# pip3 install --timeout=3600 django==2.2.* future mysqlclient pymysql Pillow pylibmc captcha markupsafe==2.0.1 jinja2 sqlalchemy==1.4.3 psd-tools django-pylibmc django-simple-captcha

部署Seafile

将脚本和安装包接放在/opt下,并修改安装包名称,运行如下命令行:

# mv /tmp/seafile-pro-server_8.0.14_x86-64_CentOS.tar /opt/seafile-pro-server_8.0.0_x86-64.tar.gz

# cp seafile-8.0_ubuntu install.sh

# bash install.sh 8.0.14

注意!

1)基于ubuntu使用脚本安装seafile server,会因为bash install.sh脚本语法错误而失败。为避免bash install.sh脚本执行失败,可以编辑脚本文件# vim install.sh,在编辑模式下执行“: set ff=unix”,将文件设置为unix格式,然后保存“:wq!”;

2)执行脚本安装前,需要修改安装包名称seafile-pro-server_8.0.14_x86-64_CentOS.tar改名为:seafile-pro-server_8.0.14_x86-64.tar.gz;

3)脚本会让您选择要安装的版本, 按照提示进行选择“2”(专业版)即可;

2)无论安装开源版(社区版)或专业版,均需要把安装包seafile-pro-server_8.0.0_x86-64.tar.gz 放到 /opt/ 目录下;

安装Office

安装LibreOffice:# tar zxvf LibreOffice_7.1.8_Linux_x86-64_deb.tar.gz

安装主程序的所有deb包:# sudo dpkg -i ./LibreOffice_X.Y.Z_Linux_x86_deb/DEBS/*.deb

打开 conf/seafevents.conf,添加:

[OFFICE CONVERTER]

enabled = true

host = 127.0.0.1

port = 6000

outputdir = /tmp/

max-pages = 800 #默认最大允许预览50页,可以自行修改

max-size = 2 #默认文件超过2m就不可以被预览,可以自行修改

打开conf/seahub_settings.py,添加:

OFFICE_CONVERTOR_ROOT = ';

与seafevents.conf中的host和port保持一致,保存seafevents.conf与seahub_settings.py后,重启Seafile/seahub服务;

管理Seafile

1、管理员和数据库密码获取

脚本运行完后,会在命令行中打印配置信息和管理员账号密码,请仔细阅读;也可以查看安装日志/opt/seafile/aio_seafile-server.log。

MySQL 的 root 用户密码存储在 /root/.my.cnf 中;

MySQL 的 seafile 用户密码存储在 /opt/seafile.my.cnf 中;

2、启动Seafile服务

在seafile-pro-server-8.0.14目录下,运行如下命令(运行之前需要切换seafile账户):

切换seafile用户:# su seafile

启动或暂停Seafile服务:# ./seafile.sh start/stop

启动或暂停Seahub网站 :# ./seahub.sh start/stop

查看seafile服务:# ps -ef | grep seafile

检查seafile进程是否在运行:# pgrep -f seafile-controller

检查seahub进程是否在运行:# pgrep -f "seahub"

注意!

1)第一次启动 seahub 时,seahub.sh 脚本会提示你创建一个 seafile 管理员帐号;

2)7.0.x 版本之后,8000端口默认监听在127.0.0.1地址上,这意味着您无法直接通过8000端口访问Seafile服务。建议配置nginx反向代理(在下面)。

3、初始化服务器

安装完成后,需要通过Web UI模式进行基本的配置,以便能正常的从网页端进行文件的上传和下载。在浏览器中输入服务器的地址,并用管理员账号和初始密码登录,打开System Admin---Settings配置URL,填写正确的服务器对外域名或IP地址,如下:

SERVICE_URL:http://你的seafile服务器的IP地址:8000/

FILE_SERVER_ROOT:http://你的seafile服务器的IP地址/seafhttp

注意!

1)SERVICE_URL和FILE_SERVER_ROOT设置为VM的IP地址,仅本地主机能够上传和下载;

2)若要LAN中其它主机能够上传和下载,请在VMware上设置转发端口,并在本地主机的防火墙上打开转发的端口,然后在Seafile的URL中修改为本地主机IP地址,这样其它主机就能够上传和下载了。

4、修改seahub默认端口

注意!6.3.0版本之后的使用这种方法;

修改/opt/seafile/conf/gunicorn.conf.py中的端口,来指定seahub启动端口;

# vi /opt/seafile/conf/gunicorn.conf.py

import os

daemon = True

workers = 5

# default localhost:8000

bind = "127.0.0.1:8000" #修改此端口来指定seahub启动端口

# Pid

pids_dir = '/opt/seafile/pids'

pidfile = os.path.join(pids_dir, 'seahub.pid')

# for file upload, we need a longer timeout value (default is only 30s, too short)

timeout = 1200

limit_request_line = 8190

3)重启seafile服务器

重启/关闭seafile和seahub服务

# cd /opt/seafile/seafile-pro-server-8.0.14

# su seafile

# ./seafile.sh restart

# ./seahub.sh restart

5、java占满内存优化

1)因为elasticsearch的原因,默认会给jvm配置较大缓存,如果没有使用到elasticsearch,可以设置较大的内存或关闭设置项;

2)修改/opt/seafile/seafile-server-latest/pro/elasticsearch/config/jvm.options 第22行:-Xms1g 改成-Xms512m或者-Xms128m,这个是限制jvm启动时所占用的内存大小的(可以根据自己的设备性能进行调整)。

6、调整seafile缓存

# vi /etc/memcached.conf

# memory

#-m 64

-m 128

7、删除和重建elasticsearch索引

# ./pro/pro.py search --clear

# ./pro/pro.py search --update

8、配置上传、下载

# vi /opt/seafile/conf/seafile.conf

[fileserver]

#允许所有文件上传、下载 token 被多次访问。

# 默认下载的 token 不允许多次访问,这造成了对一些移动端浏览器的不兼容。

web_token_reusable = false

# 上传文件最大限制为200M,若设置为5000M,则限制最多上传文件数量为1000个。默认是无限制,因此可以不设置此项;

max_upload_size=200

max_download_dir_size=200

9、web文件断点续传(没有就添加)

#vi seahub_settings.py

ENABLE_RESUMABLE_FILEUPLOAD = True

10、配置反向代理

# vi /etc/nginx/sites-available/seafile.conf #没有,就新建一个配置文件

log_format seafileformat '$http_x_forwarded_for $remote_addr [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent" $upstream_response_time';

server {

listen 80;

server_name seafile.example.com;

proxy_set_header X-Forwarded-For $remote_addr;

location / {

proxy_pass ;

proxy_set_header Host $host;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_set_header X-Forwarded-Host $server_name;

proxy_set_header X-Forwarded-Proto $scheme;

proxy_read_timeout 1200s;

# used for view/edit office file via Office Online Server

client_max_body_size 0;

access_log /var/log/nginx/seahub.access.log seafileformat;

error_log /var/log/nginx/seahub.error.log;

}

location /seafhttp {

rewrite ^/seafhttp(.*)$ $1 break;

proxy_pass ;

client_max_body_size 0;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_connect_timeout 36000s;

proxy_read_timeout 36000s;

access_log /var/log/nginx/seafhttp.access.log seafileformat;

error_log /var/log/nginx/seafhttp.error.log;

}

location /media {

root /opt/seafile/seafile-server-latest/seahub;

}

location /seafdav {

proxy_pass ;

proxy_set_header Host $host;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_set_header X-Forwarded-Host $server_name;

proxy_set_header X-Forwarded-Proto $scheme;

proxy_read_timeout 1200s;

client_max_body_size 0;

access_log /var/log/nginx/seafdav.access.log seafileformat;

error_log /var/log/nginx/seafdav.error.log;

}

}

标签: #ubuntu中v脚本怎么运行 #pythonpyv8安装 #ubuntuwebdav