基于CentOS 7的owncloud部署

作为IT从业者的我们都会有大量的数据需要存储和管理,可能是各种各样的系统和软件的安装包,又或者是各种教学视频等。我们可以把这些数据存储到云盘上,免费且动辄上T的容量确实很好用,但是制约于我们的网速有的时候我们如果频繁使用这些数据就会显得不是很方便。那么有没有一种办法能够像管理云盘一样管理本地海量数据,那么就是今天我要介绍的owncloud。

由于这是实验安装,当然也可以部署到生产环境中去,我先来介绍一下今天的实验环境。我使用过的是vmware-workstation 12 pro作为虚拟软件,所创建的虚拟机的配置为双核cpu、1G以上内存、20G的/分区,以及一块60G的虚拟磁盘专用于数据存储。

虚拟机操作系统是CentOS7.1 基于CentOS-7-x86_64-Everything-1503-01采用minimal安装。安装完成之后将60G的虚拟磁盘格式化为ext4文件系统挂载到预先创建的/data目录下作为我们的数据存储目录。如果在生产环境中个人推荐主机配置不应低于双核奔腾及以上cpu内存不小于2G,磁盘可以采用一块独立磁盘安装系统和服务其容量不应小于80G,数据目录可采用单一大容量硬盘或者多块磁盘组成raid卷组。长久使用建议组建RAID进行冗余以保证数据安全,如果组建RAID推荐采用RAID1或者RAID5 等硬件冗余阵列方式,使用的硬盘最好是西部数据的红盘或者黑盘,或者希捷日立东芝的企业盘或者是NAS盘,普通硬盘在RAID5的模式下安全性并得不到保证,建议使用RAID1阵列。

在系统安装完成之后我们有几件事情需要做:

  1. 挂载cdrom到本地,并配置本地yum源

  2. 由于CentOS 7默认使用防火墙,在这里我先关闭防火墙启用iptables,并放行web80端口。

  3. 关闭selinux

  4. 导入owncloud的安装文件,并解压,会自动生成owncloud文件夹。

  5.  安装服务支撑软件,httpd mariadb mariadb-server php php-gd php-mysql php-dom

下面我们来部署一下owncloud,首先要做的是配置本地yum源,这样方便我们安装所需的服务软件。

将cdrom 挂载到本地

mkdir -p /mnt/cdrom           #使用递归方式在/mnt目录下创建/cdrom目录用于挂载cdrom。
mount /dev/cdrom /mnt/cdrom/  #将cdrom临时挂载到/mnt/cdrom目录上

  配置yum本地源

cd /etc/yum.repos.d/           #进入到CentOS yum源的配置目录/etc.yum.repos.d目录下
mv CentOS-Base.repo CentOS-Base.repo.bak   #备份原来的默认yum源。

vi Think.repo并添加如下文字  #创建并编辑自己定义的yum本地源,名字是自定义,结尾为*.repo
[Think]                      #方括号内与外部名称相同即可
name=Think                   #name=与外部名称相同即可
baseurl=file:///mnt/cdrom    #//后面跟挂载cdrom的绝对路径
enabled=1                    #enabled 后面参数为1表示启用,为0表示不启用。
gpgcheck=0                   #gpgcheck的参数为0表示禁用,这里选择禁用即可。

保存退出

yum clean all                #清空之前系统里的yum缓存信息。
yum makecache                #以刚才配置的本地yum源更新缓存信息。

接下来我们禁用防火墙改为iptables

yum -y install iptables-services   # CentOS7默认没有安装iptables,这里安装。
systemctl stop firewalld.service  # 停止防火墙服务  
systemctl disable firewalld.service #设置防火墙服务开机不自启

修改iptables的配置文件,使其放行apache的80端口

vi /etc/sysconfig/iptables          #编辑iptables的配置文件
-AINPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEP

在上述行下面复制一行,并将端口22 更改为80 保存退出

systemctl restart iptables         #修改完配置后重启iptables
systemctl enable iptables          #设置iptables服务开机自启

下面关闭selinux

vi /etc/selinux/config 
注释掉中间没有被注释的两行,然后在末尾添加如下语句。
SELINUX=disabled

保存退出后再命令行下输入如下命令。

setenforce 0 使配置生效

基本配置已经完成我们接下来就来安装和配置owncloud,通过winSCP将owncloud的安装包传到系统中,由于最小化安装的系统并没有安装解压软件我们要安装bzip2解压软件,将解压后的owncloud目录拷贝到/var/www/html/目录下。

#安装需要的软件

yum -y install httpd mariadb mariadb-server php php-gd php-dom php-mysql bzip2

由于配置本地yum源,安装包将从本地目录中提取,安装过程视硬盘速度而定,大约5-10分钟。

