当前位置: 首页 > news >正文

在Ubuntu 16.04上安装和配置ownCloud的方法

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。

简介

ownCloud 是一个文件共享服务器,允许您将个人内容(如文档和图片)存储在一个类似 Dropbox 的集中位置。ownCloud 的不同之处在于它是免费且开源的,这使任何人都可以使用和检查它。它还将您敏感数据的控制和安全性归还给您,从而消除了使用第三方云托管服务的需求。

在本教程中,我们将在 Ubuntu 16.04 服务器上安装和配置 ownCloud 实例。

先决条件

为了完成本指南中的步骤,您需要以下内容:

  • 服务器上的 sudo 用户:您可以按照 Ubuntu 16.04 初始服务器设置指南创建一个具有 sudo 权限的用户。
  • LAMP 栈:ownCloud 需要一个 Web 服务器、一个数据库和 PHP 来正常运行。设置一个 LAMP 栈(Linux、Apache、MySQL 和 PHP)服务器可以满足所有这些要求。按照本指南安装和配置这些软件。
    • 为了充分利用 ownCloud 提供的所有功能,请确保安装以下 PHP 模块:php-bz2php-curlphp-gdphp-imagickphp-intlphp-mbstringphp-xmlphp-zip
  • SSL 证书:您如何设置这个取决于您是否有一个解析到您服务器的域名。
    • 如果您有一个域名…… 最简单的方式是使用 Let’s Encrypt 来保护您的站点,它提供免费的受信任的证书。按照 Apache 的 Let’s Encrypt 指南来设置。
    • 如果您没有一个域名…… 并且您只是用这个配置进行测试或个人使用,您可以使用自签名证书。这提供了相同类型的加密,但没有域验证。按照 Apache 的自签名 SSL 指南来设置。

步骤 1 – 安装 ownCloud

ownCloud 服务器包在 Ubuntu 的默认仓库中不存在。但是,ownCloud 维护了一个专门的仓库供该发行版使用。

首先,使用 curl 命令下载他们的发布密钥,并使用 apt-key 实用程序的 add 命令导入它:

sudo curl https://download.owncloud.org/download/repositories/stable/Ubuntu_16.04/Release.key | sudo apt-key add -
. . .% Total    % Received % Xferd  Average Speed   Time    Time     Time  CurrentDload  Upload   Total   Spent    Left  Speed
100  1358  100  1358    0     0   2057      0 --:--:-- --:--:-- --:--:--  2057
OK

‘Release.key’ 文件包含一个 PGP(Pretty Good Privacy)公钥,apt 将使用它来验证 ownCloud 包的真实性。

除了导入密钥,还要在 aptsources.list.d 目录中创建一个名为 owncloud.list 的文件。该文件将包含指向 ownCloud 仓库的地址。

echo 'deb https://download.owncloud.org/download/repositories/stable/Ubuntu_16.04/ /' | sudo tee /etc/apt/sources.list.d/owncloud.list
deb https://download.owncloud.org/download/repositories/stable/Ubuntu_16.04/ /

添加新源后,使用 apt-get 实用程序和 update 命令使 apt 意识到更改:

sudo apt-get update
. . .
W: https://download.owncloud.org/download/repositories/stable/Ubuntu_16.04/Release.gpg: Signature by key DDA2C105C4B73A6649AD2BBD47AE7F72479BC94B uses weak digest algorithm (SHA1)

最后,使用 apt-get 实用程序和 install 命令执行 ownCloud 的安装:

sudo apt-get install owncloud

在收到 Do you want to continue? [Y/n] 消息时,按下 ENTER 键确认安装。

Setting up owncloud-deps-php7.0 (9.1.1-1.2) ...
Enabling conf owncloud.
To activate the new configuration, you need to run:service apache2 reload
apache2_invoke: Enable module rewrite
apache2_invoke owncloud: already enabled
Setting up owncloud (9.1.1-1.2) ...
Processing triggers for libc-bin (2.23-0ubuntu4) ...
Processing triggers for libapache2-mod-php7.0 (7.0.8-0ubuntu0.16.04.3) ...

从输出中可以看出,安装创建了 Apache 的新配置。使用 systemctl 实用程序和 reload 命令使 Apache 守护程序意识到更改:

sudo systemctl reload apache2

安装了 ownCloud 服务器后,我们将继续设置一个数据库供其使用。

