Django с PostgreSQL в Astra Linux SE 1.5

Устанавливаем необходимые пакеты с зависимостями: postgresql, python-psycopg2. В ALSE 1.5 основная версия PostgreSQL 9.4.5. Редактируем конфигурационный файл базы данных $ sudo vim /etc/postgresql/9.4/main/pg_hba.conf Комментируем или удаляем все строки и дописываем новые, разделяя поля табуляцией local all postgres trust local all all trust host all all 127.0.0.1/32 trust host all all 192.168.15.129/24 trust host all all 192.168.15.132/24 trust Последние строки - адреса сервера и клиента, которым будем подключаться. Меняйте на свои или укажите всю сеть, например 192.168.15.0/24. ...

<span title='2022-02-19 00:00:00 +0000 UTC'>February 19, 2022</span>

Web-приложение на Python в Astra Linux с ALD авторизацией

Как настроить сервер - контроллер домена ALD и подключиться к нему клиентом в статье Настройка входа в систему с Astra Linux Directory. Устанавливаем web-сервер (если еще не установлен), нужные нам модули apache и пакет с django $ sudo apt-get install apache2 libapache2-mod-auth-kerb libapache2-mod-python python-django Включаем модули apache, с которыми будем работать, отключаем лишний auth_pam, если ранее с ним работали, затем запускаем web-сервер $ sudo a2dismod auth_pam $ sudo a2enmod python $ sudo a2enmod auth_kerb $ sudo service apache2 reload Создаем принципала в ALD и добавляем его в группу mac ...

<span title='2022-02-18 00:00:00 +0000 UTC'>February 18, 2022</span>

Настройка входа в систему с Astra Linux Directory

Из документации: Служба ALD (Astra Linux Directory) представляет собой систему управления ЕПП (единое пространство пользователей). Она является надстройкой над технологиями LDAP, Kerberos 5, CIFS и обеспечивает автоматическую настройку всех необходимых файлов конфигурации служб, реализующих перечисленные технологии, а так же предоставляет интерфейс управления и администрирования. Настройка окружения пользователя при входе в систему обеспечивается PAMмодулем ALD, который выполняет следующие функции: – получение параметров окружения пользователя с сервера домена; – проверка возможности входа пользователя на данный компьютер по списку разрешенных пользователю компьютеров; – проверка возможности использования пользователем типа ФС его домашнего каталога; – настройка параметров окружения пользователя; – монтирование домашнего каталога пользователя; – включение доменного пользователя в заданные локальные группы. Для корректной работы надо убедиться, что доменные имена сервера и клиентов корректно отображаются. В файле /etc/hosts к полному доменному имени должен быть короткий псевдоним, дублирующую запись для 127.0.1.1 стоит закоментировать или удалить ...

<span title='2022-02-16 00:00:00 +0000 UTC'>February 16, 2022</span>

Запуск Django-приложений через mod_python в Astra Linux SE 1.5

Считаем, что Apache уже установлен и настроена аутентификация и авторизация через PAM (см. Настройка web-сервера на Astra Linux SE 1.5) Устанавливаем необходимые пакеты: # apt-get install libapache2-mod-python python-django Включаем модуль: # a2enmod python Создаем проект Django и каталог для log-файлов: # cd /var/www # django-admin startproject django_site # mkdir django_site/log В /etc/apache2/sites-available/ создаем файл django_site. Это файл конфигурации виртуального хоста для нашего Django-проекта, лежащего в каталоге /var/www/django_site/. <VirtualHost *:80> ServerAdmin webmaster@domain.name ServerName server.domain.name DocumentRoot /var/www/django_site <Directory "/var/www/django_site/"> AuthPAM_Enabled on AuthType Basic AuthName "PAM authentication" require valid-user Options -Indexes FollowSymLinks -MultiViews AllowOverride None Order deny,allow Allow from all </Directory> <Location "/"> SetHandler python-program PythonHandler django.core.handlers.modpython SetEnv DJANGO_SETTINGS_MODULE django_site.settings PythonOption diango.root /var/www/django_site PythonPath "['/var/www/django_site/',] + sys.path" PythonAutoReload On </Location> <Location "/media/”> SetHandler None </Location> <Location "/static/"> SetHandler None </Location> <LocationMatch "\.(jpg|gif|png)$"> SetHandler None </LocationMatch> ErrorLog /var/www/django_site/log/error.log LogLevel warn CustomLog /var/www/django_site/log/access.log combined </VirtualHost> Включаем наш сайт в список разрешенных и перезапускаем web-сервер ...

<span title='2022-02-04 00:00:00 +0000 UTC'>February 4, 2022</span>

Настройка web-сервера на Astra Linux SE 1.5