在上述软件安装完成之后,我们要重启一下httpd和mariadb 并使其开机自动启动;

systemctl restart httpd                 #重启httpd服务
systemctl restart mariadb               #重启mariadb数据库
systemctl enable httpd                  #设置httpd服务开机自启
systemctl enable mariadb                #设置mariadb数据库开机自启

解压owncloud的安装包并拷贝到/var/www/html/目录下

tar -jxvf owncloud-8.2.2.tar.bz2         #使用tar命令解压安装包
cp �Crv owncloud /var/www/html/          #使用递归方式复制owncloud目录到apache的默认站点目录下。

然后我们需要修改一下httpd的配置文件和php.ini这两个配置文件

vi /etc/httpd/conf/httpd.conf

找到AllowOverride none 将none修改为all;

找到DocumentRoot "/var/www/html"将里面的路径的html后面添加/owncloud

保存退出并重启httpd

systemctl restart httpd
vi /etc/php.ini          #php的配置文件

找到upload_max_filesize = 2M 这里面的2M是默认允许上传文件大小,修改为希望的大小。

找到post_max_size = 8M 将其中8M的值修改为自己想要的值

找到memory_limit = 128M 这个是php所占可以占用内存的值,修改我自己想要的值。

保存退出

剩下的一部是数据库的配置和目录的属组和属主的修改。

设置mariadb的root用户的密码,和创建owncloud数据库以及创建普通用户授权访问owncloud数据库和其中的表。

mysql_secure_installation

#为刚安装的mariadb数据库默认root用户创建密码,和基础配置。不推荐使用root用户从本地和外部直接访问整个数据库,所以建议创建普通管理员用户。

Entercurrent password for root (enter for none):

在输入root密码这里直接回车,默认root密码为空

Set root password? [Y/n] y

是否设置root密码这里输入y。然后根据提示输入两遍密码,在之后的所有问答中全部输入y。

mysql -uroot �Cp

#使用上述命令进入mariabd的命令行,-u和root之间没有空格,

输入密码之后进入数据库,在进入数据库之后的命令行之中,末尾都必须以“;”结束

创建owncloud数据库

create database owncloud;

#可以使用show databases;命令查看当前库,和创建后的确认操作,注意命令执行结尾的“;”

QueryOK, 1 row affected (0.00 sec)    #
grant all privileges on owncloud.* to Think@localhost identified by"123456test";

#Think是实验创建的用户“123456test”为实验密码。

通过上述命令,创建一个普通用户“Think”授权其所有权限针对owncloud数据库中的所有表,密码为“123456test”owncloud.* 中的“*”为owncloud库的所有表。

flush privileges;

通过该命令是上述的操作立即生效,或者退出数据库后重启mariadb。在生产环境中不推荐随意重启数据库。

exit命令退出数据库。

更改用户的属主和属组。

cd /var/www/
chown -R apache:apache html/

  #递归对/html下的目录更改属组和属主为apache。

chown �CR apache:apache /data

   #为我们将要存储数据的/data也递归修改属组属主。

   完成上述操作之后我们就可以对owncloud本身进行配置了。

   打开浏览器输入虚拟机的ip地址就可以访问owncloud的初始化安装界面,这里不推荐将owncloud中的文件直接解压到html的根目录下,因为在最后初始化owncloud的配置的时候回提示.htaccess的版本错误,原因未知。而是将owncloud目录本身复制过去,通过ip地址“ip”/owncloud的方式,或者修改/etc/httpd/con/httpd.conf中的DocumentRoot "/var/www/html" 该行将/owncloud指定为Apache的根目录。

wKiom1aV8VnzWrifAAFQEsDIRxk494.png

wKiom1aV8ZqTwwLZAAFoPQQ4luE978.png

wKiom1aV8ZzTXqXxAAFKxrsc5Wc215.png

   打开浏览器输入IP地址即可访问owncloud,这里我们进行owncloud的初始化配置到这里,安装owncloud就正式结束了,设置和创建用户就不再赘述,用法与百度云相似。

在这里建议各位如果要使用owncloud的同学,上传文件owncloud并不挑剔浏览器,推荐使用IE10 火狐或者谷歌的chrome,搜狗浏览器的默认下载功能支持的很不好,如果能调用迅雷是没有问题的,这是我测试的结果。

owncloud的客户端有windows版本,linux版本和mac版本的,但是功能目前仅局限于对某个文件夹与服务器中的某个文件夹做关联实行同步。功能有点类似于金山快盘的同步版。可以把指定的笔记文件放在里面实现实时同步保证文本数据安全,大文件不建议使用。

由于个人也只是linux的初学者所有仅仅是为了实现上述功能而写的这篇文档,对于文档中的一些配置各位有觉不妥的请不吝赐教,高手勿喷。

 


你可能感兴趣的:(linux,owncloud)