五步架设专属于你的Seafile云服务器

五步架设专属于你的Seafile云服务器

译文
作者:布加迪编译 2015-08-24 09:17:58

云计算 如果你并不信赖第三方云提供商,并且会持续有一些事加强你的不信任,那么本文将提供一种开源的私有云服务器方案。下面让我们一起了解将Seafile安装到服务器上的具体步骤。

如今,云计算是热门词汇;大家都在纷纷向云迁移,哪怕大多数人甚至不知道云的实际含义。在我看来,云是个虚幻的地方,处理和存储我的数据;在此过程中,将我从存储数据的某一个设备解放出来。有了“云”,我就可以从任何联网的设备访问自己的数据。

实际上发生的是,我的数据从本地机器转移到了远程机器或者远程机器集群,数据就在那些机器进行存储和处理。

数据的这种“转移”显著改变了情况。如果我并不“拥有”那些远程机器,拥有远程机器的人也就成了我数据的“共同拥有者”。“共同拥有者”可以扫描我的私密数据,查看它有没有侵犯任何版权,可能因众多说不清道不明的原因,阻止我访问自己的数据。

过去曾发生了一起事件,微软在某用户的秘密文件夹中发现了一些令人不快的内容后,据说该公司阻止这个用户访问其自己的数据。我想知道微软在私有文件夹中做了什么?

问题是,我并不信赖第三方云提供商,诸如此类的事件进一步加强了我不信任它们的观念。

这就是为何我把自己的所有私密数据放在由我本人运行和控制的云上。我用过几种开源文件同步和存储解决方案,包括ownCloud,最近日渐了解了Seafile,它很快成了我的心头好。

几周前,我将Seafile安装到服务器上,让它成为了我的主要云。既然开源的宗旨在于分享,我就分享一下将Seafile安装到服务器上的具体步骤。

我的服务器

我在虚拟专用服务器(VPS)上运行Seafile,该服务器运行的操作系统是全面打上补丁的Ubuntu 14.04。所以给自己弄一台Ubuntu或Debian机器,不妨开始上手。

***步:安装和保护MariaDB

我并不使用MySQL,强烈建议使用MariaDB。为了将***版本的MariaDB即10.x(我不建议使用5.x分支版本)安装到Ubuntu上,你需要启用额外的软件库。访问该页面,即可了解为操作系统添加相应软件库的说明步骤。由于我使用Ubuntu 14.04,按照下列步骤添加了软件库:

  1. sudo apt-get install software-properties-common 
  2. sudo apt-key adv –recv-keys –keyserver hkp://keyserver.ubuntu.com:80 0xcbcb082a1bb943db 
  3. sudo add-apt-repository ‘deb http://nyc2.mirrors.digitalocean.com/mariadb/repo/10.0/ubuntu trusty main’ 

更新软件库,安装MariaDB:

  1. sudo apt-get update 
  2. sudo apt-get install mariadb-server 

安装过程中,MariaDB会要求输入数据库的根密码,这个根密码不同于系统根密码。输入所需的密码,才能继续下一步。

安装过程中,MariaDB会要求输入数据库的根密码,这个根密码不同于系统根密码。

现在我们需要保护数据库,但是我们先要终结数据库服务器守护进程,之后才能进入到下一步,否则你会遇到错误:

  1. sudo killall mysqld 

现在运行下面这个命令:

  1. sudo mysql_install_db 

一旦它成功运行,启动数据库服务器:

  1. sudo service mysql start 

然后运行这个命令:

  1. sudo mysql_secure_installation 

它会要求你提供根密码。在下一步,它会询问你想不想更改数据库的根密码:回答no。在其余步骤,统统回答“yes”。要是一切正常,你会看到这个信息:

Thanks for using MariaDB!(感谢使用MariaDB!)

第二步:安装Apache

现在可以安装Web服务器,并启动所需的模块了。在该服务器上,我运行Apache以及FastCGI。由于FastCGI无法通过默认的软件库来获得,于是我们只好启用Multiverse软件库。在大多数情况下,multiverse软件库出现在源列表中,但是已被注释掉(具体取决于你的VPS提供商)。打开源列表文件,去掉注释:

  1. sudo nano /etc/apt/source.list 

