Записки системного администратора
  • Главная
      • безопасность apache2
      • массовое изменение прав chmod chown
      • nexcloud при стандартной установки не хватает пакетов
      • начало пути с nginx
      • система otrs debian
      • goaccess парсинг логов по домену
      • обновление clamav
      • mysql adminer
      • обновить phpMyAdmin на debian 11
      • Как отследить источник Aborted_connects mysql server
      • несколько версий php на сервере
      • default php
      • openvpn-as
      • openvpn-as debian 11 install
      • openvpn debian 12 install
      • openvpn debian 12
    • utm эгаис
    • создание swap debian 10/11
      • minio mc.exe minio --help
      • s3 хранилище minio debian 11 letsencrypt
      • политики для пользователей minio
      • minio перенос policies и users
      • minio nginx letsencrypt
      • Обновление minio
    • debian-transmission nginx letsencrypt debian 11
    • conky debian 11
    • переход с wmvare на proxmox
    • proxmox с общим хранилищем под backup
    • монтирование NFS не привилегированный контейнер lxc
    • увеличиение дискового пространства ВМ proxmox
    • отправление уведомление smtp proxmox
    • создание и подключение LVM proxmox
    • увеличение дискового пространства ВМ proxmox
    • proxmox расширение lvm
    • Обновление Proxmox 6 до 7
    • запуск openvpn в lxc не привилегированном контейнере
    • proxmox ansible-playbook автоматизируем создание и запуск VM
    • ansible шаблоны debian ubuntu
    • Обновление portainer&agent docker sworm
      • Установка jenkins docker
      • Обновление Jenkins в docker контейнере
      • Очистка старых записей в jenkins docker
      • При деплое выходит ошибка Failed to clean the workspace
    • docker && docker-compose
      • установка kubernetus debian 11
      • kubernetus что дальше после установки
      • создание манифестов
      • dashboard kubernetus
    • pfsense блокировка https
    • nextcloud + onlyoffice = для малого бизнеса
    • Облачное хранилище nextcloud
  • Навигация
  1. Вы здесь:  
  2. Главная
  3. linux
  4. разное
  5. обновление clamav
  6. Uncategorised

s3 хранилище minio debian 11 letsencrypt

Информация о материале
Автор: Павел
Категория: Uncategorised
Опубликовано: 20 февраля 2023
Просмотров: 669

Будем поднимать свою хранилище на minio

minio - это популярный открытый сервер хранилища объектов, совместимый с сервисом облачных хранилищ Amazon S3. Приложения, которые взаимодействуют с Amazon S3, также можно настроить для взаимодействия с Minio, благодаря чему Minio является удобной альтернативой S3 для тех, кому нужно больше контроля над сервером хранения объектов. Сервис хранит неструктурированные данные, такие как фотографии, видео, файлы логов, резервные копии и образы контейнеров или виртуальных машин, и может даже предоставить единый сервер хранения объектов, который объединит несколько дисков, распределенных по разным серверам

И так поехали

wget https://dl.min.io/server/minio/release/linux-amd64/minio

chmod +x minio

useradd -r minio -s /sbin/nologin

chown minio:minio /usr/local/bin/minio

fdisk -l
parted -s -a optimal -- /dev/sdb mklabel gpt

parted -s -a optimal -- /dev/sdb mkpart primary 0% 100%

parted -s -- /dev/sdb align-check optimal 1
mkfs.ext4 /dev/sdb1

mount -a
nano /etc/fstab
/dev/sdb1 /mnt/minio ext4 rw 0 0
df -h

mkdir /var/lib/minio

chown minio:minio /var/lib/minio

mkdir /etc/minio

chown minio:minio /etc/minio

nano /etc/default/minio

MINIO_ACCESS_KEY="minio"
MINIO_VOLUMES="/usr/local/share/minio/"
MINIO_OPTS="-C /etc/minio --address your_server_ip:9000"
MINIO_SECRET_KEY="miniostorage"

curl -O https://raw.githubusercontent.com/minio/minio-service/master/linux-systemd/minio.service

nano minio.service

В файле меняем пользователя на minio

mv minio.service /etc/systemd/system

systemctl daemon-reload

