Seafile 云盘 ubuntu系统搭建教程

一.目录

    1·环境安装

    2·mysql配置

    3·seafile配置

    4·seafile开机自启动配置

二.步骤

1·环境安装

  • 安装 Seafile 服务器之前,请确认已安装以下软件
  • MariaDB 服务器 (MariaDB 是 MySQL 的分支)
  • python 2.7 (从 Seafile 5.1 开始,python 版本最低要求为2.7)
  • python-setuptools
  • python-imaging
  • python-mysqldb
  • python-ldap
  • python-urllib3
  • python-memcache (或者 python-memcached)

ubuntu命令

apt-get update
apt-get install mariadb-server
apt-get install python2.7 python-setuptools python-imaging python-ldap python-mysqldb python-memcache python-urllib3

2·mysql配置

初次安装mysql要去设置密码,这样在配置seafile的时候才能登陆进去,才不会报错,并且新建一个用户seafile,因为seafile会用到。

1.登陆mysql

sudo mysql -u root -p

2.查看user表

select user, plugin from mysql.user;

发现root的plugin并不是mysql_native_password

3.修改密码(admin就是要改的密码)

update mysql.user set authentication_string=PASSWORD('admin'), plugin='mysql_native_password' where user='root';

4.刷新

flush privileges;

5.新建seafile用户

 insert into mysql.user(Host,User,Password) values("%","seafile",password("admin"));

6.刷新、退出

flush privileges;

exit

 3·seafile配置

seafile下载 地址

创建文件夹

sudo mkdir /home/seafile

将压缩包解压到home目录下的seafile文件夹里面,这里的seafile-pro-server_*是你的压缩包名字,根据自己的来打

tar -xzvf seafile-pro-server_*

进入解压后的文件夹

cd seafile-pro-server*

执行

./setup-seafile-mysql.sh

配置Seafile的各项参数:

参数 作用 说明

seafile服务器名称

seafile服务器的名字,目前该配置已经不再使用

3~15个字符,可以用英文字母,数字,下划线

seafile服务器ip或域

seafile服务器的IP地址或者域名

客户端将通过这个IP或者地址来访问你的Seafile服务

seafile数据目录

seafile数据存放的目录,用上面的例子,默认将是/ data / haiwen / seafile-data

seafile数据将随着使用而逐渐增加,请把它放在一个有足够大空闲空间的分区上

seafile文件服务器端口

seafile fileserver使用的TCP端口

该端口用于文件同步,请使用默认的8082,不能更改。

 

在这里,你会被要求选择一种创建Seafile数据库的方式:

-------------------------------------------------------
Please choose a way to initialize seafile databases:
-------------------------------------------------------

[1] Create new ccnet/seafile/seahub databases
[2] Use existing ccnet/seafile/seahub databases
  • 如果选择1,你需要提供根密码。脚本程序会创建数据库和用户。
  • 如果选择2,ccnet / seafile / seahub数据库应该已经被你(或者其他人)提前创建。

如果安装正确完成,你会看到下面这样的输出(新版本可能会有所不同)

启动 Seafile 服务器和 Seahub 网站

启动Seafile服务器

./seafile.sh start # 启动 Seafile 服务

 启动Seahub

./seahub.sh start <port>  # 启动 Seahub 网站 (默认运行在8000端口上)

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

登录网盘

在浏览器输入你的 ip地址 例如:192.168.0.103:8000,ip地址根据你的电脑和设置的seafile而定

输入刚刚提示你创建的 seafile 管理员帐号以登录

 

(1)·这里如果出现错误,或之前执行过这个配置但是没有配置成功的话

解决方法:

删除mysql数据库的seafile-db  seahub-db ccnet-db这几个数据库

mysql -u root -p

drop database `seafile-db`;

drop database `seahub-db`;

drop database `ccnet-db`;

exit;

将你的安装目录下的文件全部删了,重新解压出来再运行

 

将你的安装目录下的文件全部都给上可读可写权限

sudo chmod -R a+rw /home/seafile

(2)·出现错误

·ERROR 1698 (28000): Access denied for user 'root'@'localhost'

这个问题是因为你的mysql用户密码没设置 导致进不去,回到第二大步更改mysql密码即可

4·seafile开机自启动配置

创建systemd服务文件 

(1)创建seafile服务文件

sudo vim /etc/systemd/system/seafile.service

将以下示例中$ {seafile_dir}替换为您自己的seaile安装路径,并且将用户指向真正运行seafile的用户

你安装seafile配置的时候的用户是什么,就填什么,我的是ubuntu

文件内容如下:

[Unit]
Description=Seafile
# add mysql.service or postgresql.service depending on your database to the line below
After=network.target

[Service]
Type=oneshot
RemainAfterExit=yes

ExecStartPre=/bin/sleep 1

ExecStart=${seafile_dir}/seafile-server-latest/seafile.sh start
ExecStop=${seafile_dir}/seafile-server-latest/seafile.sh stop

User=ubuntu
Group=ubuntu

[Install]
WantedBy=multi-user.target


(1)创建seahub服务文件

sudo vim /etc/systemd/system/seafile.service

文件内容如下:

[Unit]
Description=Seafile hub
After=network.target seafile.service

[Service]
RemainAfterExit=yes

ExecStart=${seafile_dir}/seafile-server-latest/seahub.sh start
ExecStop=${seafile_dir}/seafile-server-latest/seahub.sh stop

User=ubuntu
Group=ubuntu



[Install]
WantedBy=multi-user.target

设置服务开机自启动

sudo systemctl enable seafile.service
sudo systemctl enable seahub.service

这里可以试一试服务是否能启动成功

sudo systemctl start seafile.service

查看服务是否成功

sudo systemctl status seafile.service

是绿色就没问题

如果红色或白色的圆点 ,不成功,请查看你的服务代码路径是否有问题。

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章