Browse Source

first commit

master
byzoni 5 months ago
parent
commit
5dce5a2a5a
Signed by: byzoni <byzoni@byzoni.org> GPG Key ID: CB748B5A35E95507
2 changed files with 147 additions and 0 deletions
  1. +147
    -0
      content/post/installing-cryptpad-on-ubuntu.md
  2. BIN
      static/img/cryptpad/cryptpad-intro.png

+ 147
- 0
content/post/installing-cryptpad-on-ubuntu.md View File

@@ -0,0 +1,147 @@
+++
title = "Установка CryptPad в Ubuntu 18.04"
date = "2020-01-21T20:16:51+05:00"
draft = true
tags = ["Security", "Blockchain", "Tech Share", "Tutorials", "CryptPad", "Google Docs", "Collaboration"]
topics = []
description = ""
+++

CryptPad - это сервис совместного редактирования в реальном времени с открытым исходным кодом, который доступен по адресу https://github.com/xwiki-labs/cryptpad.

## Установка

CryptPad, полностью основанный на облаке, можно использовать со своего официального веб-сайта по адресу https://cryptpad.fr или в качестве решения с открытым исходным кодом, которое вы можете загрузить, а затем развернуть на собственном сервере, чтобы он был доступен из любого современного веб-браузера.

Есть много способов установить CryptPad. Вы можете либо установить его вручную из исходного кода, либо настроить его с помощью Docker, либо запустить его с помощью Ansible. Ниже мы рассмотрим каждый из этих трех методов один за другим.

## Метод 1: Установка из источника

Давайте пройдёмся по первому способу. Короче говоря, установка из исходного кода относится к более техническому подходу, при котором вам необходимо сначала получить исходный код, установить необходимые утилиты или зависимости, а затем запустить само приложение. Вот необходимые компоненты перед установкой из источника:

