Skip to content


SSH для дуже старих девайсів

Якщо виникла необхідність приєднатися по протоколу SSH до якогось дуже старого сервера (з CentOS 6, наприклад) чи мережевого пристрою, то нас може спіткати невдача приблизно отакого вигляду:

$ ssh user@10.10.10.141
Unable to negotiate with 10.10.10.141 port 22: no matching key exchange method found. Their offer: diffie-hellman-group14-sha1,diffie-hellman-group1-sha1

Щоб побороти це, потрібно в файл ~/.ssh/config додати таке (до речі, поряд з Host підтримуються wildcards):

Host 10.10.10.141
  IdentityFile ~/.ssh/id_rsa
  HostKeyAlgorithms +ssh-rsa
  PubkeyAcceptedAlgorithms +ssh-rsa
  PubkeyAcceptedKeyTypes +ssh-rsa
  KexAlgorithms +diffie-hellman-group1-sha1

Якщо далі отримуємо вже іншу помилку вигляду

no matching host key type found. Their offer: ssh-rsa,ssh-dss

то конфіг, можливо, доведеться привести до такого стану:

Host 10.10.10.141
  IdentityFile ~/.ssh/id_rsa
  HostKeyAlgorithms +ssh-rsa
  PubkeyAcceptedAlgorithms +ssh-rsa,ssh-dss
  PubkeyAcceptedKeyTypes +ssh-rsa
  KexAlgorithms +diffie-hellman-group1-sha1

Posted in *nix, Howto.

Tagged with .


Организовываем среду для Node.js приложения на VPS-сервере

Чтобы задеплоить приложение на Node.js понадобится сервер. Для этого можно арендовать простенький VPS (например, самый недорогой у СИДАТА — 350 грн в месяц) и задеплоить приложение. В этой статье подробно рассмаотрим, как это сделать.

деплой приложения NodeJS на VPS

Шаг 1. Покупаем VPS

Итак, первым делом нужно зайти на сайт SIDATA и арендовать VPS. После этого у тебя будет чистый сервер для работы.

Шаг 2. Устанавливаем Dokku

Теперь нам нужно установить Dokku — это готовая система для хостинга Node.js-проектов, аналог Heroku. Использование образа с предустановленным Dokku избавит от необходимости устанавливать и настраивать систему вручную.

# Установка Dokku для Debian
sudo DOKKU_TAG=v0.34.8 bash bootstrap.sh

Установка займёт около 5-10 минут в зависимости от скорости соединения.

Шаг 3. Настройка SSH и домена

После установки Dokku нужно настроить SSH-ключ и глобальные доменные настройки. Вот как это сделать:

cat ~/.ssh/authorized_keys | dokku ssh-keys:add admin

Если у тебя есть домен, можно его привязать:

dokku domains:set-global yourdomain.com

Если домен отсутствует, можно использовать IP-адрес сервера или sslip.io для автоматической генерации поддомена:

dokku domains:set-global 10.0.0.2.sslip.io

Шаг 4. Настройка сервера

Теперь можно завершить настройку сервера. Зайди в браузере по IP-адресу сервера, чтобы увидеть страницу настройки. Если страница недоступна, решение проблемы смотри в конце статьи.

Если у тебя есть домен, в панели управления доменом добавь такие записи:

apps.yourdomain.com. IN A [IP-адрес сервера]
*.apps.yourdomain.com. IN A [IP-адрес сервера]

После этого вернись к настройке и нажми "Finish Setup".

Шаг 5. Настройка SSH для доступа

Для подключения к серверу через SSH необходимо создать файл конфигурации:

cd ~/.ssh/
touch config
open config

Добавляем в файл следующее:

Host YOUR.DROPLET.IP.ADDRESS
IdentityFile ~/.ssh/id_rsa_yourkey

Теперь можно подключаться:

ssh [email protected]

Если всё настроено правильно, ты увидишь приветственное сообщение.

Шаг 6. Деплоим приложение

1. Подготавливаем проект

Возьми простой проект, например, "Hello, world". Проверь, что в проекте есть файлы package.json и Procfile, а также основной файл приложения, например, app.js. Вот пример package.json:

{
  "name": "dokku-demo-application",
  "version": "1.0.0",
  "engines": {
    "node": ">=0.10.*",
    "npm": ">=1.3"
  },
  "dependencies": {
    "express": "~3.0"
  }
}

Procfile должен выглядеть так:

web: node app.js

Теперь инициализируем git-репозиторий, если его ещё нет, и коммитим файлы:

git init
git add -A
git commit -m "Initial commit"

2. Заливаем проект

Добавляем удалённый репозиторий для деплоя на сервере Dokku:

git remote add dokku [email protected]:your-app

И пушим проект:

git push dokku master

После этого Dokku начнёт установку всех зависимостей, и в конце покажет URL, по которому можно проверить работу приложения.

