使用nextcloud搭建私有云服务

技术文档网 2021-04-19

文本介绍如何使用nextcloud搭建私有云服务

使用docker-compose启动

配置文件如下:

version: '3'

services:
  db:
    image: mariadb
    restart: always
    volumes:
      - /data/project/mysql:/var/lib/mysql
    environment:
      - MYSQL_ROOT_PASSWORD=
      - MYSQL_PASSWORD=
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud
  app:
    image: nextcloud
    ports:
      - 8080:80
    links:
      - db
    volumes:
      # 持久化存储数据
      - /data/project/nextcloud/html:/var/www/html
      # 配置文件
      # - ./appconfig/config.php:/var/www/html/config/config.php
    restart: always

此时已经可以通过 ip:8080来访问 nextcloud 了。

如果需要自定义host,则需要更改 config.php 文件的trusted_domains字段:

  'trusted_domains' => array (
    0 => 'xxx.xxx.xxx.xxx:8080',
    1 => 'example.com',
  ),

另外也可以通过NGINX来做Web Proxy:

  web:
    image: nginx:alpine
    ports:
      - "80:80"
      - "443:443"
    links:
      - app
    volumes:
      - /data/project/nginx/log:/var/log/nginx
      - ./conf.d:/etc/nginx/conf.d

在conf.d下面添加配置文件:

server {
    listen       80;
    server_name  host;

    #charset koi8-r;
    access_log  /var/log/nginx/access.host.log  main;

    location / {
        proxy_pass http://app;
        # 必须,否则Nextcloud无法获取真实的host而阻止访问
        proxy_set_header Host $host:$server_port;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Real-PORT $remote_port;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

相关文章

  1. supervisor使用教程

    一、安装 1:easy_install 安装: easy_install supervisor 2:pip 安装: pip install supervisor 3:Debian / Ubuntu

  2. gitlab的ssh key不生效的问题

    在用 gitlab 的管理代码时发现一个问题:如果用 http 协议,每次 push 的时候都需要输入用户名和密码,如果 用 ssh 协议,先要生成公钥: ssh-keygen -t rsa -C

  3. UOJ安装指南

    这是一个UOJ的docker版本。在安装之前,请确认Docker已经安装在您的操作系统中。这个docker的映像是64位的版本,在32位的系统上安装可能会出现错误。 安装 请先下载 JDK7u76

  4. untu14.04下创建用户并赋予执行sudo命令的权限

    untu14.04下创建用户并赋予执行sudo命令的权限 创建用户:adduser +用户名(该命令在home下生成用户目录并创建用户) 1. 切换到root用户下 2. /etc/sud

  5. 如何查看当前apache的工作模式prefork worker还是event模式?

    查看apache工作模式 $ apachectl -V (注:apachectl可理解为apache control,其实是一段bash脚本) Server version: Apache/2.4.

随机推荐

  1. supervisor使用教程

    一、安装 1:easy_install 安装: easy_install supervisor 2:pip 安装: pip install supervisor 3:Debian / Ubuntu

  2. gitlab的ssh key不生效的问题

    在用 gitlab 的管理代码时发现一个问题:如果用 http 协议,每次 push 的时候都需要输入用户名和密码,如果 用 ssh 协议,先要生成公钥: ssh-keygen -t rsa -C

  3. UOJ安装指南

    这是一个UOJ的docker版本。在安装之前,请确认Docker已经安装在您的操作系统中。这个docker的映像是64位的版本,在32位的系统上安装可能会出现错误。 安装 请先下载 JDK7u76

  4. untu14.04下创建用户并赋予执行sudo命令的权限

    untu14.04下创建用户并赋予执行sudo命令的权限 创建用户:adduser +用户名(该命令在home下生成用户目录并创建用户) 1. 切换到root用户下 2. /etc/sud

  5. 如何查看当前apache的工作模式prefork worker还是event模式?

    查看apache工作模式 $ apachectl -V (注:apachectl可理解为apache control,其实是一段bash脚本) Server version: Apache/2.4.