第二步 – MySQL 数据库配置

首先,使用管理员账户登录 MySQL:

mysql -u root -p

输入你在安装数据库服务器时为 MySQL root 用户设置的密码。

ownCloud 需要一个单独的数据库来存储管理数据。虽然你可以随意命名这个数据库,但为了简化操作,我们决定将其命名为 owncloud

CREATE DATABASE owncloud;

接下来,创建一个单独的 MySQL 用户账户,用于与新创建的数据库进行交互。从管理和安全的角度考虑,创建单一功能的数据库和账户是个不错的主意。和数据库的命名一样,选择一个你喜欢的用户名。在本指南中,我们选择使用名为 owncloud

GRANT ALL ON owncloud.* to 'owncloud'@'localhost' IDENTIFIED BY 'set_database_password';

用户被赋予对数据库的访问权限后,执行 flush-privileges 操作以确保运行中的 MySQL 实例知道最近的权限分配情况:

FLUSH PRIVILEGES;

MySQL 配置完成,因此我们将通过输入以下命令退出会话:

exit

ownCloud 服务器已安装并且数据库已设置好,现在我们可以开始配置 ownCloud 应用程序。

第三步 – ownCloud 配置

要访问 ownCloud 网页界面,请打开浏览器并输入以下地址:

https://server_domain_or_IP/owncloud

如果使用自签名证书,可能会收到警告,因为证书未由浏览器信任的机构签名。这是预期的和正常的。我们只关心证书的加密方面,而不是主机真实性的第三方验证。点击适当的按钮或链接以继续访问 ownCloud 管理页面。

你应该会看到类似以下的界面:

!ownCloud 管理页面

通过选择用户名和密码创建一个管理员账户。出于安全考虑,不建议使用类似 “admin” 的用户名。

!ownCloud 管理账户

在点击 完成设置 按钮之前,点击 存储 & 数据库 链接:

!ownCloud 数据库配置

保持 数据文件夹 设置不变,并在 配置数据库 部分点击 MySQL/MariaDB 按钮。

!ownCloud 数据库设置

输入在上一步中配置的数据库信息。以下是一个示例,与本指南中使用的数据库凭据匹配:

!ownCloud 数据库示例

点击 完成设置 按钮以登录 ownCloud。应该会出现 A safe home for all your data 欢迎界面:

!ownCloud 欢迎界面

点击欢迎界面右上角的 x 以访问主界面:

!ownCloud 主界面

在这里,你可以创建或上传文件到你的个人云存储空间。

结论

ownCloud 可以复制流行的第三方云存储服务的功能。内容可以在用户之间共享,也可以通过公共 URL 在外部共享。ownCloud 的优势在于信息存储在你控制的安全位置。

探索界面,并通过 ownCloud 的应用商店安装插件以获得额外功能。

相关文章:

在Ubuntu 16.04上安装和配置ownCloud的方法

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 简介 ownCloud 是一个文件共享服务器,允许您将个人内容(如文档和图片)存储在一个类似 Dropbox 的集…...

Java | Leetcode Java题解之第213题打家劫舍II