Шаг 7. Решение возможных проблем

1. Мою банковскую карточку не приняли для оплаты

Если Visa или MasterCard не проходят, можно оплатить через PayPal.

2. Страница настройки Dokku не отображается

Перейди в панель управления сервером и выполни реконструкцию дроплета через образ с предустановленным Dokku. Это должно решить проблему.

3. Проблемы с SSH-доступом

Проверь правильность SSH-ключа, либо зайди по паролю, который был отправлен на email при создании сервера.

4. Проект не запускается

Если проект не запускается, зайди на сервер и проверь логи:

dokku logs your-app

Или попробуй вручную запустить проект:

cd /home/dokku/your-app
dokku run your-app node app.js

5. Пропустил создание SSH-ключа

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

6. Как добавить домен к существующему серверу

Добавить домен можно через DNS-записи в панели управления доменом. Укажи такие настройки:

apps.yourdomain.com. IN A [IP-адрес сервера]
*.apps.yourdomain.com. IN A [IP-адрес сервера]

На сервере открой файл HOSTNAME:

cd /home/dokku/
vim HOSTNAME

Замените IP-адрес на доменное имя, затем создай файл VHOST:

touch VHOST

И добавь в него домен. Удаляем старый remote и добавляем новый:

git remote remove dokku
git remote add dokku [email protected]:your-app

Теперь можно пушить проект с новым доменом!

Posted in Howto.

Tagged with .


Переваги та недоліки матового фотопаперу

Купити матовий фотопапірФотодрук — це мистецтво, яке дозволяє відобразити моменти та спогади у фізичній формі. Одним з ключових елементів якісного фотодруку є вибір відповідного фотопаперу. Матовий фотопапір — це популярний вибір серед професійних фотографів та любителів завдяки своїм унікальним характеристикам та перевагам. У цій статті ми розглянемо особливості матового фотопаперу, його плюси та мінуси, а також сфери застосування.

Що таке матовий фотопапір?

Матовий фотопапір - це спеціальний тип паперу для фотодруку, поверхня якого не має глянцевого блиску. Вона забезпечує м'яке, рівномірне покриття зображення, усуваючи відблиски та відображення, які можуть бути помітні на глянцевому папері. Завдяки своїй текстурі, матовий папір створює більш «спокійне» зображення, що робить його ідеальним для друку фотографій, що потребують м'якості та приглушених відтінків.

Особливості матового фотопаперу:

  1. Відсутність відблисків. Матова поверхня фотопаперу не відображає світло, що робить зображення видимим під будь-яким кутом. Це особливо важливо при створенні фотографій для виставок, презентацій або альбомів.
  2. Текстура поверхні. Матовий фотопапір має легку шорсткість, яка надає друкованому зображенню м'якість та глибину. Текстурована поверхня також робить папір більш стійким до відбитків пальців та іншим дрібним забрудненням.
  3. Природні кольори. Матовий папір відрізняється більш приглушеними, природними кольорами, що робить його ідеальним для друку портретів, пейзажів та інших зображень, де важлива реалістичність та спокійна гамма кольорів.
  4. Довговічність. Завдяки особливій структурі, матовий фотопапір стійкий до вицвітання і довговічний, що робить його хорошим вибором для друку фотографій на тривалого зберігання.

Переваги матового фотопаперу

  • Відсутність відблисків та відображень. Головна перевага матового фотопаперу полягає в здатності мінімізувати відблиски, що дозволяє глядачеві фокусуватися на самому зображенні, не відволікаючись на навколишні джерела світла.
  • Стійкість до забруднень. Матовий папір менш схильний до появи відбитків пальців і забруднень, що особливо важливо при частому використанні або перегортанні фотографій.
  • М'які, природні кольори. Матовий папір передає більш м'які та натуральні відтінки, що робить його ідеальним для портретної фотографії та друку художніх робіт.
  • Універсальність застосування. Матовий фотопапір підходить для різних типів зображень, від чорно-білих фотографій до кольорових пейзажів та портретів. Папір також може використовуватися для друку рекламних матеріалів, таких як постери та банери.

Недоліки матового фотопаперу

  • Менша яскравість кольорів. На відміну від глянцевого паперу, який надає зображенню яскравості та насиченості, матовий папір може трохи приглушувати кольори. Це робить його менш придатним для тих випадків, коли потрібна максимальна яскравість та контраст.
  • Менша деталізація. Через текстуровану поверхню матовий папір може трохи зменшувати чіткість дрібних деталей зображення, що може бути недоліком під час друку фотографій з високим рівнем деталізації.

Матовий фотопапір - це відмінний вибір для тих, хто цінує м'якість, природність та довговічність зображень. Він ідеально підходить для друку портретів, пейзажів та арт-фотографій, а також для створення рекламних матеріалів. Правильний вибір матового фотопаперу, що враховує щільність, якість покриття та сумісність з принтером, забезпечить вам чудові відбитки, які радуватимуть вас та ваших близьких протягом багатьох років.

