软件库

教你搭建OwnCloud私有网盘教程

百度网盘空间大,但限速,OneDrive不限速,容量不算小,但速度也不完全理想,网页版由于众所周知的原因打不开。

我们可以使用OwnCloud搭建属于自已的云盘,这个云盘也有企业专用版本,在此,我们使用个人版本搭建。

此教程基于CentOS7.6(1810)版本,VMware Workstation 15.0.2在桥接模式下部署。宝宝们可以使用虚拟机或物理机搭建。

最低条件:CentOS7.0(1511)(并非强制要求最新版本,只是为了避免一些未知错误,但最低条件必须满足,CentOS7之前的版本有着重大变化)

第一步:安装环境(CentOS7.6)

1.CentOS官网下载镜像。

2.开始安装(省略简单步骤,只强调关键步骤,不会的同学百度)

3.完成初始化(登录时必须以root用户登录,不可用默认的用户登录,否则以后所有操作都需要在命令前写“sudo”)

第二步:环境配置(对着桌面右击打开终端“terminal“)

首先安装完成后更新一下软件包,这算是尽量让各位的系统和我的一致,减少出错几率,如果用的不是centos7.6这步之后会更新到7.6或以后的最新版本,别担心不会像Windows那样冗余复杂。(若使用非root用户登录则需加“sudo”,之后不再提醒,所有都需要)

[yum upgrade-y]

添加扩展yum软件源

[yum install eprl* -y]

添加新版本php源

[rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm]

[rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm]

安装所需依赖

[yum  -y install httpd php70w php70w-mysql mariadb-server mariadb sqlite php70w-dom php70w-mbstring php70w-gd php70w-pdo php70w-intl]

安装owncloud(哈哈~白色的不好看,宝宝换成了深色背景~~~)

[rpm --import https://download.owncloud.org/download/repositories/production/CentOS_7/repodata/repomd.xml.key](导入yum所需验证key文件,不换行,一行复制完回车,注意空格)

[wget http://download.owncloud.org/download/repositories/production/CentOS_7/ce:stable.repo -O /etc/yum.repos.d/ce:stable.repo](下载并写入owncloud源)

[yum clean all](清理yum残留,减少错误几率)

[yum install owncloud-files](开始安装owncloud)

设置SELinux上下文(SELinux是一套独立于系统权限的安全机制,许多教程因为麻烦会直接关掉,这样对于系统来说很不安全,而且这也是宝宝在考红帽工程师认证时必须要求哒~当然,如果有的宝宝觉得麻烦,也可以用[setenforce 0]去把它关闭跳过这步)

[semanage fcontext --httpd_sys_rw_content_t '/var/www/html/owncloud/config(/.*)?'](不懂参数意思没关系,SELinux好复杂的。如果因为它导致问题,系统右上角会提示哦!里面会写你应该输入哪条命令去解决)
[semanage fcontext --httpd_sys_rw_content_t '/var/www/html/owncloud/apps(/.*)?']
[semanage fcontext --httpd_sys_rw_content_t '/var/www/html/owncloud/.htaccess']
[semanage fcontext --httpd_sys_rw_content_t '/var/www/html/owncloud/.user.ini']
[restorecon -Rv '/var/www/html/owncloud/']

(前四条设置安全上下文,最后一条用于恢复安全上下文,感觉有些矛盾对吧?没关系,就把最后一条当成平时要点击的“应用”按键吧,小心点~执行最后一条的时候别被吓到~)

启动相关服务

[systemctl enable mariadb](mariadb算是MySQL的一个分支。将mariadb设置开机自启)

[systemctl start mariadb](启动mariadb,如果没有上一步,每次重启都需要执行此命令)

[systemctl enable httpd](这个就是著名的Apache进程啦~将它设置为自启动吧~)

[systemctl start httpd](启动我们的httpd进程)

允许CentOS7的防火墙(如果你只是在本机玩玩儿可以省去这步,如果你要在内网或外网访问则必须执行)

[firewall-cmd? --add-service=http --permanent](注意!!add和permanent前面有两个中划线。Permanent参数用于写入防火墙永久配置文件,否则重启失效)

[firewall-cmd --reload](用于重新载入防火墙配置文件,reload前面同样是两个中划线哦~)

初始化mariadb数据库(如果7里面的第二条命令没有执行此时会出错的~)

[mysql_secure_installation]

这步比较麻烦,我来一步步说明吧~

回车之后的第一次交互是让输入现在的数据库密码,初始化默认为空,直接回车一次即可~

第二次交互是问是否设置密码,我们按[y],大小写无所谓,之后回车,让你输入设置的密码,这里输入密码不会有星号和点点,没有提示,只管输就好了,之后回车输入第二次,一样没有提示,回车。

其他的都按[y](分别是:是否移除访客来宾登录数据库?是否禁止root用户远程登录?是否删除测试数据库?是否重新载入数据库的权限表?这里说的root远程登录是说直接远程用3306端口登录,对于网页上进行的数据库操作,只要网页在本地服务器就不算远程登录数据库)

在数据库添加owncloud专用用户

好多教程会在11步的后半部分直接填写root用户名和密码登录,这样很危险,生产环境中是不可以这样的哦!所以我们现在来创建一个新的用户:

[mysql -u root -p](回车之后输入上一步设置的密码,就是那个要输两次,而且不显示任何字符的东西)

[create database owncloud;](创建名字叫做owncloud的数据库,结尾有分号必须打哦~)

[grant all privileges on owncloud.* to 'owncloud_user'@'%' identified by 'owncloudpass' with grant option;](创建用户“owncloud_user“,授权这个用户对所有“owncloud”数据库的所有权限,并且使用”owncloudpass”作为密码,再给这个用户创建其他数据库的权限,不使用with grant option会报错的。记得分号哦~)

[quit](退出数据库)

第三步:配置owncloud

初始化owncloud

打开浏览器,本服务器或者其他主机也可以,前提是firewall设置完才可以使用内外网的主机。输入地址:你linux的ip,回车就会出现这个!

没关系,还好还好,这只是apache的默认测试页面,正确的进owncloud的方式是这样哒:你Linux的ip/owncloud,比如我的就是[ http://172.16.0.168/owncloud]。如果不知道你的ip,可以使用[ifconfig]命令查看,ens开头段落的ip就是你的内网ip。如果你不是使用物理机或者VMware桥接模式,而是使用本Linux服务器打开,直接输入[localhost]即可。如果使用的是VMware的nat方式那就只能在虚拟机里本地打开咯~

正常打开应该是这个样子哒:

前两行填写你owncloud的管理员用户

下面要点击第一图管理员用户下面的Storage&database,出现/var/www….不用管,默认就好,之后点击二图的MySQL MariaDB才会出现二图的三行。

按照你当时新建的owncloud用户信息填写就好啦。localhost不变,即使你用别的电脑打开浏览器。

设置完后点击Finish Setup,之后跳入登录界面,输入刚刚设置的管理员用户密码登录。

完成啦!!!!

第四步:收尾

[semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/owncloud/data(/.*)?']

[restorecon -Rv '/var/www/html/owncloud/']

(细心的宝宝们会发现在配置SELinux里面的配图第一条命令本宝宝是执行报错的,只是因为当时设置时owncloud还未完成初始化,没有创建data目录,导致命令执行失败。这个是官方给的SELinux上下文,也算是官方的一个bug吧,宝宝们按照我的教程下来就没有问题哒~)

退出移动版