众所周知因为国内网盘的要求越来越严格,且很多网盘纷纷停止服务。仅存的百度网盘和微云等上传和下载的速度又受到严格的限制,不开所谓的VIP会员下载速度实在不敢恭维,重要和私密文件又担心丢失或者不安全。这时或许你需要一个私有云盘来帮助你解决种种顾虑,刚好owncloud就是一款优秀、开源、全平台的私有云盘工具。今天我们就来讲一讲如何在linux(以centos7为例)搭建这个平台。
交流群:Newlearnerの水群
准备工作
1、存储介质:VPS大盘鸡/树莓派外接硬盘/x86平台外挂raid等(全是钱)
2、linux系统:可安装在树莓派、vps、pc等,本篇以centos7为例
3、运行环境:lamp或者lnmp(数据库可选),本篇以lamp为例
4、其他:例如想做frp需要公网ip、域名等(全是钱)
群辉系统已经提供了很好的家庭私有云示范了,通过内网穿透即使不在家也可以轻松访问家里nas的文件。如果我们想追求性价比,热爱折腾,不妨试试owncloud。同时,大盘鸡使用owncloud做云端私有网盘也是不错的选择。
环境搭建和平台安装(踩坑记录)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
yum install httpd #安装apache yum install php #安装PHP #以root身份运行以下shell命令以信任 rpm --import https://download.owncloud.org/download/repositories/production/CentOS_7/repodata/repomd.xml.key #下载源 wget http://download.owncloud.org/download/repositories/production/CentOS_7/ce:stable.repo -O /etc/yum.repos.d/ce:stable.repo yum clean all #清除yum本地缓存 yum install owncloud-files #安装owncloud #赋予权限 chown -R apache:apache owncloud chmod -R 777 owncloud #重启apache service httpd restart |
这个时候登录发现网页显示“This version of ownCloud requires at least PHP 5.6.0.You are currently running PHP 5.4.16. Please update your PHP version.”
这是因为owncloud要求php版本在5.6.0以上,所以进一步升级php(或者一开始就升级软件仓库)
1 2 3 4 5 6 7 8 9 10 11 12 13 |
#升级软件仓库 rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm #移除旧版php yum remove php-common #安装php5.6 yum install -y php56w php56w-opcache php56w-xml php56w-mcrypt php56w-gd php56w-devel php56w-mysql php56w-intl php56w-mbstring #重启apache service httpd restart |
如果重启http之后登录http://你的ip/owncloud发现无法访问,关闭防火墙
1 2 3 4 5 6 |
#停止firewall systemctl stop firewalld.service #禁止firewall开机启动 systemctl disable firewalld.service |
如果打开owncloud网页之后发现显示
Can’t write into config directory!
This can usually be fixed by <a href=”https://doc.owncloud.org/server/10.0/go.php?to=admin-dir_permissions” target=”_blank” rel=”noreferrer”>giving the webserver write access to the config directory</a>.
往往是由于开启selinux引起的,我们需要关闭它
1 2 3 4 5 6 |
vi /etc/selinux/config 将SELINUX=enforcing 改为SELINUX=disabled reboot |
之后打开http://你的ip/owncloud即可访问owncloud了,第一次打开需要设置用户
One more thing
如果是轻度使用到这里可以结束了,但是上图的官网也说了SQLite不是多客户端同步以及大量使用的优选。我们可以在后端再配置一个Mariadb数据库。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
yum install mariadb-server mariadb #安装 systemctl start mariadb.service #一定先启动数据库 #启动数据库并设置为开机启动 systemctl start mariadb.service systemctl enable mariadb.service #安全性设置 mysql_secure_installation Enter current password for root (enter for none):(这里直接回车) OK, successfully used password, moving on... Setting the root password ensures that nobody can log into the MariaDB root user without the proper authorisation. Set root password? [Y/n] (是否设置root密码:Y) New password:(需牢记) Re-enter new password:(需牢记) Password updated successfully! Reloading privilege tables.. ... Success! Remove anonymous users? [Y/n] (是否移除匿名用户:Y) ... Success! Disallow root login remotely? [Y/n] (是否禁止远程root登陆:n) ... skipping. Remove test database and access to it? [Y/n] (是否删除测试数据库:Y) Reload privilege tables now? [Y/n] (重新载入:Y) ... Success! Cleaning up... All done! If you've completed all of the above steps, your MariaDB installation should now be secure. Thanks for using MariaDB! |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
#以root用户身份进入数据库 mysql -u root -p #设置数据库名称 CREATE DATABASE 数据库名称; #设置该数据库的用户名和密码(牢记) CREATE USER 用户名@localhost IDENTIFIED BY '密码'; #给用户设置权限 GRANT ALL PRIVILEGES ON 数据库名称.* TO 用户名@localhost; FLUSH PRIVILEGES; #退出数据库 exit |
之后到刚刚的用户设置界面,选择MySQL/MariaDB,填写刚刚配置好的数据库信息,最后一行填写‘localhost’
收尾工作
1、全平台安装
owncloud提供web版、iOS版、Windows版、安卓版和macOS版的客户端,可以说是很方便了。
下载地址:https://owncloud.org/download/
2、修改上传文件大小限制(默认513M)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
#打开配置 vi /etc/www/html/owncloud/.htaccess 找到如下配置 <IfModule mod_php5.c> php_value always_populate_raw_post_data -1 php_value upload_max_filesize 513M #修改上传文件大小 php_value post_max_size 513M #修改上传文件大小 php_value memory_limit 512M php_value mbstring.func_overload 0 php_value default_charset 'UTF-8' php_value output_buffering 0 <IfModule mod_env.c> SetEnv htaccessWorking true </IfModule> </IfModule> <IfModule mod_php7.c> php_value upload_max_filesize 513M #修改上传文件大小 php_value post_max_size 513M #修改上传文件大小 php_value memory_limit 512M php_value mbstring.func_overload 0 php_value default_charset 'UTF-8' php_value output_buffering 0 <IfModule mod_env.c> SetEnv htaccessWorking true </IfModule> </IfModule> |
Enjoy it!