systemctl enable minio

Created symlink from /etc/systemd/system/multi-user.target.wants/minio.service to /etc/systemd/system/minio.service.

systemctl start minio

systemctl status minio

Далее нам надо будет поставить cerbot

apt install software-properties-common

apt install certbot

certbot certonly --standalone -d minio-server.domain

cp /etc/letsencrypt/live/minio-server.domain/privkey.pem /etc/minio/certs/private.key

cp /etc/letsencrypt/live/minio-server.domain/fullchain.pem /etc/minio/certs/public.crt

systemctl restart minio

Что бы работал https интерфейс изменим настройку

в файле /etc/default/minio

MINIO_ACCESS_KEY="blabla-users"
MINIO_VOLUMES="/var/lib/minio"
MINIO_OPTS="-C /etc/minio --address s3.domain:9000 --console-address s3.domain:9001"
MINIO_SECRET_KEY="ctrhtn&kadsjL"

systemctl restart minio

Открываем браузер и пользуемся

 

При деплое выходит ошибка Failed to clean the workspace

Информация о материале
Автор: Павел
Категория: Uncategorised
Опубликовано: 06 февраля 2023
Просмотров: 540

При попытки отправить на сборку вышла ошибка

ERROR: Failed to clean the workspace jenkins.util.io.CompositeIOException: Unable to delete '/var/jenkins_home/workspace/'

Выполняем подключение к контейнеру

docker container exec -u 0 -it jenkins-jenkins-1 bash

и выполним команду

chown -R jenkins:jenkins /var/jenkins_home/workspace/

далее выходим из контейнера 

exit

и пробуем вновь запустить сборку. Все ошибки нет.

установка jenkins docker

Информация о материале
Автор: Павел
Категория: Uncategorised
Опубликовано: 31 января 2023
Просмотров: 568

Создадим проект (папку) и назовем ее jenkins, внутри нее будем создавать файлы/папки.

Создаем файл docker-compose.yml с таким вот содержимым

version: '3.7'
services:
    nginx:
        image: nginx:alpine
        ports:
            - "8000:8000"
        volumes:
            - ./docker/development/nginx/conf.d:/etc/nginx/conf.d
        depends_on:
            - jenkins

    jenkins:
        build:
            context: ./docker/common/jenkins
        environment:
            DOCKER_HOST: tcp://docker:2376
            DOCKER_CERT_PATH: /certs/client
            DOCKER_TLS_VERIFY: 1
        volumes:
            - jenkins-data:/var/jenkins_home
            - docker-certs:/certs/client:ro
        depends_on:
            - docker
   docker:
        image: docker:dind
        privileged: true
        environment:
            DOCKER_TLS_CERTDIR: /certs

volumes:
            - jenkins-data:/var/jenkins_home
            - docker-certs:/certs/client
            - docker-data:/var/lib/docker

создаем файл Makefile и сделаем для себя нужные команды, для запуска перезапуска и так далее

init: docker-down docker-pull docker-build docker-up
up: docker-up
down: docker-down

docker-up:
	docker-compose up -d

docker-down:
	docker-compose down --remove-orphans

docker-pull:
	docker-compose pull

docker-build:
	docker-compose build --pull

show-initial-password:
	docker-compose exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword

Из текста понятно, что за команды можно выполнять

запускаем команду из проекта make init после сборки запускаем браузер и открываем адрес localhost:8000 и нас встречает такая страница

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

docker-compose exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword

это содержимое введем в строку и нажимаем далее

Выбираем тип установки, с наиболее популярными пакетами установить или же сами выбираем что нам требуется для установки

Я выбрал первый вариант, предполагаемые пакеты. 

Далее создаем своего первого пользователя, вводил логин мыло и свой пасс

Далее нажимаем сохранить и продолжить и нас встречает вот такой интерфейс

Вот и готов наш проект jenkins, тут можно посмотреть как его обновить, а тут как очистить от старых записей.

Но мы желаем в дальнейшем использовать в локальной разработке или вывод его в продакшн и использовать протокол https letsencrypt

создаем в нашем проекте папки docker/development/nginx/conf.d и создаем файл jenkins.conf вот с таким содержимым