题目: 题解: class Solution {public int rob(int[] nums) {int length nums.length;if (length 1) {return nums[0];} else if (length 2) {return Math.max(nums[0], nums[1]);}return Math.max(robRange(nums, 0, length - 2), robRange(nums, 1,…...

使用 ESP32 接收 MAX4466 模拟麦克风模块的数据,通过 DAC 转码成 PCM 格式,并通过 MQTT 发送给另一台设备,可以通过以下步骤实现。

硬件准备 两个 ESP32 开发板MAX4466 模拟麦克风模块MQTT 服务器(例如 Mosquitto) 接线 MAX4466 模块输出(AO) -> ESP32 ADC 引脚(如 GPIO 34) 软件准备 音频采集DAC 转码MQTT 发送和接收 代码实现…...

SQL二次注入原理分析

二次注入在测试的时候比较少见,或者说很难被测出来,因为测的时候首先要去找注入的位置,其次是去判断第一次执行的SQL语句,然后还要去判断第二次进行调用的 SQL 语句。而关键问题就出在第二次的调用上面。 下面以一个常用过滤方法…...

在线签约如何选择?2024年10款顶级app大比拼

支持电子合同签约的10大app:e签宝、上上签、DocuSign、契约锁、Adobe Sign、法大大、SignNow、安心签、HelloSign、PandaDoc。 无论是企业之间的交易还是个人服务合同,线上电子合同签约提供了一种便捷、高效且安全的方式来处理法律文档。本文将介绍几款优…...

gcc: warning: -Wunused-function;加了选项,为什么就不报警告呢?

文章目录 问题clang的编译而使用gcc是就不报问题分析原因如果是非static的函数问题 下面这个代码段,其中这个函数hton_ext_2byte,在整个程序里就没有使用。 static inline uint16_t hton_ext_2byte(uint8_t **p) {uint16_t v;******return v;...

系统提示我未定义与 ‘double‘ 类型的输入参数相对应的函数 ‘finverse‘,如何解决?

🏆本文收录于「Bug调优」专栏,主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&…...

【电路笔记】-B类放大器

B类放大器 文章目录 B类放大器1、概述2、B类放大器介绍3、推挽式配置4、限制交叉失真5、B类放大器效率6、总结1、概述 我们在之前的文章中已经知道,A 类放大器的特点是导通角为 360,理论最大效率为 50%。 在本文中,我们将详细介绍另一类放大器,称为B类放大器,它是为解决A…...

Ubuntu 22.04 安装中文字体

笔者在用OpenCV4.9处理图片加水印时,中文乱码。原来是Ubuntu 22.04发行版缺少中文字体支持,因此,笔者就找资料安装了需要的中文字体,特此记录,以备后查。 1、打开终端: 2、更新软件包列表: su…...

「树莓派入门」树莓派进阶04-直流电机控制与PWM应用

直流电机控制是树莓派硬件项目中的一项重要技能。通过PWM技术,你可以实现对电机速度的精确控制。在实验过程中,请注意电机的电源匹配和GPIO引脚的保护。 一、直流电机基本原理 直流电机通过直流电源供电,其工作原理基于洛伦兹力定律,即电流通过线圈时,会在磁场中受到力的…...

利用数据集,用机器学习模型对股市预测,聊聊看!

🏆本文收录于「Bug调优」专栏,主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&…...

015-GeoGebra基础篇-定点旋转物体、动态显示数值并显示运动轨迹

这可能是我能想到的最大概率可以被你搜索到的标题了,容我先喘口气~ 目录 一、成品展示二、涉及内容三、做图步骤(1)绘制三角形t(2)建立定点D(3)制作角度滑动条(4)图形绕点…...

2024年6月份找工作和面试总结

转眼间6月份已经过完了,2024年已经过了一半,希望大家都找到了合适的工作。 本人前段时间写了5月份找工作的情况,请查看2024年5月份面试总结-CSDN博客 但是后续写的总结被和谐了,不知道这篇文章能不能发出来。 1、6月份面试机会依…...

同步时钟:北斗/GPS卫星、电信基站、NTP以太网校时方式的区别

同步时钟是保证各设备时间统一的重要装置,广泛应用于电力、通信、金融、学校、医院、地铁等多个领域。目前,常用的同步时钟方式包括:北斗/GPS卫星、电信基站、NTP以太网等。 下面跟着小编来看一下这些校时方式及他们的区别吧。 1. 北斗/GP…...

实现Java应用的快速开发与迭代

实现Java应用的快速开发与迭代 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿! 1. 引言 随着软件开发周期的不断缩短和市场竞争的加剧,快速开发和…...

利用redis数据库管理代理库爬取cosplay网站-cnblog

爬取cos猎人 数据库管理主要分为4个模块,代理获取模块,代理储存模块,代理测试模块,爬取模块 cos猎人已经倒闭,所以放出爬虫源码 api.py 为爬虫评分提供接口支持 import requests import concurrent.futures import …...

数据仓库建模基础理论-01-为什么需要数据建模?

一、什么是数据模型? 数据模型是数据库的基础结构,用于描述和组织数据的方式。 它不仅是数据库的底层结构,还是一个概念性工具,帮助理解数据的含义和关系。 数据模型包括数据本身、数据之间的关系、数据的语义(含义和…...

中序遍历的两种实现——二叉树专题复习

递归实现: /*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode() {}* TreeNode(int val) { this.val val; }* TreeNode(int val, TreeNode left, TreeNode right)…...

python 基础综合应用——小开发

#python 基础综合应用——小开发 综合复习 变量- 循环- 函数- 模块 开发 名片管理系统 名片管理系统介绍 名片管理系统可以理解成花名册软件,通过个人新建人的信息后可以进行查询等简单操作的程序 名片管理系统有三个作用, 1.新建名片 2.显示全部名…...

算法金 | 我最常用的两个数据可视化软件,强烈推荐

大侠幸会,在下全网同名「算法金」 0 基础转 AI 上岸,多个算法赛 Top 「日更万日,让更多人享受智能乐趣」 抱个拳,送个礼 预警:今天文章的描述可能会让你有点别扭;如感到不适,请及时停止 在我行…...

Chapter03-Authentication vulnerabilities

文章目录 1. 身份验证简介1.1 What is authentication1.2 difference between authentication and authorization1.3 身份验证机制失效的原因1.4 身份验证机制失效的影响 2. 基于登录功能的漏洞2.1 密码爆破2.2 用户名枚举2.3 有缺陷的暴力破解防护2.3.1 如果用户登录尝试失败次…...

linux之kylin系统nginx的安装

一、nginx的作用 1.可做高性能的web服务器 直接处理静态资源(HTML/CSS/图片等),响应速度远超传统服务器类似apache支持高并发连接 2.反向代理服务器 隐藏后端服务器IP地址,提高安全性 3.负载均衡服务器 支持多种策略分发流量…...

el-switch文字内置

el-switch文字内置 效果 vue <div style"color:#ffffff;font-size:14px;float:left;margin-bottom:5px;margin-right:5px;">自动加载</div> <el-switch v-model"value" active-color"#3E99FB" inactive-color"#DCDFE6"…...

爬虫基础学习day2

# 爬虫设计领域 工商&#xff1a;企查查、天眼查短视频&#xff1a;抖音、快手、西瓜 ---> 飞瓜电商&#xff1a;京东、淘宝、聚美优品、亚马逊 ---> 分析店铺经营决策标题、排名航空&#xff1a;抓取所有航空公司价格 ---> 去哪儿自媒体&#xff1a;采集自媒体数据进…...

rnn判断string中第一次出现a的下标

# coding:utf8 import torch import torch.nn as nn import numpy as np import random import json""" 基于pytorch的网络编写 实现一个RNN网络完成多分类任务 判断字符 a 第一次出现在字符串中的位置 """class TorchModel(nn.Module):def __in…...

Python Ovito统计金刚石结构数量

大家好,我是小马老师。 本文介绍python ovito方法统计金刚石结构的方法。 Ovito Identify diamond structure命令可以识别和统计金刚石结构,但是无法直接输出结构的变化情况。 本文使用python调用ovito包的方法,可以持续统计各步的金刚石结构,具体代码如下: from ovito…...

Python 高效图像帧提取与视频编码:实战指南

Python 高效图像帧提取与视频编码:实战指南 在音视频处理领域,图像帧提取与视频编码是基础但极具挑战性的任务。Python 结合强大的第三方库(如 OpenCV、FFmpeg、PyAV),可以高效处理视频流,实现快速帧提取、压缩编码等关键功能。本文将深入介绍如何优化这些流程,提高处理…...

结构化文件管理实战:实现目录自动创建与归类

手动操作容易因疲劳或疏忽导致命名错误、路径混乱等问题&#xff0c;进而引发后续程序异常。使用工具进行标准化操作&#xff0c;能有效降低出错概率。 需要快速整理大量文件的技术用户而言&#xff0c;这款工具提供了一种轻便高效的解决方案。程序体积仅有 156KB&#xff0c;…...

李沐--动手学深度学习--GRU

1.GRU从零开始实现 #9.1.2GRU从零开始实现 import torch from torch import nn from d2l import torch as d2l#首先读取 8.5节中使用的时间机器数据集 batch_size,num_steps 32,35 train_iter,vocab d2l.load_data_time_machine(batch_size,num_steps) #初始化模型参数 def …...

用js实现常见排序算法

以下是几种常见排序算法的 JS实现&#xff0c;包括选择排序、冒泡排序、插入排序、快速排序和归并排序&#xff0c;以及每种算法的特点和复杂度分析 1. 选择排序&#xff08;Selection Sort&#xff09; 核心思想&#xff1a;每次从未排序部分选择最小元素&#xff0c;与未排…...