- [Git](https://git-scm.com)
- [NodeJS](https://nodejs.org/en) (Кроме того, [NVM](https://github.com/nvm-sh/nvm) опционально, но тем не менее рекомендуется для управления версиями Node.)
- [NPM](https://www.npmjs.com)
- [Bower](https://bower.io) (Мы можем установить это с помощью команды npm install -g bower в Npm.)

Кроме того, вы можете получить исходный код, клонировав репозиторий GitHub с помощью следующей команды: git clone https://github.com/xwiki-labs/cryptpad. Войдите в локальную копию проекта и используйте команду npm install или bower install для установки всех необходимых пакетов/библиотек, от которых зависит проект.

Папка config - это то место, куда мы должны перейти, чтобы предоставить необходимые параметры для беспрепятственного запуска проекта. Пример конфигурации есть. Он называется config.example.js. Мы можем использовать его как основу для создания config.js, просто сделав полную копию: cp config.example.js config.js. Файл конфигурации по умолчанию, как правило, достаточно хорош для большинства случаев, но вы можете обновить его содержимое в соответствии с вашими потребностями.

Теперь, когда мы закончили настройку в корневой папке проекта, вам нужно только запустить сервер командой node server. Вот как выглядит главная страница, когда мы получаем доступ к приложению через порт 3000:

![cryptpad-intro.png](/img/cryptpad/cryptpad-intro.png)

Вам также может потребоваться выполнить еще несколько дополнительных действий, если вы развертываете CryptPad в общедоступном Интернете, а не на локальном компьютере. В частности, вам нужно сделать следующее:

- Запустите его как daemon, чтобы CryptPad оставался включенным и автоматически запускался после перезапуска сервера. Вы можете использовать foreverjs и systemd для достижения этой цели. Вы можете сослаться на это [руководство](https://github.com/xwiki-labs/cryptpad/wiki/Daemonization).
- Я рекомендую также запустить его за обратным прокси-сервером. Фактически, в производственных средах рекомендуется запускать его за обратным прокси-сервером для обработки запросов, если вы используете [Ngnix](https://www.nginx.com), [Apache](https://www.apache.org), [HAProxy](http://www.haproxy.org) или [Trafik](https://traefik.io). Конфигурации показаны на этой [странице](https://github.com/xwiki-labs/cryptpad/wiki/Reverse-proxy).
- Настройте заголовки CSP (Политика безопасности контента): https://github.com/xwiki-labs/cryptpad/wiki/CSP-headers
- Настройка HTTPS

Вы можете обновить свою конфигурацию относительно легко. Фактически вы можете сделать это, просто выполнив три следующие команды в корневой папке вашего проекта. Ниже приведены три команды и описание того, что делает каждая команда.

- git pull : используйте для получения самой последней версии исходного кода
- npm update : используется для обновления зависимостей npm, которые сохраняются в node_modules
- bower update : используется для обновления зависимостей bower, сохраненных в bower_components)

## Метод 2: Установка Docker

Репозиторий CryptPad GitHub включает в себя все необходимые инструменты для создания образа CryptPad-Docker. После того, как вы создали контейнер CryptPad с помощью Docker, мы можем самостоятельно управлять контейнером и позволить Docker compose обрабатывать его для нас.

Вот некоторые из функций, доступных после установки CryptPad с помощью Docker:

- Конфигурация с использованием файла .env
- Способен с последними версиями GitHub Master
- Возможность создавать собственные папки
- Добавление config.js для настройки папки
- Постоянство для хранения данных и настройки папки

Вы можете запустить CryptPad, выполнив следующие команды:

- docker build -t xwiki/cryptpad .
- docker run --restart=always -d --name cryptpad -p 3000:3000 -p 3001:3001 \
-v /var/cryptpad/files:/cryptpad/datastore \
-v /var/cryptpad/customize:/cryptpad/customize \
-v /var/cryptpad/blob:/cryptpad/blob \
-v /var/cryptpad/blobstage:/cryptpad/blobstage \
-v /var/cryptpad/pins:/cryptpad/pins \
-v /var/cryptpad/tasks:/cryptpad/tasks \
-v /var/cryptpad/block:/cryptpad/block \
xwiki/cryptpad

Или с помощью одной команды, использующей docker-compose, которая будет функционировать путем копирования состояния экземпляра в текущем каталоге в ./data : docker-compose up –d.

Вы можете ознакомиться с полным руководством [здесь](https://github.com/xwiki-labs/cryptpad/blob/master/docs/cryptpad-docker.md) по Docker, чтобы лучше настроить его и настроить постоянство не так, как по умолчанию, а также управлять прокси-сервером SSL.

## Метод 3: Установка Ansible

Чтобы CryptPad работал с Ansible, вам потребуется использовать переменные роли для настройки CryptPad. Переменные роли отвечают за установку и запуск CryptPad на порту 30000. Переменные роли следующие:

## Role variables
cryptpad_required_packages:
- nodejs
- git

cryptpad_repository: "https://github.com/xwiki-labs/cryptpad.git"
cryptpad_repository_key_file: ""
cryptpad_repository_version: "master"
cryptpad_user: "cryptpad"
cryptpad_group: "{{ cryptpad_user }}"
cryptpad_home: "/home/cryptpad"
cryptpad_path: "{{ cryptpad_home }}/cryptpad"
cryptpad_update: False

# enable monit service monitoring
cryptpad_monit_enabled: False

## template/config.js variables
cryptpad_http_address: "::"
cryptpad_http_headers_enabled: "True"
cryptpad_content_security_enabled: "True"
cryptpad_pad_content_security_enabled: "True"
cryptpad_http_port: 3000
cryptpad_http_safe_port: 3001
cryptpad_websocket_path: "/cryptpad_websocket"
cryptpad_log_to_stdout: "false"
cryptpad_verbose: "false"
cryptpad_main_pages:
- index
- privacy
- terms
- about
- contact
- what-is-cryptpad

cryptpad_remove_donate_button: "false"
cryptpad_allow_subscriptions: "false"
cryptpad_domain: "i.did.not.read.my.config.myserver.tld"
cryptpad_default_storage_limit: "50 * 1024 * 1024"
cryptpad_admin_email: "i.did.not.read.my.config@cryptpad.fr"
cryptpad_storage: "./storage/file"
cryptpad_file_path: "./datastore/"
cryptpad_pin_path: "./pins"
cryptpad_blob_path: "./blob"
cryptpad_blob_staging_path: "./blobstage"
cryptpad_channel_expiration_ms: 30000
cryptpad_open_file_limit: 2048
cryptpad_rpc: "./rpc.js"
cryptpad_suppress_rpc_errors: "false"
cryptpad_enable_uploads: "true"
cryptpad_max_upload_size: "20 * 1024 * 1024"
Теперь вам нужно скачать последнюю версию ansible-galaxy, а затем выполнить следующую команду, чтобы правильно установить требуемую роль:

ansible-galaxy install systemli.cryptpad
Вот игровая книга, которую мы можем сразу использовать в качестве примера:

- hosts: servers
roles:
- { role: systemli.cryptpad }
**Примечание**: Эта роль Ansible лицензируется в соответствии с [GNU GPL v3](https://www.gnu.org/licenses/gpl-3.0.en.html).

Отметим, что на момент написания этой статьи текущей версией является 3.9.0 (JamaicanMonkey), полный список релизов доступен на [GitHub](https://github.com/xwiki-labs/cryptpad/releases).

**Примечание**: Исходный код CryptPad размещен на [GitHub](https://github.com/xwiki-labs/cryptpad).

BIN
static/img/cryptpad/cryptpad-intro.png View File

Before After
Width: 799  |  Height: 348  |  Size: 286 KiB

Loading…
Cancel
Save