如果软件库不在source.list文件中,那就从Ubuntu维基的这个页面(https://help.ubuntu.com/lts/serverguide/configuration.html)添加它们。

默认的Ubuntu软件库看起来就像下面这些,不过你可能想找到更靠近你服务器的镜像,以获得更好的性能:

  1. deb http://us.archive.ubuntu.com/ubuntu/ trusty multiverse 
  2. deb-src http://us.archive.ubuntu.com/ubuntu/ trusty multiverse 
  3. deb http://us.archive.ubuntu.com/ubuntu/ trusty-updates multiverse 
  4. deb-src http://us.archive.ubuntu.com/ubuntu/ trusty-updates multiverse 

一旦multiverse软件库被启用,运行更新,安装两个程序包:

  1. sudo apt-get update 
  2. sudo apt-get install apache2 libapache2-mod-fastcgi 

然后启用这些模块:

  1. a2enmod rewrite 
  2. a2enmod fastcgi 
  3. a2enmod proxy_http 

第三步:配置Vhost

在我们继续下一步之前,先创建Web目录,到时我们要把Seafile程序包下载到这里。在Ubuntu上,它应该在/var/www/下。

  1. sudo mkdir -p /var/www/directory_name 

示例:

  1. sudo mkdir -p /var/www/sea 

现在我们得为seafile服务器创建一个vhost文件:

  1. nano /etc/apache2/sites-available/your_vhost_name.conf 

示例:

  1. nano /etc/apache2/sites-available/sea.conf 

该vhost文件应该看起来就像下面这样:

  1. <VirtualHost *:80> 
  2.  ServerName www.your-domain-name.com 
  3.  # Use "DocumentRoot /var/www/html" for Centos/Fedora 
  4.  # Use "DocumentRoot /var/www" for Ubuntu/Debian 
  5.  DocumentRoot /var/www/your-directory/ 
  6.  Alias /media /var/www/your-directory/seafile-server-latest/seahub/media 
  7.  RewriteEngine On  
  8.     #  </Location> 
  9.     <Location /media> 
  10.         Require all granted 
  11.     </Location> 
  12.  # seafile fileserver 
  13.  ProxyPass /seafhttp http://127.0.0.1:8082 
  14.  ProxyPassReverse /seafhttp http://127.0.0.1:8082 
  15.  RewriteRule ^/seafhttp - [QSA,L] 
  16.  # seahub 
  17.  RewriteRule ^/(media.*)$ /$1 [QSA,L,PT] 
  18.  RewriteCond %{REQUEST_FILENAME} !-f 
  19.  RewriteRule ^(.*)$ /seahub.fcgi$1 [QSA,L,E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] 
  20. </VirtualHost> 

在你的vhost中,你得更改三个部分:体现URL的ServerName或你服务器的DocumentRoot;提供我们上面创建的目录的路径:Alias /media /var/www/your_directory_path/seafile-server-latest/seahub/media。

打开apache.conf文件:

  1. nano /etc/apache2/apache2.conf 

在末尾处添加这一行(别忘了更改目录的路径):

  1. FastCGIExternalServer /var/www/your_directory_path/seahub.fcgi -host 127.0.0.1:8000 

#p#

第四步:安装Seafile

先安装Seafile所需的程序包:

  1. apt-get install python2.7 python-setuptools python-imaging python-mysqldb python-flup 

现在不妨使用“cd”命令,进入到刚创建的用来安装Seafile的目录:

  1. cd /var/www/sea/ 

使用wget命令将***的Seafile程序包装入到该目录(你应该访问下载页面:http://www.seafile.com/en/download/,获得***版本):

  1. sudo wget https://bitbucket.org/haiwen/seafile/downloads/seafile-server_4.0.5_x86-64.tar.gz 

解压缩文件:

  1. tar xzvf seafile-server* 

然后使用cd命令,进入到解压缩的“seafile-server”目录:

  1. cd seafile-server* 

运行该脚本,它会为Seafile服务器创建所需的数据库和目录:

  1. ./setup-seafile-mysql.sh 

该脚本会引导你安装使用MySQL的Seafile服务器。第3步到第6步选择默认选项:

按回车键继续

1: 赋予服务器名称

2: 服务器IP或域名

3: 默认端口

4: 你想把seafile数据放在哪里?

5: 你想为seafile服务器使用哪个端口?

6: 你想为seafile文件服务器使用哪个端口?

7: 创建用户(如果你没有用户,那就选择选项[1],这会自动创建数据库和用户。)

如果你选择了选项 [1]以创建数据库,就会遇到下列选项:在选项4中,创建一个新用户,而不是使用“root”作为Seafile数据库的根用户。我在本文中创建了一个名为“seau”的用户。其余的保持原状。

  1. 1 What is the host of mysql server? 
  2. default “localhost” ]  
  3. 2 What is the port of mysql server? 
  4. default “3306” ]  
  5. 3 What is the password of the mysql root user? 
  6. [ root password ]  
  7. verifying password of user root … done 
  8. 4 Enter the name for mysql user of seafile. It would be created if not exists. 
  9. default “root” ] seau 
  10. 5 Enter the password for mysql user “seau”: 
  11. [ password for seau ]  
  12. 6 Enter the database name for ccnet-server: 
  13. default “ccnet-db” ]  
  14. 7 Enter the database name for seafile-server: 
  15. default “seafile-db” ]  
  16. 8 Enter the database name for seahub: 
  17. default “seahub-db” ] 