Posted in Misc.


Чим цікава професія ДевОпс (DevOps)

Професія ДевОпс стає дедалі популярнішою та затребуванішою у світі інформаційних технологій. Цікаво, що девопс не зовсім програміст оскільки його роль включає не лише написання коду, але й вирішення багатьох інших завдань, що робить цю професію надзвичайно цікавою та різноманітною.

Що таке ДевОпс?

ДевОпс – це методологія, яка об'єднує розробку програмного забезпечення (Development) та його експлуатацію (Operations). Метою ДевОпс є покращення співпраці між командами розробників та системних адміністраторів, а також автоматизація та оптимізація всіх процесів, що пов'язані з життєвим циклом програмного забезпечення. Це дозволяє значно скоротити час на випуск нових версій програм і покращити якість продукту.

Основні обов'язки ДевОпс інженера

ДевОпс інженери відповідають за кілька ключових завдань. Вони займаються автоматизацією процесів, створюючи та підтримуючи скрипти і інструменти для автоматизації різних етапів розробки, тестування та розгортання програмного забезпечення. Моніторинг і логування також є важливою частиною їхньої роботи, що включає встановлення та налаштування систем моніторингу для відслідковування роботи додатків та інфраструктури в режимі реального часу. Управління конфігурацією здійснюється за допомогою інструментів, таких як Ansible, Puppet або Chef, для забезпечення стабільної роботи системи. Впровадження практик безперервної інтеграції та безперервного розгортання (Continuous Integration/Continuous Deployment) дозволяє швидко виправляти помилки та впроваджувати нові функції. Окрім цього, ДевОпс інженери відповідають за безпеку програмного забезпечення та інфраструктури, включаючи контроль доступу, шифрування даних та виявлення вразливостей.

Переваги та виклики професії

Професія ДевОпс має низку переваг, що робить її привабливою для багатьох спеціалістів. По-перше, різноманітність завдань: ДевОпс інженери працюють з різними аспектами розробки та експлуатації програмного забезпечення, що робить їхню роботу цікавою та різнобічною. По-друге, високий попит: з кожним роком все більше компаній впроваджують практики ДевОпс, що створює великий попит на кваліфікованих фахівців у цій галузі. По-третє, можливості для кар'єрного росту: спеціалісти можуть розвиватися в різних напрямках, таких як архітектура систем, безпека або управління командами. Нарешті, конкурентна заробітна плата: завдяки високому попиту та складності завдань, ДевОпс інженери зазвичай отримують високу заробітну плату.

Одним з найбільших переваг роботи у сфері ДевОпс є можливість постійного професійного розвитку. Сучасний технологічний світ швидко змінюється, і ДевОпс інженери постійно знаходяться на передовій цих змін. Вони мають можливість працювати з найновішими технологіями та інструментами, що не лише покращує їхні навички, але й відкриває нові горизонти для кар'єрного зростання.

Однак, професія має і свої виклики. Постійне навчання: технології швидко розвиваються, тому ДевОпс інженери повинні постійно вдосконалювати свої навички та знання. Високий рівень відповідальності: від ДевОпс інженерів залежить стабільна робота систем, тому вони мають бути готові швидко реагувати на непередбачувані ситуації. Міждисциплінарні знання: професія вимагає знань у багатьох областях, від програмування до системного адміністрування та безпеки.

Розвиток даної сфери

Професія ДевОпс є надзвичайно цікавою та перспективною для тих, хто прагне поєднати навички розробки та експлуатації програмного забезпечення. Вона пропонує різноманітні завдання, високий попит на ринку праці, можливості для кар'єрного росту та конкурентну заробітну плату. Однак, вона також вимагає постійного навчання та готовності до високого рівня відповідальності. ДевОпс – це шлях до побудови ефективних та надійних програмних рішень, що є ключовим для успіху будь-якої сучасної компанії.

Розвиток професії ДевОпс також пов'язаний з широким використанням хмарних технологій, що додає ще один рівень складності та цікавості до роботи. Хмарні платформи, такі як AWS, Google Cloud та Microsoft Azure, стали невід'ємною частиною сучасних ІТ-інфраструктур. ДевОпс інженери часто взаємодіють з цими платформами, налаштовуючи та підтримуючи складні розподілені системи. Це вимагає глибокого розуміння принципів роботи хмарних сервісів та вміння ефективно використовувати їх можливості.

Загалом, професія ДевОпс надає унікальну можливість працювати на стику розробки та експлуатації, поєднуючи технічні знання з управлінськими навичками. Вона відкриває двері до багатьох можливостей та викликів, що робить її привабливою для тих, хто прагне постійного розвитку та вдосконалення у світі інформаційних технологій.

Posted in Misc.