Перейти до основного вмісту

Публікації

Встановлення безкоштовного SSL сертифікату від Let's Encrypt на Ubuntu-сервер

SSL-сертифікат - важливий компонент сучасного web-сайту. Let's Encrypy надає можливість отримати такий сертифікат абсолютно безкоштовно. Сертифікат реєструється на 3 місяці. Після цього його можна автоматично продовжити. Розглянемо випадок, коли домен вже зареєстрований і налаштований на відповідний сервер. На сервері встановлена операційна система Ubuntu. Apache Server Для початку не сервері має бути встановлений та запущений web-сервер. Наприклад, Apache. Якщо це не зроблено, то потрібного його встановити. Оновлюємо apt: sudo apt update Встановлення Apache: sudo apt install apache2 Корисними будуть команди Перевірити статус: sudo systemctl status apache2.service Старт: sudo systemctl start apache2.service Зупинка: sudo systemctl stop apache2.service Рестарт: sudo systemctl restart apache2.service Certbot Сертифікат найпростіше згенерувати за допомогою Certbot. Детальну інструкцію можна отримати на сайті https://certbot.eff.org/ Далі команди, які використовують...

Встановлення Jenkins на Ubuntu

Встановлення Jenkins на Ubuntu 22.04 Оновлюємо список встановлених пакетів: sudo apt-get update На машині має бути встановлена одна із актуальних версій JDK. В даному прикладі використовується JDK 17. Як встановити та переключати версії Java на Ubuntu в попередній статті Підключаємо необхідний репозиторій. Для цього спершу додаємо GPG-ключ: curl -fsSL https://pkg.jenkins.io/debian-stable/jenkins.io-2023.key | sudo tee /usr/share/keyrings/jenkins-keyring.asc > /dev/null Додаємо репозиторій: echo deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc] https://pkg.jenkins.io/debian-stable binary/ | sudo tee /etc/apt/sources.list.d/jenkins.list > /dev/null Для активації зроблених змін знову виконуємо команду sudo apt-get update Встановлюємо Jenkins: sudo apt install jenkins Запуск: sudo systemctl start jenkins Налаштування портів Jenkins використовує по замовчуванню порт 8080. Тому для роботи з Jenkins цей порт має бути відкритий. Перевіряємо статус ufw: sudo...

Встановлення docker на сервер з операційною системою Ubuntu

Встановлення docker на сервер з операційною системою Ubuntu 22.04 Встановдення docker на десктопний Ubuntu розглядається тут . Оновлюємо список встановлених пакетів: sudo apt update Встановлюємо пакети, які дозволяють apt працювати через HTTPS: sudo apt install apt-transport-https ca-certificates curl software-properties-common Додаємо GPG-ключ: curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg Додаємо репозиторій Docker: echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null Знову оновлюємо пакети: sudo apt update Перевіряємо, чи зміни збереглися: apt-cache policy docker-ce Приблизний результат: docker-ce: Installed: (none) Candidate: 5:24.0.4-1~ubuntu.22.04~jammy Version table: 5:24.0.4-...

Проблема при запуску Liquibase на Digital Ocean та її вирішення

Нещодавно зустрівся з такою проблемою: SpringBoot-проєкт не запустився на сервері через проблему пов’язану з Liquibase. Детальніше про проєкт Сам проєкт повністю написаний на SpringBoot, база даних на MySQL, міграція здійснюється за допомогою Liquibase. Проєкт відносно невеликий і локально запускався і працював без проблем. Але при запуску на продакт-сервері отримувалася помилка: ERROR org.springframework.boot.SpringApplication [main] Application run failed org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'liquibase' defined in class path resource [org/springframework/boot/autoconfigure/liquibase/LiquibaseAutoConfiguration$LiquibaseConfiguration.class]: Invocation of init method failed; nested exception is liquibase.exception.DatabaseException: Unable to create or change a table without a primary key, when the system variable 'sql_require_primary_key' is set. Add a primary key to the table or unset this variable to avoid this me...

Встановлення NodeJS на Ubuntu

NodeJS — це середовище виконання JavaScript для програмування на стороні сервера. Це дозволяє розробникам створювати масштабовану функціональність серверної частини за допомогою JavaScript. Також NodeJS часто необхідний для розробки на сучасних front end фреймворках та бібліотеках. Перевірити встановлену версію можна за допомогою команд node --version або node -v Встановлення за допомогою apt Якщо середовище nodejs ще не встановлене, можна встановити його ввівши команду sudo apt install nodejs Але в цьому випадку буде встановлена не остання версія, а v12.22.9. Хоча вже є доступна 18-та версія, яка є LST- версією. Якщо найновіша версія не потрібна, то таким же чином можна встановити і npm: sudo apt install npm Перевірка встановленої версії: npm --version або npm -v Якщо потрібна одна із найновіших версій, то можна зробити наступне. Встановлення за допомогою NodeSource PPA Найновішу версію можна встановити за допомогою NodeSource PPA (personal package...

Робота з різними версіями JDK в Ubuntu

Часто доводиться в різних проєктах працювати з різними вірсіями JDK. В Ubuntu це робити досить зручно. Дізнатися поточну версію: java -version Припустимо, що потрібно перейти на версію 11. Отримати список встановлених версій JDK: update-java-alternatives --list Якщо потрібна версія не встановлена, то можна її встановити за допомогою команди: sudo apt-get install openjdk-11-jdk Змінити активну версію: sudo update-alternatives --config java Потрібно ввести номер версії, в даному випадку 1. Перевірити, чи зміна відбулася успішно: java -version

Базові команди для роботи з Docker

Основні поняття Образ (image) - це певний шаблон для створення контенера. Шаблон можна взати готовий або створити самостійно. Образ може містити сирцевий код, бібліотеки, залежності та інші файли, необхідні для запуску застосунку. Контейнер (container) - це зібраний та запущений в окремому процесі образ. Робота з обазами Перегляд образів, що є в системі: docker images Додавання образу: docker pull image-name Наприклад наступна команда додає образ node.js: docker pull node Видалення образу: docker rmi image-id Робота з контейнерами Запуск контейнера: docker run image-id Список контейнерів можна переглянути командою docker ps або docker ps -a В другому випадку виведуться всі контейнери незалежно від стану. Видалити контейнер можна командою docker rm conteiner-id Видалити всі зупинені контейнери: docker container prune Якщо запускати образ із параметром --rm, то відповідний контейнер буде видалятися автоматично після зупинки.