一旦完成,脚本会显示所执行任务的摘要。

现在,我们得编辑两个配置文件了:ccnet.conf和seahub_settings.py。这些文件驻留在文档根目录中。

用所需的编辑工具打开ccnet.conf,我使用nano:

  1. sudo nano /var/www/your-directory/ccnet/ccnet.conf 

在该文件中,检查“SERVICE_URL”指向正确的域。

  1. SERVICE_URL = http://www.your_domain.com:8000 

现在,编辑第二个配置文件:

  1. sudo nano /var/www/your-directory/seahub_settings.py 

并在DATABASES前面添加下面这一行:

  1. FILE_SERVER_ROOT = ‘http://www.your-domain.com/seafhttp’ 

第五步:启动服务器

首先我们要运行脚本,它将启用我们在第三步:配置Vhost进行的apache2配置里面所配置的网站。

  1. a2ensite your_vhost_name.conf 

在本文中它是:

  1. a2ensite sea.conf 

然后重启apache:

  1. service apache2 restart 

现在不妨运行Seafile服务器:

  1. /var/www/your-directory/seafile-server-latest/./seafile.sh start 
  2. /var/www/your-directory/seafile-server-latest/./seahub.sh start-fastcgi 

第二个命令会要求你为Seafile服务器创建管理员帐户,这将是现有的电子邮件ID和密码。该电子邮件ID和密码将用于登录进入到你的服务器。

就是这样。一切都搞定了。

打开任何Web浏览器(建议使用Chrome),输入网站URL或服务器的IP地址。

示例:

  1. www.seafile.com 

  1. 10.20.11.11 

打开Seafile服务器的登录页面。

这会打开Seafile服务器的登录页面。输入你在上面创建的用户名和密码,你就会登录进入到完全属于你自己的Seafile服务器!再见了,Dropbox!

#p#

Seafile服务器使用入门

Seafile使用不同的模式。不像Dropbox或ownCloud,这里的一切都是库。可以把这些库当成是目录。这些库是可使用桌面客户软件在不同的机器之间同步的内容。

你可以在默认的“My Library”里面创建所需的文件夹,也可以创建新的库,如果你在同步方面想要更灵活的话。我完全删除了默认的“My Library”,创建了几个库,比如Images、Documents、eBooks、Music和Movies等。关于Seafile的好消息就是,你可以直接从Web浏览器加密这些库。

接下来为你的操作系统下载桌面客户软件。***次运行客户软件后,它会询问你喜欢客户软件将文件保留在哪个位置。

Seafile桌面客户软件

输入服务器的帐户详细信息。然后右击你想与这台机器同步的那个库。

Seafile桌面客户软件上的文件同步

客户软件为你提供了选项,为该文件选择所需的位置。

客户软件为你提供了选项,为该文件选择所需的位置。这是我最喜欢Seafile的一个地方,因为那样我可以将与文件夹同步的不同库放在不同的分区上。

就是这样!尽情享用完全属于你自己的“Seafile云服务器”。

原文标题:How to Install a Seafile Server to Run a Private Cloud

 

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/290394.html<

(0)
运维的头像运维
上一篇2025-05-19 05:01
下一篇 2025-05-19 05:05

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注