Let's Chat

Отчет

Ставим самую последнюю mongodb, pkg делает это корректно

pkg install mongodb

Прописываем в /etc/rc.conf запуск mongo

sysrc mongod_enable=YES

Ставим последний Python

pkg install python

Поставленная через pkg nodejs-012 (последняя доступная) не захотела корректно ставить и запускать lets-chat. Где-то я читал, что нужна node версией 010. В портах была.

portsnap fetch extract
cd /usr/ports/www/node010
make install clean

Как выяснилось, можно было ставить проще:

pkg install node010

Также требуется npm. Чтобы она работала с node010, ее надо ставить из портов и отметить, что использовать node010

cd /usr/ports/www/npm
make config
make install clean

но можно делать и без портов (и работает не хуже, а в чем-то даже и корректнее):

Ставим:

curl https://www.npmjs.com/install.sh | sh

Не пошло -

pkg install npm

Запускаем mongod

service mongod start

Скачиваем lets-chat (я его решил ставить сразу в директорию /lets-chat):

cd /
git clone https://github.com/sdelements/lets-chat.git
cd /lets-chat
npm install

Можно запускать

npm start &

Теперь можно конфигурировать на использование SSO или LDAP

Инструкция тут: https://github.com/sdelements/lets-chat/wiki

Хочется сделать вход по серту. Надо понять, как входят в веб-морду почты по серту и как происходит аутентификация в ЛДАП в этом случае.

Направление понятно, похоже надо лепить LDAP

Сброс

Чтобы сбросить все содержимое чата, роняем базу монго.

mongo drop

  • Входим в клиент, который назвается mongo
  • Смотрим, какие базы есть командой show dbs
  • Входим в требуемую базу командой use our_database_name
  • Проверяемся, где мы db. Оно должно сказать, что мы в базе our_database_name
  • выполняем команду db.dropDatabase()
  • когда мы посмотрим на имеющиеся базы show dbs, оно покажет нашу базу пустой (размер 0)
  • Попутно сбрасываем в ноль базу local, ибо там ничего путного нет.
  • Теперь можно создавать пользователей с нуля.
mongo
show dbs
use letschat
db.dropDatabase()
use local
db.dropDatabase()
show dbs
exit

HTTPS

Слепил сетртификаты, как указано Аутентификация пользователя сайта по сертификату Поменял settings.yml

settings.yml
env: production # development / production

http:
  enable: false
  host: 'localhost'
  port: 5000

https:
  enable: true
  port: 443
  key: /etc/ssl/server.key
  cert: /etc/ssl/server.crt

files:
  enable: true
  provider: local
  maxFileSize: 100000000
  restrictTypes: true
  allowedTypes:
    - 'image/jpeg'
    - 'image/png'
    - 'image/gif'
    - 'text/plain'
    - 'text/rtf'
    - 'application/msword'
    - 'application/pdf'
    - 'application/zip'
    - 'video/quicktime'
    - 'video/mp4'
  local:
    dir: uploads

xmpp:
  enable: false
  port: 5222
  domain: example.com

database:
  uri: mongodb://localhost/letschat

secrets:
  cookie: secretsauce

auth:
  providers: [local]
  local:
    enableRegistration: true
    salt: secretsauce 

Рестартанул npm

Импортнул ca.cert в браузер

Добавил адрес компа в локальную зону.

Зашел по Https. Браузер проглотил https как родное. Пароль вводил руками. Теоретически, можно прикрутить Jabber (xmpp).

Бросил пикчу в строку ввода текста чата. Оно выжадо интерфейс добавления файла. Картинки (.png, .jpg, .jpeg) добавляютя.

Подрихтовал settings.yml - пошли файлы других типов. Для базы файлмейкера надо разрешать тип application/octet-stream.

Если все юзеры будут доверенными, то можно отключить проверку типов файлов.

unix/lets-chat.txt · Last modified: 2015/10/10 02:12 by rybario
About this template
CC Attribution-Share Alike 4.0 International
Powered by PHP Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0 Valid HTML5