Web-сервер Apache2, входящий в состав Astra Linux SE 1.5 Smolensk, не допускает возможности анонимного использования ресурсов web-сервера и требует обязательной настройки авторизации пользователей. Для обеспечения нормальной работы пользователя с сетевыми сервисами должны быть явно заданы диапазоны его мандатных уровней и категорий, даже если ему не доступны уровни и категории выше 0. # pdpl-user -z <имя_пользователя> После установки сервера необходимо установить пакет libapache2-mod-auth-pam. После этого сервер настроен и готов к приему запросов на всех сетевых интерфейсах на 80 порту. Если по каким-то причинам он не работоспособен, следует проверить минимально необходимые настройки сервера. ...

<span title='2022-02-03 00:00:00 +0000 UTC'>February 3, 2022</span>

Starting a Synapse/Matrix server on Raspberry Pi

Synapse is a reference “homeserver” implementation of Matrix. In this article, I will show step by step how to install a Matrix server on a Raspberry Pi model B (1 generation) with Raspbian Buster. In my setup, the username of the Raspberry Pi user is pi, and the home directory is /home/pi. For more information, see Matrix-Element : How to install the Synapse-Matrix - Raspberry PI - Rock 64 Server. Synapse/Matrix service installation Install the necessary packages: sudo apt -y install build-essential make python3 python3-dev python3-dev python3-virtualenv python3-pip python3-setuptools libffi-dev libpq-dev python3-cffi zlib1g-dev libxml2-dev libxml2-dev libxslt1-dev libssl-dev libjpeg-dev python3-lxml virtualenv libopenjp2-7 libtiff5 Project compilation: mkdir -p ~/synapse virtualenv -p python3 ~/synapse/env cd ~/synapse/ source ~/synapse/env/bin/activate pip install --upgrade pip pip install --upgrade setuptools pip install matrix-synapse[all] Generation of the configuration file for synapse-matrix python3 -m synapse.app.homeserver --server-name YOUR_DOMAIN_NAME --config-path homeserver.yaml --generate-config --report-stats=no deactivate Service configuration vim ~/synapse/homeserver.yaml Edit these parameters: ...

<span title='2021-10-03 00:00:00 +0000 UTC'>October 3, 2021</span>

Debian in VMware Workstation Player

For the needs of pet projects, I installed Debian in the VMware Workstation Player running on Windows. First of all, I met some common problems. I write here the steps to solve them. 1. ‘Username’ is not in the sudoers file. $ su - # visudo add row 'Username' ALL=(ALL:ALL) ALL where ‘Username’ is your username and save 2. The graphics environment does not support the screen resolution you need. Command to display the supported resolutions and name of your video output. ...

<span title='2020-11-01 00:00:00 +0000 UTC'>November 1, 2020</span>

Start Ansible for Docker containers

For some pet projects, I need multiple instances of different servers. The best way is to use Docker. And the best way to automate configuration services that run in docker containers is Ansible. This is the sequence of steps to run Ansible to configure containerized services in Ubuntu. Installing Docker Engine on Ubuntu is very well described on the official website. A summary of the steps: sudo apt-get update sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io sudo docker run hello-world The last command is used to verify successful installation. ...

<span title='2020-09-19 00:00:00 +0000 UTC'>September 19, 2020</span>

Management of multiple versions of Python with pyenv

Pyenv pyenv lets you easily install and switch between multiple versions of Python. Install and customization zsh The main issues are described in wiki curl https://pyenv.run | bash echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init -)"\nfi' >> ~/.zshrc exec $SHELL sudo apt-get update; sudo apt-get install --no-install-recommends make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev Update pyenv ...

<span title='2020-08-30 00:00:00 +0000 UTC'>August 30, 2020</span>

How to live without net-tools

The main headache of today is installing and running the latest version of Ubuntu Lts in a VMware. Since Ubuntu version 18.04 (maybe from 17.10), there are no /etc/network/interfaces and net-tools with the usual ifconfig and route commands. They were replaced by netplan and iproute2. Now this is what network configuration looks like: alex@ubuntu-server-lts:~$ ip -c addr 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 00:0c:29:28:ef:9a brd ff:ff:ff:ff:ff:ff inet 192.168.15.129/24 brd 192.168.15.255 scope global dynamic ens33 valid_lft 1575sec preferred_lft 1575sec inet6 fe80::20c:29ff:fe28:ef9a/64 scope link valid_lft forever preferred_lft forever alex@ubuntu-server-lts:~$ ls /etc/netplan 00-installer-config.yaml alex@ubuntu-server-lts:~$ cat /etc/netplan/00-installer-config.yaml # This is the network config written by 'subiquity' network: ethernets: ens33: dhcp4: true addresses: [] optional: true version: 2 In this case the ip-address is received from dhcp. For now to set the ip-address, you need to write something like: ...

<span title='2020-08-25 00:00:00 +0000 UTC'>August 25, 2020</span>