文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

私有化搭建个人网盘 NextCloud

2023-08-31 19:26

关注

在局域网中搭建公司内部使用的个人网盘系统,方便大家分享文档和保存文档使用,采用了 NextCloud + Collabora 的方式搭建。

# yum install -y nana wget

# vim /etc/sysconfig/selinux

SELINUX=disabled

# yum install httpd -y

# yum install -y epel-release

# yum -y install https://rpms.remirepo.net/enterprise/remi-release-7.rpm

# yum -y install yum-utils

查看可安装的 PHP 版本:

# yum repolist all | grep php

选择 php74 版本(也可以安装其他版本)

# yum-config-manager --enable remi-php74

安装:

# yum install -y php php-cli php-fpm php-mysqlnd php-zip php-devel php-gd php-mcrypt php-mbstring php-curl php-xml php-pear php-bcmath php-json php-redis

查看 php 版本:

# php -v

PHP 7.4.30 (cli) (built: Jun 7 2022 08:38:19) ( NTS ) Copyright (c) The PHP Group Zend Engine v3.4.0, Copyright (c) Zend Technologies

调整 httpd 配置,添加默认首页格式 index.php

 DirectoryIndex index.html index.php 

创建 php 测试文件:

# vim /var/www/html/info.php

打开 httpd 服务:

# systemctl start httpd

打开测试页面:

在浏览器打开:10.2.179.225/info.php

打开 phpinfo 页面即为 php 安装运行正常;

我本机已经安装好了 MySQL,在里面创建数据表;

> create database nextcloud character set utf8mb4 collate utf8mb4_general_ci;

创建用户并赋权限

> grant all on nextcloud.* to nextcloud@'%' identified by 'nextcloud'; flush privileges;

下载及安装

# wget https://download.nextcloud.com/server/releases/nextcloud-24.0.3.zip

解压缩到 httpd 的目录:

# unzip nextcloud-24.0.3.zip -d /var/www/html

# cd /var/www/html

# chown apache -Rf nextcloud

# chmod 770 -Rf nextcloud

重启 httpd 服务

# systemctl restart httpd

运行安装向导

先在本地机器的 hosts 上(用户使用的机器)中添加域名绑定(当然也可以在局域网中搭建 named 服务):

10.2.179.225    nextcloud.zsoft.com

用浏览器打开 http://nextcloud.zsoft.com/nextcloud

生成 SSL 证书

# openssl genrsa -out privkey.pem 2048

# openssl req -new -x509 -key privkey.pem -out server.pem -days 3650

生成 2 个证书文件:privkey.pem 和 server.pem

配置 SSL

# yum install mod_ssl

# mkdir /var/www/certs

# cp privkey.pem /var/www/certs

# cp server.pem /var/www/certs

# vim /etc/htttpd/conf.d/ssl.conf

打开如下两行配置的注释,并修改为自己的域名DocumentRoot "/var/www/html" ServerName nextcloud.zsoft.com:443 更改证书文件路径 SSLCertificateFile /var/www/certs/server.pem 更改证书私钥路径 SSLCertificateKeyFile /var/www/certs/privkey.pem

重启服务

# systemctl restart httpd

处理“通过不被信任的域名访问”

配置 SSL 后通过 https://nextcloud.zsoft.com/nextcloud 访问的时候会报“通过不被信任的域名访问”的错误

解决:

在 /var/www/html/nextcloud/config/config.php 配置中添加一行配置:1 => preg_match('/cli/i',php_sapi_name())?'127.0.0.1':$_SERVER['SERVER_NAME'],

# vim /var/www/html/nextcloud/config/config.php

array (     0 => '10.2.179.225',     1 => preg_match('/cli/i',php_sapi_name())?'127.0.0.1':$_SERVER['SERVER_NAME'], ),

不用重启服务,再次用浏览器访问,此报错即消失;

collabora online 要使用 docker,因此要安装 docker

# curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

# yum install epel-release -y

# yum install -y yum-utils

# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

# yum list docker-ce --show-duplicates

# yum install docker-ce-19.03.4-3.el7

# system enable docker

# vim /home/docker/daemon.json

{    "graph": "/home/docker",    "storage-driver": "overlay2",    "insecure-registries": ["registry.access.redhat.com", "quay.io"],    "registry-mirrors": ["https://q2gr04ke.mirror.aliyuncs.com"],    "bip": "172.179.225.1/24",    "exec-opts": ["native.cgroupdriver=systemd"],    "live-restore": true}

# mkdir /home/docker

# systemctl start docker

拉取镜像

使用 Docker 安装,拉取镜像:

# docker pull collabora/code:22.05.4.1.1

运行

# docker images

REPOSITORY       TAG           IMAGE ID       CREATED       SIZE                          collabora/code   22.05.4.1.1   e5dc7128ef8d   3 weeks ago   1.52GB 

# docker run -t -d -p 9980:9980 -e "aliasgroup1=https://nextcloud\.zsoft\.com:443" -e "username=admin" -e "password=123456" --restart always e5dc7128ef8d

指定 aliasgroup1 的域名,其中 . 前面用两个 \\ 转义,多个域名时用 | 分割,多个组时增加 -e "aliasgroup2=https://xxx1\\.xxx\\.com|https://xxx2\\.xxx\\.xxx:443":

设置 hosts

因为本地安装是使用的 hosts 方式绑定的域名,因此要在 docker 容器中也要设置好 hosts,否则会在加载文档时报错,当然如下设置会在 docker rm xxx 删除容器后再 docker run 生成容器时还需要重新再执行一遍,也可以通过 Dockerfile 自己打包一个镜像放到 harbor 中,这样就一劳永逸了,当前是修改的容器中配置;

查看 docker 容器的 CONTAINER ID:

# docker ps

CONTAINER ID   IMAGE          COMMAND                  CREATED          STATUS          PORTS                    NAMESdc78b8b2da95   e5dc7128ef8d   "/start-collabora-on…"   24 minutes ago   Up 24 minutes   0.0.0.0:9980->9980/tcp   lucid_kilby

进入镜像:

# docker exec -u root dc78b8b2da95 /bin/bash

安装 vim

> apt-get update

> apt-get install vim

> vim /etc/hosts

文件最后添加:

10.2.179.225 nextcloud.zsoft.com

保存退出;

浏览器访问

在浏览器打开管理页面:

https://nextcloud.zsoft.com:9980/browser/dist/admin/admin.html

用户名:admin,密码:123456

在 NextCloud 的管理界面(http://10.2.179.225/nextcloud)中点击右上角的圆形图标 -- 应用

左侧选择“Office & text”

找到“Collabora Online - Built-in CODE Server”,点击“下载并启用”

这样在页面下载常出现超时等报错,因此可以在安装 nextcloud 的服务器上运行如下命令进行安装:

# sudo -u apache php -d memory_limit=512M ./occ app:install richdocumentscode

等待一会,安装完后在应用页面看 Collabora Online - Built-in CODE Server 应用显示已经安装

再应用页面再安装 "Nextcloud Office" 应用;

打开 “设置” 页面

左侧选择 “管理” - “Next'cloud 办公套件”

选择“使用您的自有服务器”

点击 “Save”

在 nextcloud.zsoft.com 中 “文件” 下创建新文档或新表格,打开新创建的文件时,会使用在线编辑格式打开,安装完成!

来源地址:https://blog.csdn.net/zhy0414/article/details/126180767

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