server {
    listen 8000;
    server_tokens off;

    location / {
        proxy_pass         http://jenkins:8080;
        proxy_set_header   Host          $http_host;
        proxy_set_header   X-Real-IP     $remote_addr;
        proxy_set_header   X-Forwarded-For   $proxy_add_x_forwarded_for;
        proxy_set_header   X-Forwarded-Proto $scheme;
        proxy_read_timeout 900;
    }
}

и немного подправлю docker-compose.yml добавлю в него nginx в самом начале я уже сделал правки

Перезапускаем наш проект командой make init

Все перезапустим браузер и видим что все работает нас только разлогинило.

Далее создаем в корне еще папки common/jenkins

создаем там Dockerfile с таким вот содержимым

FROM jenkinsci/blueocean

USER root

RUN apk add --no-cache py-pip python3-dev libffi-dev openssl-dev gcc libc-dev rust cargo make gettext \
    && pip3 install docker-compose

USER jenkins

Я очень надеюсь, что вы понимаете что в данном файле будет происходить.

Пересоберем наш проект

make init

После перезапуска проекта, перезапускаем браузер и проверяем, что все работает

 

jenkins

Информация о материале
Автор: Павел
Категория: Uncategorised
Опубликовано: 31 января 2023
Просмотров: 5682

Установка jenkins docker - установка jenkins docker

Обновление jenkins docker - Обновление Jenkins docker контейнере

Очистка старых записей jenkins docker - Очистка старых записей в jenkins docker

 

Как отследить источник Aborted_connects mysql server

Информация о материале
Автор: Павел
Категория: Uncategorised
Опубликовано: 13 января 2023
Просмотров: 576

Как отследить источник Aborted_connects mysql server

Исследуя эту проблему, я заметил несколько неладных моментов, которые казались связанными, но на самом деле таковыми не были.

Самый большой измеримый признак был

mysqladmin -p ext | grep Abort | grep -v 0
Enter password:
| Aborted_clients                                       | 2                                                                                                                                                                                                                          |
| Aborted_connects                                   | 112776

Эти две переменные состояния на самом деле не связаны (см. страницу руководства, где они объясняются). Первая была связана с ошибками, которые видел клиент: сервер через некоторое время закрывал неактивные соединения, и я исправил это, увеличив конфигурационную переменную wait_timeout.

Вторая ошибка не указывает на то, что активное соединение вообще закрыто. Скорее, это показывает, что соединение не может быть установлено по какой-то причине. Возможно, это сеть, или, возможно, проблема с разрешениями или что-то еще. Первое, что я сделал, это проверил наличие потери пакетов между сервером базы данных и веб-сервером; сеть работала нормально.

Исключив это (по крайней мере, к моему удовлетворению), я обратился к tcpdump, чтобы посмотреть, что происходит с этими соединениями. Я выполнил следующую команду в одном окне своего сеанса экрана, чтобы увидеть, когда соединение было прервано:

tcpdump -s 1500 -w tcp.out port 3306

После того, как я увидел прерванное соединение, я отменил tcpdump и посмотрел полученный файл. Проверка сеанса с помощью tcpdump -r показала, что сеанс TCP завершен; на этом слое ничего плохого не происходило. Поэтому я использовал утилиту strings для просмотра текста, отправленного в пакетах:

strings tcpdump.out

Host 'XXX.XX.XX.XXX' is not allowed to connect to this MySQL server

Я проверил этот IP-адрес.... но перед этим, я решил проверить таблицы GRAND сервера и действительно... этот IP-адрес который является машиной в локальной сети не разрешен для подключения.

 

  1. Очистка старых записей в jenkins docker
  2. Обновление portainer&agent docker sworm
  3. Установка OpenVPN Access Server debian 11
  4. CI/CD

Страница 3 из 7

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

Партнеры

skid.crm

Система СКИД - онлайн приложение

для автоматизации строительного
контроля и ведения документации
по строительным объектам

Map
Cервер и сайт запущен 2011.02.01 на Debian
© 2025 Записки системного администратора. Все права защищены.
Joomla! CMS - программное обеспечение, распространяемое по лицензии GNU General Public License.