pandownload凉了?教你自己搭建一个私人网盘...

这几天百度云盘又提升了一波自己的知名度,先是 pandownload 被人举报作者被抓,接着又是百度网盘用户激励计划 PC 端默认开启事件,这一操作被很多网友质疑,有网友更是笑称“人生第一次被薅羊毛”。

免费的云盘它可以限速,可以限量,因为它免费我们无话可说但如果即收了我的钱还给我限速那就说不过去了。

俗话说的好求人不如求已,自己搭建网盘,自己动手丰衣足食,今天就为大家介绍一款开源,免费,不限速,不限量,爱传啥传啥,PC,手机都有客户端的私有云平台 owncloud 云盘系统

owncloud 云盘系统使用 PHP 开发支持 SQlite,Mysql/MariaDB 数据库,从 8.0 开始 owncloud 系统不再支持 Windows 系统,今天我们安装的是最新 10.4.1 版,所以只能使用 Linux 系统了,我们选择使用 Centos+PHP7.2+MariaDB+Apache 组合,其它一些环境组合也可以比如 Ubuntu+Nginx+PHP7+Mysql

安装系统(CentOS)

既然是云盘系统,那肯定要选择云服务器了,如果你家里有外网 IP,在家里的机器上安装也可以。

几大云服务商对比一遍后最终我选择 UCloud(https://www.ucloud.cn/)云服务器,主要是因为他便宜且机器100%CPU

唉!现在都是什么风气,买个主机还限机器CPU性能,真是!

还是这家好,其它家同样的配置价格贵的要死还要限性能,最近UCloud又在搞活动,150RMB一年而且还是海外主机,从此不需要再备案啦哈哈!

感兴趣的可以通过下面的链接注册然后领券购买,手慢无!活动不知什么时候就结束了。

活动及领券链接: https://www.ucloud.cn/site/global.html

购买时直接选择 CentOS7 系统镜像 2 分种搞定。

安装 Apache

接着第一步购买完以后,使用远程终端连接工具 xshell 连接到服务器,以 root 管理员身份登录系统,

运行命令

yum -y install httpd

由于我的是海外主机所以命令执行后,相关包下载速度很快,如果你是国内主机那可能需要等一会儿了

命令执行完最终显示如下

Downloading packages:httpd-2.4.6-90.el7.centos.x86_64.rpm                       | 2.7 MB   00:00Running transaction checkRunning transaction testTransaction test succeededRunning transaction  Installing : httpd-2.4.6-90.el7.centos.x86_64                             1/1  Verifying  : httpd-2.4.6-90.el7.centos.x86_64                             1/1Installed:  httpd.x86_64 0:2.4.6-90.el7.centosComplete![root@localhost ~]#

如果你看到以上返回信息恭喜 Apache 安装成功

我们还需要配置下 Apache 的”httpd.conf”文件

执行命令

vim /etc/httpd/conf/httpd.conf

修改第 151 行为

AllowOverride All

保存并退出 VIM

启动 httpd 服务执行命令

systemctl start httpd

开机自启动 httpd 服务

systemctl enable httpd

浏览器中输入服务器 IP 地址看看 httpd 是否成功启动

安装 owncloud

自从 Mysql 被收购后 MariaDB 可以看作是 Mysql 的社区版

执行命令

yum -y install mariadb-service mariadb

命令执行结果出现如下信息安装完成

...Complete![root@localhost ~]#

启动 mariadb 服务

systemctl start mariadb

开机自启动 mariadb 服务

systemctl enable mariadb

启动 mariadb 完后我们还需要设置 mariadb 的 root 密码与其它一些设置

执行命令

mysql_secure_installation

命令执行后如下

Enter current password for root (enter for none):<-初次运行直接回车

设置密码

Set root password? [Y/n] <- 是否设置 root 用户密码,输入 y 并回车或直接回车New password: <– 设置 root 用户的密码Re-enter new password: <- 再输入一次你设置的密码

其他配置

Remove anonymous users? [Y/n] <- 是否删除匿名用户,回车Disallow root login remotely? [Y/n] <-是否禁止 root 远程登录,回车,Remove test database and access to it? [Y/n] <- 是否删除 test 数据库,回车Reload privilege tables now? [Y/n] <- 是否重新加载权限表,回车Cleaning up...All done! If you've completed all of the above steps, your MariaDBinstallation should now be secure.Thanks for using MariaDB!

初始化 MariaDB 完成,接下来登录 MariaDB

执行命令

mysql -uroot -p 刚设置的密码

新建数据

CREATE DATABASE 数据库名称;

创建新用户

CREATE USER "用户名"@"localhost" IDENTIFIED BY "密码";

“%” – 所有情况都能访问 “localhost” – 本机才能访问 “111.222.33.44” – 指定 ip 才能访问

为刚新增的用户与数据库添加权限

grant all privileges on 数据库名.\* to "用户名"@"localhost";

最后刷新 MariaDB

flush privileges;

安装PHP

owncloud 新版本需要 PHP7,yum 库里不一定有 PHP7 所以我们需要更新下 yum 库

执行命令

rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpmrpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

命令完成后我们查询一下是否已经有 PHP7 相关包信息

执行命令

    yum search php7

如果能找到 PHP7 的相关包信息就可以安装了

我们选择安装 PHP7.2 与相关扩展包

执行命令

yum -y install php72w php72w-cli php72w-fpm php72w-common php72w-devel php72w-embedded php72w-gd php72w-mbstring php72w-mysqlnd php72w-opcache php72w-pdo php72w-xml php72w-intl

安装的扩展包比较多大家可以直接复制

执行结果出现如下信息说明安装成功

...Complete![root@localhost ~]#

安装完成后启动下 php-fpm 试试

systemctl start php-fpm

看下 php-fpm 是否正常运行

ss -ntl

出现以下信息说明 php-fpm 已经运行正常

LISTEN 0 128 127.0.0.1:9000 _:_

设置为开机自启动

systemctl enable php-fpm

安装 owncloud

owncloud 的官方下载地址:https://owncloud.org/download

执行命令下载 owncloud 系统

wget https://download.owncloud.org/community/owncloud-10.4.1.tar.bz2

国内机器需要很长时间,慢慢等

下载完成后解压

tar -xvf owncloud-10.4.1.tar.bz2

复制 owncloud 下的文件至 Apache 的 WEB 目录

\cp -arf owncloud/. /var/www/html

设置目录权限

chmod 777 /var/www/html

保险起见我们把所有用到的服务重启下

  systemctl restart httpd  systemctl restart php-fpm  systemctl restart mariadb

浏览器输入http://IP地址看下是否能正常访问,如果不能正常访问有可能是Linux防火墙问题

我们先关闭防火墙试试

systemctl stop firewalld.service

刷新浏览器看看可以进入了系统但还是报错,再把 SElinux 关闭

setenforce 0

刷新浏览器,OK 正常进入 owncloud 系统的安装界面了

输入管理员用户名,密码,刚才建立的数据库与用户名,密码,开始安装

安装完成输入管理员用户名与密码,进入系统。

防火墙配置

刚才我们把防火墙、SElinux 关闭了,所以先把防火墙开启

开启防火墙

systemctl start firewalld.service

永久开放 http 服务

firewall-cmd --add-service=http --permanent

如果你开启了 https 需要永久开放 https 服务

firewall-cmd --add-service=https --permanent

重启防火墙

firewall-cmd --reload

永久关闭 SElinux

vim /etc/selinux/config

将 SELINUX=enforcing 改为 SELINUX=disabled

重启系统

reboot

再次打开http://你的ip/,看看是否正常进入系统。

owncloud 还为用户提供了 PC,Android,ios 客户端,具体的客户端配置大家可以自己研究下。

其它设置

修改 owncloud 系统的上传限制(默认 513M)

执行命令

vim /var/www/html/.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>

最后再为大家介绍下 owncloud 与 nextcloud 关系,nextcloud 是原 owncloud 开发人员离职后重新开发的一套系统,两套系统没太大的差别。

转自脚本之家