首页 > 技术文章 > CentOS7 安装ownCloud

renw 2021-08-11 14:46 原文

前置条件:
ownCloud的安装依赖LAMP环境,即 Linux + Apache + MySQL(Mariadb) + PHP,所以在装owncloud前最好先装好这些,并且保证已经可用。本文在运行shell命令时都是以管理员用户身份运行

1. 安装Apache
1.1 安装httpd

yum -y install httpd
1.2 删除默认欢迎页

rm -f /etc/httpd/conf.d/welcome.conf
1.3 配置httpd环境

在这个文件(/etc/httpd/conf/httpd.conf)还可以进行域名、邮箱等的配置,这里暂不配置了。

vim /etc/httpd/conf/httpd.conf
打开/etc/httpd/conf/httpd.conf文件后,修改第151行,把none改为All,改完后这行为AllowOverride All

图1. 配置/etc/httpd/conf/httpd.conf文件
1.4 启动httpd服务

systemctl start httpd
systemctl enable httpd
1.5 防火墙允许httpd服务(如果防火墙开着的话)

firewall-cmd --add-service=http --permanent
firewall-cmd --reload
1.6 添加首页,测试Apache是否安装成功

添加首页:

vim /var/www/html/index.html
首页内容如下(自己随便写个html页面就可以):

<doctype html>
  <html>
  <head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>httpd首页测试</title>
</head>
<body>
<div>
<h2>测试appache是否安装成功<h2>
<br />
<p>浏览器中输入如下网址并回车 http://localhost</p>
<p>安装成功的话,你就看见本页了</p>
</div>
</body>

</html>

图2. 首页测试apache,httpd
2. 安装PHP
2.1 检查本机是否安装了php

php -v
如果之前安装过php,那么运行上述命令后就会返回已经安装的php的版本号,跳到2.2步骤继续;如果没有安装,则会提示找不到php命令,直接跳到2.3步骤继续。

2.2 若已经安装了php,则检查php版本是否不低于5.6.0版本

如果版本不低于5.6.0版,则跳到2.4步骤继续;如果版本低于5.6.0,那就卸载重装。

卸载步骤如下:

首先,运行如下命令检查已经有的php包

yum list installed | grep php
应该会返回很多php相关的包,例如

#已经存在的php包
php-mysql.x86_64 0:5.3.3-38.el6
用yum remove命令一一删除这些包,例如

#删除已经存在的php包
yum remove php-mysql.x86_64 0:5.3.3-38.el6

#都删除后运行以下命令查看是否删完了,要确保删完了
yum list installed | grep php
2.3 下载安装5.6.0以上版本的php,这里以7.2版为例

首先,添加更新rpm源

#更新源
rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
然后,安装相关的包

yum install -y php72w php72w-opcache php72w-xml php72w-gd php72w-devel php72w-mysql php72w-intl php72w-mbstring
最后,检查以下现在装的php版本是不是不低于5.6.0版。如果不是就再别处查查为啥装的php版本不对,解决后再回到本文。

php -v
3. 安装并启动数据库
3.1 安装数据库

yum install -y mariadb-server mariadb
3.2 启动数据库

systemctl start mariadb
systemctl enable mariadb

》》》数据库启动失败找不到服务,原因找不到依赖导致,安装如下:yum install mariadb-embedded mariadb-libs mariadb-bench mariadb mariadb-sever

3.3 防火墙允许mysql服务(如果防火墙开着的话)

firewall-cmd --add-service=mysql --permanent

#重启防火墙
firewall-cmd --reload
4. 下载owncloud包 wget https://download.owncloud.org/community/owncloud-complete-20210721.tar.bz2

owncloud文件夹路径设为 [owncloud-dir]/owncloud,将包复制到 /var/www/html

cp -r [owncloud-dir]/owncloud /var/www/html
运行如下命令

chown -R apache:apache /var/www/html/owncloud/
5. 创建数据库
依次运行如下命令

mysqladmin -u root password "root"

mysql -u root -p
继续运行如下命令

chcon -v -R -u system_u -r object_r -t httpd_sys_content_t '/var/www/html/owncloud/'

chcon -R -t httpd_sys_rw_content_t '/var/www/html/owncloud/config/'

chcon -R -t httpd_sys_rw_content_t '/var/www/html/owncloud/apps/'


cd /var/www/html/owncloud/

mkdir data

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

chcon -v -R -u system_u -r object_r -t httpd_sys_content_t '/var/www/html/owncloud/'

chcon -R -t httpd_sys_rw_content_t '/var/www/html/owncloud/data/'

chcon -R -t httpd_sys_rw_content_t '/var/www/html/owncloud/config/'

chcon -R -t httpd_sys_rw_content_t '/var/www/html/owncloud/apps/'
6. 创建owncloud的管理员用户。
浏览器访问 http://localhost/owncloud,然后输入用户名和密码(首次输入,这是在创建owncloud的管理员用户)。


图4. 登录owncloud,创建管理员用户
【注意!】 图4这步包括以下内容:1. 创建owncloud的管理员用户(Create an admin account)。2. 数据存储文件夹(Data folder)。这里默认文件夹就可以了,不用管。 3. 配置数据库,包括数据库类型的选择,对应的用户、密码、数据库配置。这里默认是SQLite数据库类型,如果要用MySQL或者MariaDB的,这里一定要配置一下。如果忘记配置了,可以参考博文《如何将owncloud的数据库从SQLite迁移到MySQL/MariaDB》迁移数据库。

7. 本机登录看看

图4. 登录owncloud
8. 配置trusted_domains

在其他电脑上访问服务器(假设IP为198.12.12.6),提示需要配置trusted_domains。


图5. 配置trusted_domains
从图片中的提示可以看出来,需要在服务器上配置/var/www/html/owncloud/config/config.php文件,并且在同一个文件夹下有一个配置的示例文件config.sample.php可供参考。

vim /var/www/html/owncloud/config/config.php

图6. 修改配置文件trusted_domains
前5行都不要动,在第8行 0 => 'c1loud.frankgreg.com', 这一行后面添加如下一句(假设服务器IP为192.12.12.6)

1 => '192.12.12.6',
重启httpd服务,完工。

systemctl restart httpd

推荐阅读