700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 私有化搭建个人网盘 NextCloud

私有化搭建个人网盘 NextCloud

时间:2019-11-14 04:55:36

相关推荐

私有化搭建个人网盘 NextCloud

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

安装相关包

# yum install -y nana wget

关闭 SELINUX

# vim /etc/sysconfig/selinux

SELINUX=disabled

安装 httpd

# yum install httpd -y

安装 PHP

# yum install -y epel-release

# yum -y install /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 08:38:19) ( NTS ) Copyright (c) The PHP Group Zend Engine v3.4.0, Copyright (c) Zend Technologies

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

<ifModule dir_module> DirectoryIndex index.html index.php </ifModule>

创建 php 测试文件:

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

<?php phpinfo(); ?>

打开 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;

NextCloud

下载及安装

# wget /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

用户名:nextcloud密码:nextcloud数据目录:/var/www/html/nextcloud/data (此项为默认值)配置数据库 MySQL/MariaDB数据库用户:nextcloud数据库密码:nextcloud数据库名:nextcloud数据库主机:127.0.0.1:3306点击“安装”

生成 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 :443 更改证书文件路径 SSLCertificateFile /var/www/certs/server.pem 更改证书私钥路径 SSLCertificateKeyFile /var/www/certs/privkey.pem

重启服务

# systemctl restart httpd

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

配置 SSL 后通过 /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'], ),

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

Docker

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

# curl -o /etc/yum.repos.d/CentOS-Base.repo /repo/Centos-7.repo

# yum install epel-release -y

# yum install -y yum-utils

# yum-config-manager --add-repo /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.", "quay.io"],"registry-mirrors": ["https://q2gr04ke."],"bip": "172.179.225.1/24","exec-opts": ["native.cgroupdriver=systemd"],"live-restore": true}

# mkdir /home/docker

# systemctl start docker

collabora online

拉取镜像

使用 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 IMAGECOMMAND CREATEDSTATUSPORTSNAMES dc78b8b2da95 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

保存退出;

浏览器访问

在浏览器打开管理页面:

:9980/browser/dist/admin/admin.html

用户名:admin,密码:123456

NextCloud 连接 Collabora

在 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 办公套件”

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

在线协作服务器的 URL(和端口)::9980✔禁用证书校验(不安全)

点击 “Save”

测试

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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。