[toc]
随着个人资料的增多以及访问便捷性需求的增大,如何选择一个高效便捷的网盘成为一个问题。当前市面上有各种各样的网盘,比如:百度网盘、Google Drive、Dropbox、 OneDrive和Apple Cloud等。但是国内的网盘质量参差不齐,有些免费网盘容量太小,有些免费网盘会限速,而国外的网盘很多都需要科学上网,要么就是网速比较慢。而且使用这些网盘最大的一个问题是,文件的隐私性有可能得不到保证。所以,搭建一个私有网盘就很有必要了,这里我选择了ownCloud。
ownCloud是一个自由且开源的客户端到服务器端的软件,可作为个人云存储解决方案。其客户端不仅有Windows、Mac和Linux版本以及Android,iOS版本,而且还支持网页版访问。同时,还可以单独对每个文件创建公共链接,便于分享。
使用ownCloud首先需要拥有一台服务器或者VPS(需要VPS的同学可以参考我的这篇文章:如何搭建自己的虚拟专用服务器),然后需要掌握一些基本的Linux命令。不过,如果没有相关知识的话也没关系,按照本篇文章的命令逐条敲下来,基本也能完整的搭建一个可用的ownCloud网盘。我的搭建环境如下:
- Ubuntu 18.04
- LAMP(Apache/2.4.29 (Ubuntu) + MySQL 5.7.27-0ubuntu0.18.04.1 + PHP 7.2.24 ),具体可以参考这篇文章:在Ubuntu18.04上安装Linux, Apache, MySQL, PHP (LAMP)。
一 安装ownCloud
在Ubuntu的默认软件库里面是没有ownCloud的,我们需要手动将软件安装源加入到它的sourcelist
中去。首先,先使用curl
命令下载ownCloud的release key,然后通过add
命令导入到apt-key
中。具体命令如下:
curl https://attic.owncloud.org/download/repositories/10.0/Ubuntu_18.04/Release.key | sudo apt-key add -
之后,将包含owncloud安装地址的文件放入到apt
工具的sourcelist
中去。具体方法如下:
echo 'deb http://download.owncloud.org/download/repositories/10.0/Ubuntu_18.04/ /' | sudo tee /etc/apt/sources.list.d/owncloud.list
最后,就可以通过下面的命令安装ownCloud了,与此同时,安装一些用来支持ownCloud的PHP插件。具体命令如下:
sudo apt update && sudo apt install php-bz2 php-curl php-gd php-imagick php-intl php-mbstring php-xml php-zip owncloud-files -y
上述命令完成之后,就可以在服务器的/var/www/owncloud
目录下找到已经完成安装的ownCloud的所有文件了。
二 设置默认目录
上面提到,ownCloud的默认安装目录是/var/www/owncloud
,而在apache默认的配置文件/etc/apache2/sites-enabled/000-default.conf
中,定义了网站的源码目录DocumentRoot
是/var/www/html
。为了保证owncloud工作正常,这两个路径必须一致。推荐做法是修改apache默认的配置文件DocumentRoot
的值为/var/www/owncloud
。具体方法为:
- 修改apache默认的配置文件
/etc/apache2/sites-enabled/000-default.conf
中的相应配置如下:
DocumentRoot /var/www/owncloud
- 重启apache服务,使上述配置生效:
sudo service apache2 restart
这是重启之后,在浏览器中输入服务器对应的ip地址,就会看到下图:
证明owncloud 安装成功。
三 为ownCloud建立数据库
在服务器的终端中输入以下命令,登录数据库:
sudo mysql -u root -p
使用以下命令为owncloud创建一个数据库。这里,我们假设owncloud对应的数据库名字为owncloud_DB
:
mysql> CREATE DATABASE owncloud_DB;
接下来,创建单独的MySQL用户来管理owncloud的数据库。这里,我们假设新创建用户名为ocuser
,密码为OCuser666#
。那么输入以下命令:
mysql> GRANT ALL ON owncloud_DB.* to 'ocuser'@'localhost' IDENTIFIED BY 'OCuser666#';
注意,这里的密码设置可以自己随意设置,但是如果出现以下提示,则证明密码设置过于简单,则需要换一个复杂的密码重新执行上述命令。一般建议密码中应包含数字,大小写字母和符号。
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
最后,执行下列命令,更新设置并退出数据库:
mysql> FLUSH PRIVILEGES;
mysql> exit
四 配置ownCloud
在建立数据库之后,我们就可以来配置owncloud了。回到上图浏览器中显示的owncloud主页。
4.1 创建管理员帐号
在“创建管理员帐号”下面用来设置owncloud所有用户的管理员的登陆帐号和密码。可以按照自己习惯随意设置。这里,我们假设管理员帐号为:OCadmin
,密码为:OCuser888*
。
4.2 数据目录
“数据目录”是指ownCloud产生的数据保存在哪里,这里我们选择默认配置/var/www/owncloud/data
。
4.3 配置数据库
这里需要我们在“3. 为owncloud建立数据库”中为owncloud创建的数据库名称(owncloud_DB
),用户帐号(ocuser
)和密码(OCuser666#
)。
因此,这里的具体配置如下:
然后,点击“安装完成”。如果一切顺利的话,ownCloud就配置成功了,并且会自动跳转到如下图的登录页面:
输入在“4.1 创建管理员帐号”中,我们创建的管理员帐号(OCadmin
)和密码(OCuser888*
)就可以进入我们刚刚搭建好的ownCloud网盘了。
五 为ownCloud安装ssl证书
在完成上述配置之后,为了保证传输数据的安全性,最好再为ownCloud网盘安装ssl证书,其安装方法和我们之前为博客安装ssl证书的方法一模一样,这里就不重复介绍了,具体可以参考另一篇博客:个人博客免费申请并安装SSL证书。