username
необходимо указать логин пользователяДанная инструкция позволит вам настроить веб сервер NGINX в операционной системе Alpine Linux для размещения статических файлов, например репозитория дистрибутивов ПО.
Необходимо выполнить следующие команды для добавления и настройки Nginx:
apk update
apk add nginx
adduser -D -g 'www' www chown -R www:www /var/lib/nginx chown -R www:www /var/local-repo
repo.local
- доменный адрес создаваемого сервера.vi /etc/nginx/http.d/mirror.conf
server { listen 80; server_name repo.local; add_header X-Frame-Options "SAMEORIGIN"; add_header Referrer-Policy "no-referrer"; root /var/local-repo/; location / { autoindex on; allow all; sendfile on; sendfile_max_chunk 1m; autoindex_exact_size off; autoindex_format html; autoindex_localtime on; } error_page 404 /404.html; location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } }
rc-service nginx start rc-update add nginx default
Для защиты веб сервера NGINX простой авторизацией, требующей ввод имени пользователя и пароля необходимо:
apk add apache2-utils
touch /etc/nginx/.htpasswd && chown www:www /etc/nginx/.htpasswd
htpasswd /etc/nginx/.htpasswd username
location /
строки с указанием необходимости авторизации пользователей2): vi /etc/nginx/http.d/mirror.conf
auth_basic "Restricted Content"; auth_basic_user_file /etc/nginx/.htpasswd;
rc-service nginx restart
Для регулярной синхронизации пакетов и обновления локального репозитория необходимо добавить следящие строки в планировщик заданий пользователя www
. Для этого необходимо выполнить команду
crontab -u www -e
В открывшемся редакторе планировщика добавить следующие строки:
0 0 * * 1-5 /usr/bin/rsync -av rsync://updates.rosplatforma.ru/r-virtualization-linux /var/local-repo/www/r-virtualization-linux --exclude "6" --delete 0 2 * * 1-5 /usr/bin/rsync -av rsync://updates.rosplatforma.ru/r-virtualization /var/local-repo/www/r-virtualization --delete 0 4 * * 1-5 /usr/bin/rsync -av rsync://updates.rosplatforma.ru/r-management /var/local-repo/www/r-management --exclude "*-6.0.0" --delete
В данном примере команд планировщика производится синхронизация трех репозиториев по будням в 0, 2, 4 часа. Пакеты версии 6
исключаются.
На момент подготовки инструкции репозиторий без версии 6
занимает 220 ГБ.
Для смены интернет-репозитория на локальный необходимо выполнить следующие команды в консоли каждого сервера виртуализации Росплатформа.
/etc/yum.repos.d/internet-repo.tar
и переносит туда все настройки репозиторием обновления продукта. tar -cf /etc/yum.repos.d/internet-repo.tar --remove-files /etc/yum.repos.d/*
mirror.micronode.ru
на соответствующий URL репозитория.yum update
для проверки и обновления пакетов.echo "[va-agent] name=R-Management Agent baseurl=http://mirror.micronode.ru/r-management/va-agent/releases/7.0/\$basearch/os/ enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-R-Management-7 [va-agent-updates] name=R-Management Agent Updates baseurl=http://mirror.micronode.ru/r-management/va-agent/updates/7.0/\$basearch/os/ enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-R-Management-7" > /etc/yum.repos.d/va-agent.repo
echo "# Rosplatforma repo file [rosplatforma-base] name=RosPlatforma - Base baseurl=http://mirror.micronode.ru/r-virtualization-linux/7/\$basearch/os/ enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPLATFORM_GPG_KEY #released updates [rosplatforma-updates] name=RosPlatforma - Updates baseurl=http://mirror.micronode.ru/r-virtualization-linux/7/\$basearch/updates/ enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPLATFORM_GPG_KEY" > /etc/yum.repos.d/r-virtualization-linux.repo
echo "[r-virtualization-os] name=R-Virtualization baseurl=http://mirror.micronode.ru/r-virtualization/releases/7.0/\$basearch/os/ enabled=1 gpgcheck=1 priority=50 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-R-Virtualization-7 [r-virtualization-updates] name=R-Virtualization Updates baseurl=http://mirror.micronode.ru/r-virtualization/updates/7.0/\$basearch/os/ enabled=1 gpgcheck=1 priority=50 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-R-Virtualization-7" > /etc/yum.repos.d/r-virtualization.repo
Содержимое конфигурационных файлов приведено ниже.
[va-agent] name=R-Management Agent baseurl=http://mirror.micronode.ru/r-management/va-agent/releases/7.0/$basearch/os/ enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-R-Management-7 [va-agent-updates] name=R-Management Agent Updates baseurl=http://mirror.micronode.ru/r-management/va-agent/updates/7.0/$basearch/os/ enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-R-Management-7
# Rosplatforma repo file [rosplatforma-base] name=RosPlatforma - Base baseurl=http://mirror.micronode.ru/r-virtualization-linux/7/$basearch/os/ enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPLATFORM_GPG_KEY #released updates [rosplatforma-updates] name=RosPlatforma - Updates baseurl=http://mirror.micronode.ru/r-virtualization-linux/7/$basearch/updates/ enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPLATFORM_GPG_KEY
[r-virtualization-os] name=R-Virtualization baseurl=http://mirror.micronode.ru/r-virtualization/releases/7.0/$basearch/os/ enabled=1 gpgcheck=1 priority=50 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-R-Virtualization-7 [r-virtualization-updates] name=R-Virtualization Updates baseurl=http://mirror.micronode.ru/r-virtualization/updates/7.0/$basearch/os/ enabled=1 gpgcheck=1 priority=50 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-R-Virtualization-7
Для смены интернет-репозитория в контейнере веб интерфейса Р-Управление на локальный необходимо выполнить следующие команды в консоли сервера виртуализации Росплатформа, на котором в текущий момент выполняется контейнер va-mn
.
/etc/yum.repos.d/internet-repo.tar
и переносит туда все настройки репозиторием обновления продукта. prlctl exec va-mn "tar -cf /etc/yum.repos.d/internet-repo.tar --remove-files /etc/yum.repos.d/*"
prlctl enter va-mn
. В конфигурационных файлах и командах необходимо заменить mirror.micronode.ru
на соответствующий URL репозитория.prlctl exec va-mn yum update -y
для проверки и обновления пакетов.Команды для автоматического создания необходимых файлов приведены ниже:
prlctl exec va-mn 'echo "# Rosplatforma repo file [rosplatforma-base] name=RosPlatforma - Base baseurl=http://mirror.micronode.ru/r-virtualization-linux/7/\$basearch/os/ enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPLATFORM_GPG_KEY #released updates [rosplatforma-updates] name=RosPlatforma - Updates baseurl=http://mirror.micronode.ru/r-virtualization-linux/7/\$basearch/updates/ enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPLATFORM_GPG_KEY" > /etc/yum.repos.d/r-virtualization-linux.repo'
prlctl exec va-mn 'echo "[va-mn] name=R-Management Management Node baseurl=http://updates.rosplatforma.ru/r-management/va-mn/releases/7.0/\$basearch/os/ enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-R-Management-MN-7 [va-mn-updates] name=R-Management Management Node Updates baseurl=http://updates.rosplatforma.ru/r-management/va-mn/updates/7.0/\$basearch/os/ enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-R-Management-MN-7" > /etc/yum.repos.d/r-management.repo'
Содержимое конфигурационных файлов приведено ниже.
# Rosplatforma repo file [rosplatforma-base] name=RosPlatforma - Base baseurl=http://mirror.micronode.ru/r-virtualization-linux/7/$basearch/os/ enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPLATFORM_GPG_KEY #released updates [rosplatforma-updates] name=RosPlatforma - Updates baseurl=http://mirror.micronode.ru/r-virtualization-linux/7/$basearchh/updates/ enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPLATFORM_GPG_KEY
[va-mn] name=R-Management Management Node baseurl=http://updates.rosplatforma.ru/r-management/va-mn/releases/7.0/$basearch/os/ enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-R-Management-MN-7 [va-mn-updates] name=R-Management Management Node Updates baseurl=http://updates.rosplatforma.ru/r-management/va-mn/updates/7.0/$basearch/os/ enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-R-Management-MN-7
Для смены интернет-репозитория в контейнере веб интерфейса Р-Хранилище на локальный необходимо выполнить следующие команды в консоли сервера виртуализации Росплатформа, на котором в текущий момент выполняется контейнер vstorage-ui
.
/etc/yum.repos.d/internet-repo.tar
и переносит туда все настройки репозиторием обновления продукта. prlctl exec vstorage-ui "tar -cf /etc/yum.repos.d/internet-repo.tar --remove-files /etc/yum.repos.d/*"
prlctl enter vstorage-ui
. В конфигурационных файлах и командах необходимо заменить mirror.micronode.ru
на соответствующий URL репозитория.prlctl exec vstorage-ui yum update -y
для проверки и обновления пакетов.Команды для автоматического создания необходимых файлов приведены ниже:
prlctl exec vstorage-ui 'echo "# Rosplatforma repo file [rosplatforma-base] name=RosPlatforma - Base baseurl=http://mirror.micronode.ru/r-virtualization-linux/7/\$basearch/os/ enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPLATFORM_GPG_KEY #released updates [rosplatforma-updates] name=RosPlatforma - Updates baseurl=http://mirror.micronode.ru/r-virtualization-linux/7/\$basearch/updates/ enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPLATFORM_GPG_KEY" > /etc/yum.repos.d/r-virtualization-linux.repo'
prlctl exec vstorage-ui 'echo "[storage-ui] name=Storage UI baseurl=http://updates.rosplatforma.ru/r-virtualization/releases/7.0/\$basearch/os/ enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-R-Virtualization-7 [storage-ui-updates] name=Storage UI Updates baseurl=http://updates.rosplatforma.ru/r-virtualization/updates/7.0/\$basearch/os/ enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-R-Virtualization-7" > /etc/yum.repos.d/r-virtualization.repo'
Содержимое конфигурационных файлов приведено ниже.
# Rosplatforma repo file [rosplatforma-base] name=RosPlatforma - Base baseurl=http://mirror.micronode.ru/r-virtualization-linux/7/$basearch/os/ enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPLATFORM_GPG_KEY #released updates [rosplatforma-updates] name=RosPlatforma - Updates baseurl=http://mirror.micronode.ru/r-virtualization-linux/7/$basearch/updates/ enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPLATFORM_GPG_KEY
[storage-ui] name=Storage UI baseurl=http://updates.rosplatforma.ru/r-virtualization/releases/7.0/$basearch/os/ enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-R-Virtualization-7 [storage-ui-updates] name=Storage UI Updates baseurl=http://updates.rosplatforma.ru/r-virtualization/updates/7.0/$basearch/os/ enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-R-Virtualization-7
В случае если корпоративный репозиторий пакетов Р-Виртуализация защищен базовой аутентификацией требующей ввода логина пароля для доступа к сайту, в конфигурационных файлах резпоизториев необходимо дополнительно указать имя пользователя и пароль в следующем формате:
username=update password=P@ssw0rd!
где:
update
- заменить на логин пользователя.P@ssw0rd!
- заменить на пароль.После внесения изменений конфигурационные файлы должны выглядеть следующим образом:
[va-agent] name=R-Management Agent baseurl=http://mirror.micronode.ru/r-management/va-agent/releases/7.0/$basearch/os/ username=update password=P@ssw0rd! enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-R-Management-7 [va-agent-updates] name=R-Management Agent Updates baseurl=http://mirror.micronode.ru/r-management/va-agent/updates/7.0/$basearch/os/ username=update password=P@ssw0rd! enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-R-Management-7
# Rosplatforma repo file [rosplatforma-base] name=RosPlatforma - Base baseurl=http://mirror.micronode.ru/r-virtualization-linux/7/$basearch/os/ username=update password=P@ssw0rd! enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPLATFORM_GPG_KEY #released updates [rosplatforma-updates] name=RosPlatforma - Updates baseurl=http://mirror.micronode.ru/r-virtualization-linux/7/$basearch/updates/ username=update password=P@ssw0rd! enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPLATFORM_GPG_KEY
[r-virtualization-os] name=R-Virtualization baseurl=http://mirror.micronode.ru/r-virtualization/releases/7.0/$basearch/os/ username=update password=P@ssw0rd! enabled=1 gpgcheck=1 priority=50 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-R-Virtualization-7 [r-virtualization-updates] name=R-Virtualization Updates baseurl=http://mirror.micronode.ru/r-virtualization/updates/7.0/$basearch/os/ username=update password=P@ssw0rd! enabled=1 gpgcheck=1 priority=50 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-R-Virtualization-7
[va-mn] name=R-Management Management Node baseurl=http://updates.rosplatforma.ru/r-management/va-mn/releases/7.0/$basearch/os/ username=update password=P@ssw0rd! enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-R-Management-MN-7 [va-mn-updates] name=R-Management Management Node Updates baseurl=http://updates.rosplatforma.ru/r-management/va-mn/updates/7.0/$basearch/os/ username=update password=P@ssw0rd! enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-R-Management-MN-7