Содержание

Дневник сисадмина

Дмитрий Владимирович Агеев 2023/12/10 01:35

Планировщик заданий Crontab

Изучаю планировщик заданий Crontab

посмотреть задачи cron для текущего пользователя (нужно запускать именно от нужного пользователя)

 crontab -l

Редактирование заданий (нужно запускать именно от нужного пользователя)

crontab -e

После завершения работы команды cron файл будет обработан и все правила будут добавлены в

/var/spool/cron/crontabs/имя_пользователя

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

Примеры команд в файле Crontab

После перезагрузки

@reboot /path/to/job.sh

Запускать работу cron каждый день в 2 часа ночи:

0 2 * * * /path/to/job.sh

Моя команда от рута

@reboot /home/dima/Скрипты/монтирование.sh

Моя команда от dima

0 2 * * * /home/dima/Скрипты/архивирование.sh

Дмитрий Владимирович Агеев 2023/11/12 11:51

Заметил, что если примонтировать внешний HDD к домашнему каталогу – то можно без проблем на него заходить через любимый SSH.

Дмитрий Владимирович Агеев 2023/11/04 16:11

Сбор информации о аппаратной части системы

Вся информация

lshw

Информация о процессоре

lshw -class processor

или

cat /proc/meminfo

Информация об установленной оперативной памяти

lshw -class memory

Дмитрий Владимирович Агеев 2023/10/31 15:51

Подключение к Windows файловой системы удалённого Linux-сервера по SSH

Внешняя ссылка

Хочу попробовать на работе так подключиться по внешнему ip 195.46.164.136!

Дмитрий Владимирович Агеев 2023/10/30 14:07

Хочу установить Samba в контейнере (докер-хаб).

Хочу дать доступ к Nextcloud через интернет, для этого нужно отредактировать параметр «trusted_domains» в файле «config/config.php» (прокинул через valumes).

nano /DATA/docker-project/Nextcloud/data/config.php

Нужно добавить строку

1 => '195.46.164.136:86',

Дмитрий Владимирович Агеев 2023/10/29 17:39 После долгого перерыва продолжаю вести этот блог.

Устроился сисадмином на работу администрирую винду. Узнал новые вещи: docker.

Дмитрий Владимирович Агеев 2023/07/12 08:58

Слайдер Фоторама

https://fotorama.io/docs/4/

Дмитрий Владимирович Агеев 2023/07/09 22:35

Постепенное анимирование меню:

style="transition: 0.3s;"

Дмитрий Владимирович Агеев 2023/07/03 08:32

Библиотека анимации для сайта

https://youtu.be/yDkf0D1THMc Основной сайт: https://animate.style/

Редакторы статических сайтов

https://sitey.ru/prog_master/1635-admin_for_landingpage.html

CMSLAND cmsland.zip

TEXTOLITE textolite-2.12.zip

Дмитрий Владимирович Агеев 2023/06/30 17:09

JSON

Настройка CORS в Nginx

Дмитрий Владимирович Агеев 2023/06/28 10:04

Красивый WEB-интерфейс на Python

Красивый графический интерфейс на Python | Все фишки Flet https://youtu.be/xiINVRTBIgI

Запуск python скрипта в Linux

Дмитрий Владимирович Агеев 2023/06/15 22:39

Хочу попробовать галерею "Magnific Popup".

Дмитрий Владимирович Агеев 2023/06/13 12:28

Хочу поизучать WorldPress с точки зрения верстальщика https://www.youtube.com/playlist?list=PL3LQJkGQtzc6Nwz67GGrMdqxim1c0H5DC.

Посадка сайта на wordpress

(натяжка верстки на wordpress) https://youtu.be/ApZV2z46nd4

Оптимизация png

Изучаю оптимизацию изображений в Linux https://losst.pro/szhatie-png-v-linux#Оптимизация_изображений_PNG_в_Linux

Уменьшение размера png без потерь качества.

Установка optipng

sudo apt install optipng

Переходим в нужную папку

cd ~/Изображения

Смотрим занимаемый размер, после чего пишем

optipng *.png

У меня было 64,8 МБ, стало 57,1 МБ (уменьшилось на 12%)

07.06.2023

Проксирование

Изучаю проксирование (то есть переброску сайтов с других портов на 80)

server {
  listen 80;
  server_name xn--b1adnahcy5b.xn----8sbgdcjatak4a3cza.xn--p1ai;
  #server_name докувики.дмитрий-агеев.рф;
  location / {
  #пробую
  proxy_pass http://localhost:8080/; #
  #получилось
  #proxy_pass http://192.168.1.106:19999; #мониторинг нагрузки сервера на ноутбуке
  #proxy_pass http://localhost:8080/phpmyadmin/; #phpmyadmin на ноутбуке
  #proxy_pass http://192.168.1.101:8096; #медиасервер Jellyfin на неттопе
  #proxy_pass http://192.168.1.101:1515; #панель управления OpenServer на неттопе
  #proxy_pass http://195.46.164.136:1515; #панель управления OpenServer на неттопе
  #proxy_pass http://localhost:8080/; #стартовая страница на ноутбуке на 8080 порту
  #proxy_pass http://192.168.1.101; #страница на неттопе на 80-м порту
  #proxy_pass http://localhost:8080/proxi/index.html;
  #proxy_pass http://192.168.1.106:8080/proxi/index.html;
  #proxy_pass http://195.46.164.136:8080/proxi/index.html;    
  #когда пишешь полный url, то номер порта не высвечивается
  #PHP работает!!!
  #proxy_pass http://localhost:8080/proxi-php/index.php;
  #вот так точно не работает!
  #proxy_pass http://195.46.164.136:8080/proxi/;
  #не получается как надо (частично что-то заработало)
  #proxy_pass http://localhost:8080/dokuwiki/doku.php?id=start;  
  #proxy_pass http://localhost:9091/;
  #proxy_set_header Authorization "Basic dima:1";
  #не получилось
  #proxy_pass http://192.168.1.106:4781; #нексклауд на ноуте
  #proxy_pass http://195.46.164.136:8085/www2/index.html;
  #proxy_pass http://192.168.1.106:8080/dokuwiki/index.php;
  #proxy_pass http://localhost:8080/dokuwiki/index.php;
  #proxy_pass https://mbukcson42.ru/index.php;
  #Позволяет переопределять или добавлять поля заголовка запроса,
  #передаваемые проксируемому серверу.
  proxy_set_header Host $host;    
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_set_header X-Real-IP $remote_addr;
  }
}

05.06.2023

Завёл себе на reg.ru свой кириллический домен http://дмитрий-агеев.рф.

04.06.2023

Попробую программу htop

sudo apt install htop
htop

03.06.2023

Отключил брандмауэр в Билайне, теперь работает 80-й порт!

31.05.2023

Установка и настройка DNS-сервера

https://youtu.be/JlrV1-jd-4w] [[https://www.dmosk.ru/miniinstruktions.php?mini=bind-ubuntu]

bind9

установка

sudo apt install bind9

запуск

sudo systemctl start named

добавим в автозагрузку

sudo systemctl enable named

настройка

sudo nano /etc/bind/named.conf.options

дописываем для настройки сервера только для локальной сети

allow-query     { 192.168.1.0/24; };

Перезагружаем сервис

sudo systemctl restart bind9

На винде устанавливаем только DNS-сервер 192.168.1.1 и проверяем на форточке!

Создадим локальную зону .local https://www.dmosk.ru/miniinstruktions.php?mini=bind-primary

Открываем конфигурационный файл bind

sudo nano /etc/bind/named.conf.local

и прописываем

zone "local" {
      type master;
      file "/home/dima/local.zone.conf";
      allow-update { none; };
};

allow-update { none; }; – список хостов, с которых разрешено обновление записей в зоне. Переходим в домашний каталог

cd

и создаём там файл зоны

nano local.zone.conf

дописал

netbook         IN      A       192.168.1.101
noutbook        IN      A       192.168.1.106

Не сработало. Советуют так сделать https://madmentat.ru/index.php/shpargalki/2-uncategorised/45-nastrojka-dns-servera-bind9-named-v-debian-ubuntu-mint

Настройки зон хранятся в файле

sudo nano /etc/bind/named.conf

Поэтому идём по пути

sudo nano /etc/bind/named.conf.local

Дописываем

zone "home" {
type master;
file "/etc/bind/forward.home"; };
allow-transfer { 192.168.1.106; };
also-notify { 192.168.1.106; };
};

zone «88.168.192.in-addr.arpa» { type master; file «/etc/bind/reverse.home»; allow-transfer { 192.168.1.106; }; also-notify { 192.168.1.106; }; };

sudo nano /etc/bind/forward.home

Теперь создадим обратную зону

sudo nano /etc/bind/reverse.home


Теперь протестируем всю эту ерунду:
sudo named-checkconf /etc/bind/named.conf
sudo named-checkconf /etc/bind/named.conf.local

Если ничего не возвращается, тогда ваши настройки верны и можно ехать дальше.

sudo named-checkzone home /etc/bind/forward.home

Вывод команды должен быть таким:

zone home/IN: loaded serial 2011071001
OK

Тестим реверс: sudo named-checkzone home /etc/bind/reverse.home

Не работало, потому, что порт был не 80, а 8085.

Не получилось. Установлю более простой DNS сервер https://habr.com/ru/articles/713156/

УРААА! Получилось. Вот шаги:

Установите

Dnsmasq

sudo apt-get install dnsmasq

Установите resolvconf:

sudo apt-get install resolvconf

Необязательный шаг. Установите net-tools:

sudo apt-get install net-tools  

Отредактируйте файл

sudo nano /etc/dnsmasq.conf

no-resolv
server=192.168.1.1
listen-address=0.0.0.0
bind-interfaces

Добавьте в файл /etc/hosts необходимые домены и их IP адреса.

sudo nano /etc/hosts

Например: 1.2.3.4 myserver.tst

Перезапустите машину:

sudo shutdown -r now

Хочу на порт 8085 перенаправить запросы!

Хочу попробовать DNS-сервер

MaraDNS

https://ru.linux-console.net/?p=4138#gsc.tab=0

29.05.2023

Миграция части dokuwiki на Linux

cd /home/dima/Сайты/start.local
wget https://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz
tar -xzvf dokuwiki-stable.tgz
ll
mkdir dokuwiki.local

28.05.2023

Хочу перенести все свои сайты и настройки сайтов в свою домашнюю директорию

cd ~ создаём директорию Сайты и в ней подкаталог Настройки_сайтов копируем туда существующие настройки

Пропишем новые каталоги

sudo nano /etc/nginx/nginx.conf
include /home/dima/Сайты/Настройки_сайтов

проверяем корректность настроек nginx

sudo nginx -t

переносим сайты

cd /usr/share/nginx/html
cp -r /usr/share/nginx/html/* /home/dima/Сайты
cd /home/dima/Сайты

Теперь у меня такая структура: tree -L 3 ~/Сайты

  /home/dima/Сайты
  ├── start.local
  │   ├── index.php
  │   └── phpmyadmin
  └── Настройки_сайтов
      ├── default
      ├── grhtr
      ├── site2.loc.conf
      └── webdav.conf

Переделал скрипты, теперь они запускаются без sudo!!!

Поставлю скрипт backup.sh в расписание crontab crontab -e 0 3 * * * /home/dima/Скрипты/backup.sh

Справка по crontab

  # .---------------- минуты (0 - 59)
  # |  .------------- часы (0 - 23)
  # |  |  .---------- дни месяца (1 - 31)
  # |  |  |  .------- сами месяцы (1 - 12) OR jan,feb,mar,apr ...
  # |  |  |  |  .---- дни недели (0 - 6) (0 или 7 это воскресенье в зависимости от настроек системы)
  # |  |  |  |  |     можно использовать сокращения типа mon,tue,wed,thu,fri,sat,sun
  # |  |  |  |  |
  # *  *  *  *  * команда, которую нужно запустить
  Источник: https://fuzeservers.ru/os/vypolnenie-skripta-sh-iz-cron.html

В файле /etc/crontab можно настроить запуск скриптов от рута!!! sudo nano /etc/crontab

Попробую выполнить скрипт от рута после перезагрузки sudo nano /etc/crontab @reboot sleep 60 && root /home/dima/Скрипты/restart_system.sh – не получилось @reboot sleep 180 && sudo /home/dima/Скрипты/restart_system.sh

Просмотр логов crontab grep CRON /var/log/syslog Вывод первых 10 строк grep -m10 CRON /var/log/syslog

Чтобы не было сообщения о том , что почта не отправлена (No MTA installed, discarding output) надо дописать в sudo nano /etc/crontab MAILTO=«»

Для вывода последних строк файла используется команда tail

последние 2 строки файла syslog

tail -n 2 /var/log/syslog

последняя запись

grep CRON /var/log/syslog | tail -n 1
grep CRON /var/log/syslog | grep restart_system.sh

27.05.2023

Использование ssh ключа вместо пароля

Продолжаю изучать использование ssh ключа вместо пароля https://losst.pro/avtorizatsiya-po-klyuchu-ssh https://losst.pro/kak-polzovatsya-putty

генерация ключей ssh ssh-keygen

Дописываем публичный ключ id_rsa.pub в файл ~/.ssh/authorized_keys на сервере cat ~/.ssh/id_rsa.pub » ~/.ssh/authorized_keys

Скопируем секретный ключ cp ~/.ssh/id_rsa ~/Шара/Чтение

Расположение WindowsPowerShell: C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe

Прописываем в винде расположение секретного ключа ssh-add C:\Users\user\id_rsa – Не получилось.

Попробую сгенерить ключи в винде и добавить публичный ключ на сервер https://losst.pro/kak-polzovatsya-putty https://youtu.be/Ld9xoFVeiS0 (для PuTTY) sudo service ssh restart ssh -i закрытый ключ dima@192.168.1.106

Пробую ещё раз sudo service ssh restart ssh -i C:\Users\user\id_rsa dima@192.168.1.106

исследую консольный браузер curl

25.05.2023

программирование на Bash

https://youtu.be/qZjnr66Cys4

Изучаю использование ssh ключа вместо пароля https://youtu.be/-KOMKBtL_7I

23.05.2023

потоковое вещание через VLC

rtsp://192.168.1.106:8554/kamera

(Веб-браузер его никак не воспринимает, а VLC норм)
сделаю проброску портов на внешний ip.

rtsp://195.46.164.136:8554/kamera

Счётчик строк (слов)

выведем список пакетов

dpkg -l

отфильтруем: покажем только те строчки, которые начинаются с символа ii

dpkg -l | grep "^ii"

подсчитаем количество таких строчек

dpkg -l | grep "^ii" | wc -l

поиск пакета в репозитории

apt search server

подсчитаем число строк в результате вывода

apt search server | wc -l

1292
Много!

Отфильтруем результат вывода игнорируя регистр (-i)

apt search server | grep -i web
apt search server | grep -i web | wc -l

29 результатов – норм!!!

apt-cache search server | grep -i web | wc -l

389 результатов Значит просто apt search ищет не по всем репозиториям надо юзать apt-cache search
попробуем подсчитать время поиска

time apt-cache search server | grep -i web | wc -l

6,245s ещё фильтранём

apt-cache search server | grep -i web | grep -i http
time apt-cache search server | grep -i web | grep -i http | wc -l

37 результатов за 6,2 секунды

Очистка файла от комментариев

Например test.conf просмотр

less test.conf (cat test.conf)

видим много комментов (начинаюстся с #) делаем бекап старого файла

cp test.conf test.conf.old
grep -v "#" test.conf.old > test.conf

смотрим новый файл

cat test.conf

подсчитаем строки

cat test.conf | wc -l

20

cat test.conf.old | wc -l

91

Сжатие файлов и каталогов

tar -czvf test.conf.old.tar.gz test.conf.old
tar -cjvf test.conf.old.tar.bz2 test.conf.old

Здесь

распаковка

tar -xzvf archive.tar.gz
tar -xjvf archive.tar.bz2

Здесь -x –extract Извлечь файлы из архива

gzip быстрее работает, bzip2 лучше жмёт – сравним!!! Есть папка etc 24,2 МБайт 1. time tar -czvf etc.tar.gz etc 0m1,438s 2,6 МБайт (11%) 2. time tar -cjvf etc.tar.bz2 etc 0m8,614s 2,1 МБайт (9%) проработал дольше в 6 раз, сжал лучше в 1,2 раза (на 19%) Теперь без вывода информации 1'. time tar -czf etc.tar.gz etc 0m1,024s (быстрее в 1,4 раза!!! на 0,414с) 2'. time tar -cjf etc.tar.bz2 etc 0m8,482s (быстрее на 0,132с)

Теперь распаковка time tar -xzvf etc.tar.gz 0m1,073s time tar -xjvf etc.tar.bz2 0m2,115s (дольше в два раза)

https://www.youtube.com/live/KWueT7hiwwY?feature=share

всего обращений к серверу nginx awk '{print $1}' /var/log/nginx/access.log | wc -l

число уникальных обращений к серверу nginx awk '{print $1}' /var/log/nginx/access.log | sort -u | wc -l

выведем список обращений с уникальных ip-адресов вместе с количеством обращений awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -n

монтирование дисков

https://youtu.be/kj77Z_3WoS0

перейду в домашний каталог

cd ~

создам папку ntfs

mkdir ntfs

просмотр информации о дисках

sudo fdisk -l

монтирование

sudo mount /dev/sda2 /home/dima/ntfs

размонтирование

sudo umount /home/dima/ntfs

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

sudo mount -t ntfs /dev/sda2 /home/dima/ntfs

у меня работает и так и так

добавим запись о монтировании в /etc/fstab

sudo nano /etc/fstab

/dev/sda2 /home/dima/ntfs none bind 0 0 СЛОМАЛ СИСТЕМУ

Монтирование расшареных windows-ресурсов в Linux через CIFS https://newadmin.ru/montirovanie-smb/

sudo apt install cifs-utils
cd ~
mkdir nettop_share
sudo mount -t cifs -o username=Гость,password= //192.168.1.101/local_net /home/dima/nettop_share

отсоединим

sudo umount /home/dima/nettop_share

автоматическое монтирование

sudo nano /etc/fstab

192.168.1.101/local_net /home/dima/nettop_share cifs Гость,ro, 0 0 СЛОМАЛ СИСТЕМУ Лучше написать скрипт для монтирования sudo nano #!/bin/bash mount /dev/sda2 /home/dima/ntfs mount -t cifs -o username=Гость,password= 192.168.1.101/local_net /home/dima/nettop_share

sudo chmod ugo+x restart_system.sh
./restart_system.sh

https://losst.pro/avtozagruzka-linux

sudo nano /lib/systemd/system/runscript.service

[Unit]
After=network.target
[Service]
ExecStart=/scripts/restart_system.sh
[Install]
WantedBy=multi-user.target

Осталось выставить правильные права:

sudo chmod 644 /lib/systemd/system/runscript.service

Затем обновить конфигурацию и добавить в автозагрузку Linux новый скрипт:

sudo systemctl daemon-reload
sudo systemctl enable runscript.service

21.05.2023

Делаю переадресацию через HTML

В файле index.html пишем

<head>
<meta http-equiv="refresh" content="0;URL=http://195.46.164.136:8080"/>
</head>

Хочу попробовать Kody на ноутбуке https://losst.pro/kak-polzovatsya-kodi

Пришлось вручную запускать Kody на ноуте и настраивать его там. Не понравился - неудобное управление и раскрывается на весь экран. Удаляю!

Хочу заблокировать входящее соединение Kemerovo.golden.ru (80.255.153.1, 195.46.164.136)

sudo iptables -A INPUT -s 195.46.164.136 -j DROP
sudo iptables -A OUPUT -s 80.255.153.1 -j DROP

сохраняем конфигурацию

sudo iptables-save

18.05.2023 Пропишем в конфиге SAMBA

sudo nano /etc/samba/smb.conf
w rite list = dima

чтобы править папку чтение с винды

sudo systemctl reload smbd

17.05.2023

Запускаем скрипт автоматически по расписанию

https://losst.pro/nastrojka-cron

здесь лежат скрипты, которые запускаются ежедневно (имя без точки) cd /etc/cron.daily sudo cp /scripts/backup.sh /etc/cron.daily/backup ll создаём жёсткую сылку (чтобы копировался скрипт backup.sh) sudo ln /etc/cron.daily/backup /scripts/

16.05.2023

Современные протоколы для обмена данными по сети

SFTP - (англ. SSH File Transfer Protocol) — протокол прикладного уровня передачи файлов, работающий поверх безопасного канала. Спокойно подключается к линукс!!! (на линуксе запущен OpenSSH)

SCP - (от англ. secure copy) сетевой протокол, основанный на протоколе BSD RCP, который поддерживает передачу файлов между хостами в сети. SCP использует защищенную оболочку (SSH) для передачи данных и использует те же механизмы для аутентификации, тем самым обеспечивая подлинность и конфиденциальность передаваемых данных. Спокойно подключается к линукс!!! (на линуксе запущен OpenSSH)

Я хочу создать каталог для scp c двумя подкаталогами 1. свободный 'free' 2. гостевой доступ 'read_only' Создаю от пользователя dima mkdir /var/www/SCP cd SCP mkdir free mkdir read_only повышаю права sudo chmod -R 777 /var/www/SCP/free Создадим пользователя для SCP с домашним каталогом /var/www/SCP sudo useradd scp -d /var/www/SCP Назначим пароль 'scp' sudo passwd scp ГОТОВО!!! После переделки Сделал шару в одну папку /var/www/share подпапки free (d rwx r-x r-x) read_only (777) владелец dima изменяю права повышаю права sudo chmod -R 777 /var/www/share/free sudo chmod -R 755 /var/www/share/read_only изменю каталог пользователя scp sudo usermod -d /var/www/share/ scp

медиасервер На сотовом VLC не хочет видеть файлы из интернета, Сх-Проводник спокойно!!! Так что попробую установить на винду свободный медиасервер Jellyfin https://repo.jellyfin.org/releases/server/windows/stable/ порт 8096

Аналоги MiniDLNA, Emby(есть платная версия которую НАВЯЗЧИВО рекламируют ———–)

15.05.2023

Настройка FTP на удалёнку

https://geckich.blogspot.com/2012/08/server-sent-passive-reply-with.html

Для начала откройте в вашем роутере порты 4242…4252 для локального адреса фтп-сервера connect_from_port_20=YES pasv_enable=YES pasv_addr_resolve=YES pasv_address=myaddress.dyndns.com pasv_min_port=4242 pasv_max_port=4252

https://youtu.be/eqSMlIgNDZg

14.05.2023

install_nexcloud

https://notabug.org/Black_Triangle/Manual_Nextcloud_on_Orange_Pi устанавливаем PHP и нужные нам пакеты

sudo apt install php8.1 php8.1-gd php8.1-sqlite3 php8.1-curl php8.1-zip php8.1-xml php8.1-mbstring php8.1-mysql php8.1-bz2 php8.1-intl php8.1-smbclient php8.1-imap php8.1-gmp

установка СУБД MariaDB

sudo apt install mariadb-server

открываем СУБД MariaDB

sudo mysql -u root -p1

создаём БД nextcloud

CREATE DATABASE nextcloud;

создадим юзера dima [password=1]

CREATE USER 'dima'@'localhost' IDENTIFIED BY '1';

даём пользователю dima все привилегии

GRANT ALL PRIVILEGES ON nextcloud.* TO 'dima'@'localhost';

выходим из СУБД

quit

загрузка Nextcloud

cd /usr/share/nginx/html/
sudo wget https://download.nextcloud.com/server/releases/latest.tar.bz2
sudo tar -xvf latest.tar.bz2

создаём каталог данных для работы с Nextcloud

sudo mkdir -p /usr/share/nginx/html/nexcloud/data

передаем управление

sudo chown -R www-data:www-data /usr/share/nginx/html/nexcloud/

даем разрешения

sudo chmod 755 /usr/share/nginx/html/nexcloud/

потом активировируем созданный виртуальный хост nginx

sudo ln -s /etc/nginx/sites-available/nexcloud.conf /etc/nginx/sites-enabled/nexcloud.conf

выполните эту команду, чтобы убедится, что вы не допустили ошибок

sudo nginx -t

перечитайте конфигурацию nginx:

sudo nginx -s reload

https://www.dmosk.ru/miniinstruktions.php?mini=nextcloud-ubuntu#webserver

13.05.2023

Резервное копирование (скрипт)

https://www.dmosk.ru/scripts.php?object=fs-backup

Переходим в домашнюю папку cd ~

Создаем каталог для скриптов и сам скрипт: sudo mkdir /scripts sudo nano /scripts/samba_backup.sh

Копируем:

#!/bin/bash PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin

# Каталог для резервирования source=«/etc/nginx/sites-available/» # здесь лежат настройки сайтов destination_root=«/var/www/smb/free2/архивы» fdate=$(date +%Y-%m-%d)

# очистка старых архивов через 7 дней find ${destination_root}/ -type f -name «*.tar.gz» -ctime +7 -exec rm -R {} \; 2>&1

# Синхронизация данных с помощью rsync # Выполнение синхронизации данных в каталог 'день' rsync -a –partial –inplace –append –delete-after ${source}/ ${destination_root}/день/ # Неделя if $(date +%u) -eq 0 then

rsync -a --partial --inplace --append --delete-after ${source}/ ${destination_root}/неделя/

fi

# Создание архива count_last_archives=$(find ${destination_root}/ -name «*.tar.gz» -mtime -30 | wc -l) if $count_last_archives -eq 0 then

cd ${source}
tar zcf ${destination_root}/samba_${fdate}.tar.gz ./*

fi

Разрешаем выполнять скрипт sudo chmod ugo+x samba_backup.sh

запускаем скрипт для проверки sudo ./samba_backup.sh

Автоматический запуск по расписанию crontab -e И добавляем строку: 0 3 * * * /scripts/samba_backup.sh * в данном примере мы будем запускать резервирование каждый день в 3 часа ночи.

Пишем логи с помощью shell

cd /scripts

sudo nano log1.sh Вписываем # читаем содержимое файла log1.txt в переменную log1 log1=$(<«/var/www/smb/free2/архивы/log1.txt»); # Перезаписываем полностью файл echo «новое»>/var/www/smb/free2/архивы/log1.txt; echo «$log1»»/var/www/smb/free2/архивы/log1.txt; Это чтобы дописывать в начало файла

Разрешаем выполнять скрипт sudo chmod ugo+x log1.sh

Запускаем скрипт ./log1.sh

Поучусь выводить дату и время echo $(date +%u) echo $(date +%Y%m%d%H%M%S) echo $(date +%d.%m.%Y« »%H:%M:%S)

Дописываем дату в начало файла с конкатенацией строк #!/bin/bash # читаем содержимое файла log1.txt в переменную log1 log1=$(<«/var/www/smb/free2/архивы/log1.txt»); # Перезаписываем полностью файл Dat=«Начало операции: »; Dat=«$Dat$(date +%d.%m.%Y» «%H:%M:%S)»; echo $Dat>/var/www/smb/free2/архивы/log1.txt; echo «$log1»»/var/www/smb/free2/архивы/log1.txt;

Другой лог с выводом времени и времени исполнения

#!/bin/bash start_time=$(date +%s) new_log='начало выполнения '$(date +%d.%m.%Y« »%H:%M:%S)

sleep 2

new_log=$new_log' конец выполнения '$(date +%d.%m.%Y« »%H:%M:%S) end_time=$(date +%s) time_interval=$1) new_log=$new_log' время выполнения '$time_interval' секунд' echo $new_log

Полный скрипт #!/bin/bash # https://www.dmosk.ru/scripts.php?object=fs-backup PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin

start_time=$(date +%s) log_new='начало выполнения '$(date +%d.%m.%Y« »%H:%M:%S)

# Каталог для резервирования source=«/etc/nginx/sites-available/» # здесь лежат настройки сайтов destination_root=«/var/www/smb/free2/архивы» fdate=$(date +%Y-%m-%d)

# очистка старых архивов через 7 дней find ${destination_root}/ -type f -name «*.tar.gz» -ctime +7 -exec rm -R {} \; 2>&1

# Синхронизация данных с помощью rsync # Выполнение синхронизации данных в каталог 'день' rsync -a –partial –inplace –append –delete-after ${source}/ ${destination_root}/день/sites-available/

# Еженедельная синхронизация в каталог неделя if $(date +%u) -eq 0 then

rsync -a --partial --inplace --append --delete-after ${source}/ ${destination_root}/weekly/sites-available/

fi

# Создание архива count_last_archives=$(find ${destination_root}/ -name «*.tar.gz» -mtime -30 | wc -l) if $count_last_archives -eq 0 then

cd ${source}
tar zcf ${destination_root}/sites-available_${fdate}.tar.gz ./*

fi

#################################################################

# Каталог для резервирования source=«/usr/share/nginx/html» # здесь лежат сайты destination_root=«/var/www/smb/free2/архивы/» fdate=$(date +%Y-%m-%d)

# очистка старых архивов через 7 дней find ${destination_root}/ -type f -name «*.tar.gz» -ctime +7 -exec rm -R {} \; 2>&1

# Синхронизация данных с помощью rsync # Выполнение синхронизации данных в каталог 'день' rsync -a –partial –inplace –append –delete-after ${source}/ ${destination_root}/день/html # Неделя if $(date +%u) -eq 0 then

rsync -a --partial --inplace --append --delete-after ${source}/ ${destination_root}/неделя/html

fi

# Создание архива #count_last_archives=$(find ${destination_root}/ -name «*.tar.gz» -mtime -30 | wc -l) #if $count_last_archives -eq 0 #then # cd ${source} # tar zcf ${destination_root}/html_${fdate}.tar.gz ./* #fi

################################################################# # Каталог для резервирования source=«/scripts» # здесь лежат скрипты destination_root=«/var/www/smb/free2/архивы/» fdate=$(date +%Y-%m-%d)

# очистка старых архивов через 7 дней find ${destination_root}/ -type f -name «*.tar.gz» -ctime +7 -exec rm -R {} \; 2>&1

# Синхронизация данных с помощью rsync # Выполнение синхронизации данных в каталог 'день' rsync -a –partial –inplace –append –delete-after ${source}/ ${destination_root}/день/scripts # Неделя if $(date +%u) -eq 0 then

rsync -a --partial --inplace --append --delete-after ${source}/ ${destination_root}/неделя/scripts

fi

# Создание архива #count_last_archives=$(find ${destination_root}/ -name «*.tar.gz» -mtime -30 | wc -l) #if $count_last_archives -eq 0 #then # cd ${source} # tar zcf ${destination_root}/html_${fdate}.tar.gz ./* #fi

log_new=$log_new' конец выполнения '$(date +%d.%m.%Y« »%H:%M:%S) end_time=$(date +%s) time_interval=$2) log_new=$log_new' время выполнения '$time_interval' с'

# читаем содержимое файла в переменную log log_old=$(<«/var/www/smb/free2/архивы/backup.log»); # Перезаписываем полностью файл echo $log_new>/var/www/smb/free2/архивы/backup.log; echo «$log_old»»/var/www/smb/free2/архивы/backup.log;

Дамп БД

sudo mysqldump --all-databases > /var/www/smb/free2/архивы/backup_bd-mariadb.sql
mysqldump -u dima -p1 seafile-db > /var/www/smb/free2/архивы/seafile-db.sql
mysqldump -u root -p1 seafile-db > /var/www/smb/free2/архивы/seafile-db.sql
mysqldump -u dima -p1 --all-databases > /var/www/smb/free2/архивы/backup_bd-mariadb.sql

Теперь с архивированием

mysqldump -u dima -p1 --all-databases | gzip > /var/www/smb/free2/архивы/backup_bd-mariadb.sql.gz

24.04.2023

Настройка сервера NFS на Linux

https://www.dmosk.ru/miniinstruktions.php?mini=nfs-server-ubuntu

apt install nfs-kernel-server

Расшарим папку /var/www/nfs

sudo nano /etc/exports

добавляем строку

/var/www/nfs 192.168.1.1/24(rw,no_root_squash,no_subtree_check)

Выполним экспорт данных

exportfs -a

Проверим статус

systemctl status nfs-server

24.04.2023

Установка и настройка transmission

http://192.168.1.106:9091

путь к папке загрузок

cd ~
pwd

узнаём, что мы в /home/dima

Доступ к папке /home/dima/torrents так, чтобы пользователь dima мог читать и писать, а остальные только читать.

sudo chmod 777 /home/dima/torrents
sudo nano /etc/samba/smb.conf
[smb_torrents]
  comment = Torrents
  path = /home/dima/torrents
  public = yes
  writable = yes
  read only = yes
  write list = dima
  guest ok = yes
  create mask = 0777
  directory mask = 0777
  force create mode = 0777
  force directory mode = 0777

перезапуск самба sudo systemctl restart smbd

В ДОМАШНЕЙ ПАПКЕ НЕ ПОЛУЧИЛОСЬ СДЕЛАТЬ ТАК буду делать в обшей

/var/www/smb/torrents

sudo mkdir /var/www/smb/torrents
sudo chmod 777 /var/www/smb/torrents
sudo nano /etc/samba/smb.conf
[smb_torrents]
  comment = Public Folder Read Only
  path = /var/www/smb/torrents
  public = yes
  writable = yes
  read only = yes
  write list = dima
  guest ok = yes
  create mask = 0777
  directory mask = 0777
  force create mode = 0777
  force directory mode = 0777

перезапуск самба

sudo systemctl restart smbd

10.05.2023 Устанавливаем облачный сервис

Seafile + мемкэш

https://obu4alka.ru/install-seafile-ubuntu-server.html

Начнем с установки memcached. Для установки вводим:

sudo apt install memcached libmemcached-dev

Настроим установленный сервис memcached

sudo nano /etc/memcached.conf
-m 512

Перезапускаем сервис и разрешаем его автозапуск:

sudo systemctl restart memcached
sudo systemctl enable memcached

Статус

sudo systemctl status memcached

Создаем каталог, в который загрузим установочные файлы Seafile

sudo mkdir -p /opt/seafile

На официальном сайте копируем ссылку на архив с приложением и загружаем его на наш сервер

cd /opt/seafile
sudo wget https://s3.eu-central-1.amazonaws.com/download.seadrive.org/seafile-server_10.0.1_x86-64.tar.gz

После загрузки распакуем наш архив:

sudo tar zxf seafile-server_10.0.1_x86-64.tar.gz -C /opt/seafile/ --strip-components 1
sudo chmod -R 777 /opt/seafile/
sudo chmod -R 777 /opt/conf

Запускаем скрипт установки seafile сервера

sudo ./setup-seafile-mysql.sh

имя сервера: seafile ip: 192.168.1.106 порт по умолчанию 80821

sudo ./seafile.sh start
sudo ./seahub.sh start

проверим все ли действительно запустилось на нашем сервере

netstat -tupnl

24.04.2023

Настройка сервера NFS на Linux

https://www.dmosk.ru/miniinstruktions.php?mini=nfs-server-ubuntu

apt install nfs-kernel-server

Расшарим папку /var/www/nfs

sudo nano /etc/exports

добавляем строку

/var/www/nfs 192.168.1.1/24(rw,no_root_squash,no_subtree_check)

Выполним экспорт данных

exportfs -a

Проверим статус

systemctl status nfs-server

https://youtu.be/_nxYdk-xNkY https://kubuntu.ru/node/3046

установка

sudo apt install nfs-kernel-server

проверка поддержки на упровне ядра

cat /proc/filesystems | grep nfs

проверка работы сервера

sudo rpcinfo -p | grep nfs

добавляем nfs в автозагрузку

sudo systemctl enable nfs-server

проверяем статус сервера

sudo systemctl status nfs-server

создаём каталог

sudo mkdir /var/www/nfs/share

назначаем полные права на каталог

sudo chmod 777 /var/www/nfs/share

экспортируем папку /var/www/nfs/share

sudo nano /etc/exports

в конец добавляем строку

/var/www/nfs/share 192.168.0.0/24(rw,root,squash,async,subtree_check)

перезгрузка nfs

sudo exportfs -a

вывод расшаренных папок

sudo exportfs

Почитать сети и маски в linux

28.04.2023

про листинг в nginx (список файлов и каталогов) https://umutcanbolat.com/how-to-enable-directory-listing-in-nginx/ про красивый листинг https://habr.com/ru/articles/353478/

Мониторинг сервера https://itsecforu.ru/2018/08/29/как-установить-средство-мониторинга-ne-2/

Использую netdata dashboard

06.05.2023 сайты nginx по умолчанию лежат в /usr/share/nginx/html сделаю их доступными через SMB

sudo chmod -R 777 /usr/share/nginx/html
sudo nano /etc/samba/smb.conf
[www_notebook_linux]
  comment = www
  path = /usr/share/nginx/html
  public = yes
  writable = yes
  read only = yes
  write list = dima
  guest ok = yes
  create mask = 0777
  directory mask = 0777
  force create mode = 0777
  force directory mode = 0777

перезапуск самба

sudo systemctl restart smbd

Теперь то же самое но в дирректории по умолчанию /var/www/html

sudo chmod -R 777 /var/www/html
sudo nano /etc/samba/smb.conf
[www_notebook_linux2]
  comment = www
  path = /var/www/html
  public = yes
  writable = yes
  read only = yes
  write list = dima
  guest ok = yes
  create mask = 0777
  directory mask = 0777
  force create mode = 0777
  force directory mode = 0777

перезапуск самба

sudo systemctl restart smbd

выполните эту команду, чтобы убедится, что вы не допустили ошибок

sudo nginx -t

перечитайте конфигурацию nginx:

sudo nginx -s reload

Установка FTP-сервера

https://youtu.be/azVmY1SHcT4 перевод мануала https://nemcd.com/2008/06/perevod-manuala-ftp-servera-vsftpd/

Просмотр пользователей

cat /etc/passwd или sed 's/:.*//' /etc/passwd

Удалим лишних вместе с их домашними директориями (-r)

sudo userdel -r user1

Создадим пользователя ftp_user1 вместе с домашним каталогом (-m)

sudo useradd -m ftp_user1
sudo useradd ftp1 -m

проверим, появидся ли домашний каталог

cd /home
ls -l

создадим пароль пользователя

sudo passwd ftp_user1

создаём группу пользователей для сервера

sudo addgroup myusers

добавляем пользователя ftp_user1 в группу myusers

sudo usermod -G myusers ftp_user1

создадим для пользователя ftp_user1 несколько папок

sudo mkdir /home/ftp_user1/share_ftp
sudo mkdir /home/ftp_user1/www
sudo mkdir /home/ftp_user1/test-no_visible_ftp

создадим пользователю ftp_user1 права на его папки

sudo chown ftp_user1:myusers /home/ftp_user1/share_ftp
sudo chown ftp_user1:myusers /home/ftp_user1/www

создадим пользователю ftp_user1 права на его директории

sudo chown 555 /home/ftp_user1

Отредактируем настройки ftp-сервера

sudo nano /etc/vsftpd.conf

1. Запретим анонимных пользователей anonymouse_enable=NO 2. local_enable=YES

3. Чтобы пользователи не выходили за пределы назначенных им каталогов снимаем комментарии с

chroot_list_enable=YES

———– СПОРНО, ТОГДА ЮЗЕРЫ НЕ СМОГУТ ПИСАТЬ, но у меня получилось!!!

4. Чтобы пользователи могли писать в каталог раскомментировал write_enable=YES

Почти всё получилось.

Теперь попроще: задам ftp-user2 (без пароля)

sudo useradd -m ftp-user2
ls -l /home
sudo usermod -G myusers ftp-user2

Проверка – неудача, не пускает без пароля!

sudo passwd ftp-user2
sudo systemctl reload vsftpd

Проверка – неудача, не назначены видимо права на папку!

sudo usermod -G myusers ftp-user2
sudo chown ftp-user2:myusers /home/
sudo chown 555 /home/ftp-user2

Ещё одна инструкция

Создаем нового пользователя

sudo useradd твой-пользователь2
sudo passwd твой-пользователь2

Создаем группу для пользователей с полным доступом к /var/www

sudo groupadd dostupwww
sudo chgrp -R dostupwww /var/www
sudo chmod -R 770 /var/www

Добавляем нужных пользователей в группу доступа

sudo usermod -a -G dostupwww твой-пользователь1
sudo usermod -a -G dostupwww твой-пользователь2

После этого только члены группы dostupwww (существовавший ранее твой-пользователь1 и только созданный твой-пользователь2) смогут читать, записывать или выполнять что-либо в каталоге /var/www

Мой новый юзер ftp1, а его папка /var/www/ftp

Нашёл в инете https://losst.pro/nastrojka-ftp-v-centos-8

полное удаление пакета (с вычищением настроек)

sudo apt -p remove vsftpd

переименование

mv файл1 файл2

автозапуск сервера при перезагрузки

sudo systemctl enable vsftpd.service

старт сервиса

sudo systemctl start vsftpd.service

остановка сервиса

sudo systemctl stop vsftpd.service

обновление конфигурации сервиса на лету

sudo systemctl reload vsftpd.service

статус сервиса

sudo systemctl status vsftpd.service

Настройка Samba-сервера

https://youtu.be/btyEFj-a3Qs https://www.dmosk.ru/instruktions.php?object=samba-ubuntu#share-anonymous

создаём папки

sudo mkdir /var/www/smb
sudo mkdir /var/www/smb
sudo mkdir /var/www/smb/free
sudo mkdir /var/www/smb/free2

задаём права

sudo chmod 777 /var/www/smb/free2

установка

sudo apt install samba

настройка конфигурации

sudo nano /etc/samba/smb.conf
[free2]\\
  comment = Public Folder\\
  path = /var/www/smb/free2\\
  public = yes\\
  writable = yes\\
  read only = no\\
  guest ok = yes\\
  create mask = 0777\\
  directory mask = 0777\\
  force create mode = 0777\\
  force directory mode = 0777\\

Перезапуск SMB

sudo systemctl restart smbd или sudo service smbd restart

Проверка

sudo service smbd status

В винде \\192.168.1.106

Доступ к папке по логину и паролю

sudo mkdir /var/www/smb/smb_stable
sudo chmod 777 /var/www/smb/smb_stable
sudo nano /etc/samba/smb.conf

добавляем пользователя в samba

sudo smbpasswd -a dima

перезапуск самба

sudo systemctl restart smbd

Доступ к папке так, чтобы пользователь dima мог читать и писать, а остальные только читать.

sudo mkdir /var/www/smb/smb_roq
sudo chmod 777 /var/www/smb/smb_roq
sudo nano /etc/samba/smb.conf
[smb_read-only-quest]\\
  comment = Public Folder Read Only\\
  path = /var/www/smb/free2\\
  public = yes\\
  writable = yes\\
  read only = yes\\
  write list = dima\\
  guest ok = yes\\
  create mask = 0777\\
  directory mask = 0777\\
  force create mode = 0777\\
  force directory mode = 0777\\

перезапуск самба

sudo systemctl restart smbd

22.04.2023

https://ubunlog.com/ru/lemp-nginx-mariadb-установка-php-ubuntu-20-04/#Instalar_MariaDB

установить пакет Nginx

sudo apt install nginx

запустить службу Nginx

sudo systemctl start nginx

Проверка в браузере

http://192.168.1.106/

Установка MariaDB

sudo apt install mariadb-server mariadb-client

Проверка (установить пароль root и безопасный экземпляр MariaDB)

sudo mysql
CREATE USER 'phpadmin'@'localhost' IDENTIFIED BY 'mypassword';
GRANT ALL PRIVILEGES ON *.* TO 'phpadmin'@'localhost' WITH GRANT OPTION;
exit

Установить PHP-FPM (Менеджер процессов PHP-FastCGI)

sudo apt install php-fpm php-mysql php-cli

перезапустите PHP-FPM

sudo systemctl restart php8.1-fpm.service

Проверка статуса PHP-FPM

sudo systemctl status php8.1-fpm.service

Создание сайтов

Создание сайта без PHP

cd /usr/share/nginx/html
sudo mkdir site1.loc
cd site1.loc
sudo nano index.html

Содержимое index.html

<!DOCTYPE html>
<html lang="ru">
<head>
  <meta charset="UTF-8">
  <title>Сайт на сервере linux Mint</title>
</head>
<body>
  <p>Чистый HTML без PHP</p>
</body>
</html>

создание конфигурации виртуального хоста

cd /etc/nginx/sites-available/
sudo cp default site1.loc.conf
sudo nano site1.loc.conf

Вписываем

server {
	listen *:80;
	server_name site1.loc;
	root /usr/share/nginx/html/site1.loc;
	index index.html index.htm;
	location / {}
}

активировать созданный виртуальный хост nginx

sudo ln -s /etc/nginx/sites-available/site1.loc.conf /etc/nginx/sites-enabled/site1.loc.conf

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

cat /etc/nginx/nginx.conf

выполните эту команду, чтобы убедится, что вы не допустили ошибок

sudo nginx -t

перечитайте конфигурацию nginx:

sudo nginx -s reload

Создание сайта c PHP

cd /usr/share/nginx/html
sudo mkdir site2.loc
cd site2.loc
sudo nano index.php

(редактирование sudo nano /usr/share/nginx/html/site2.loc/index.php)

Содержимое index.php

<!DOCTYPE html>
<html lang="ru">
<head>
  <meta charset="UTF-8">
  <title>Сайт на сервере linux Mint</title>
</head>
<body>
  <p>Сайт с PHP</p>
  <?php
    echo "Привет PHP!";
  ?>
</body>
</html>

создание конфигурации виртуального хоста

cd /etc/nginx/sites-available/
sudo cp site1.loc.conf site2.loc.conf
sudo nano site2.loc.conf

Проверка версии PHP

 php -v

Вписываем

server {
listen *:80;
server_name site1.loc;
root /usr/share/nginx/html/site1.loc;
index index.php;
location ~ \.php$ {
	include snippets/fastcgi-php.conf;
	fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
}
}

активировать созданный виртуальный хост nginx

sudo ln -s /etc/nginx/sites-available/site2.loc.conf /etc/nginx/sites-enabled/site2.loc.conf

выполните эту команду, чтобы убедится, что вы не допустили ошибок

sudo nginx -t

перечитайте конфигурацию nginx:

sudo nginx -s reload

https://eternalhost.net/base/vps-vds/nginx-ustanovka-phpmyadmin-ubuntu

Установка PhpMyAdmin

sudo apt -y install phpmyadmin

(в окне из выбора апачи или lighttp ничего не выбираем и жмём ok)

Создание конфига PhpMyAdmin в Nginx

sudo nano /etc/nginx/sites-available/phpmyadmin.conf

В созданный файл вносятся следующие строки:

server {
listen *:80;
server_name phpmyadmin.loc;
root /usr/share/phpmyadmin/;
index index.php;
location ~ \.php$ {
	include snippets/fastcgi-php.conf;
	fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
      }
}

21.04.2023

Установить снап пакет nexcloud

https://www.8host.com/blog/ustanovka-i-nastrojka-snap-paketa-nextcloud-v-ubuntu-16-04/

Документация https://github.com/nextcloud-snap/nextcloud-snap

Меняем порт Несклауд

sudo snap set nextcloud ports.http=81

22.02.2023

Отправка данных с метеостанции на сайт

Статья по теме. https://19dx.ru/2016/03/vyvod-pokazanij-s-meteostancii-na-svoj-sajt/

1. Создаём БД station1 на сервере.

2. Создаём в ней таблицу w1 с полями id, время, температура.

перенёс БД st1 на хостинг с паролем PB3ZY6JDESeLYLLJ

12.12.2022 Пробую в XigmaNAS сохранить конфигурацию: получилось.

Не получается восстановить конфигурацию: пишет Error: Failed to write configuration file '/cf/boot/loader.conf.local' (Ошибка: Не удалось записать конфигурационный файл '/cf/boot/loader.conf.local'). Попробую создать файл /cf/boot/loader.conf.local с правами 777. Пришлось перезагрузить сервер.

Всё получилось!!!

Хочу создать два виртуальных диска по 50ГБ и объединить их в райд массив (RAID1)

Написал: «UFS и ZFS являются родными файловыми системами XigmaNAS. Попытка использовать другие файловые системы такие как ext2, ext3, EXT4, FAT, FAT32 или NTFS может привести к непредсказуемым результатам, порче файлов и потере данных!»

Хоть и пишет в управлении HDD, что файловая система «Неизвестно или не отформатировано». Но данные с примонтированного диска читает без проблем. Дилемма UFS или ZFS. ZFS – более новая и продвинутая. Выберу её!

https://youtu.be/oWbk8a23i6M

UFS менее требовательна к железу – выберу её!

26.11.2022

Запуск питона на линуксе

https://losst.pro/zapusk-python-skripta-v-linux

  1. Создаём файл my1.py c содержанием: print(«Привет, мир!»)
  2. Для того чтобы запустить скрипт необходимо передать его интерпретатору Python. Для этого просто откройте терминал с помощью сочетания клавиш Ctrl + Alt + T, перейдите в папку со скриптом и выполните: python3 my1.py.
  3. Чтобы не писать интерпретатор вначале перед каждым запуском надо: 1. в скрипте my1.py добавить сверху строчку #!/usr/bin/python (указываем интерпретатор в самом скрипте); 2. Сохранить изменения, а затем сделать файл скрипта исполняемым с помощью команды: chmod ugo+x my1.py. И тогда можно запустить скрипт, просто введя в терминале: ./my1.py (./ – указывает на текущий каталог).
  4. Если убрать расширение .py и переместить скрипт в каталог, находящийся в переменной PATH, например /usr/bin/, то его можно будет выполнять вот так: my1.

25.11.2022

XigmaNAS

Установил на винде на виртуальную машину ОС XigmaNAS (Бывшая Nas4free) https://ru.wikipedia.org/wiki/XigmaNAS (видеоинструкция https://youtu.be/X_jyJcIRYaY). Очень простая, не требовательная к ресурсам (съела 1,18GB оперативки и почти не грузит процессор!)

Статья про настройку https://itigic.com/ru/xigmanas-guide-to-installing-and-configuring-nas/

Имя пользователя для доступа к администрированию - «admin», а пароль - «xigmanas».

TrueNAS

В дальнейшем хочу попробовать TrueNAS (бывшая FreeNAS) https://ru.wikipedia.org/wiki/FreeNAS. TrueNAS Core – бесплатная версия. Обзор https://dzen.ru/media/servernews/freenas-umer-da-zdravstvuet-truenas-5f904dd2c2b29d2294ec9e99. Говорят, что она много ресурсов жрёт

24.11.2022 Каким-то чудом появился NexCloud на http://ubuntu_html.loc

Установка СУБД MariaDB и PhpMyAdmin (LEMP)

https://blog.sedicomm.com/2018/07/18/ustanovka-nginx-mariadb-php-i-phpmyadmin-v-ubuntu-18-04/

Проверка статуса nginx:

systemctl status nginx

Проверка, успешно ли установлен пакет Nginx: вводим в браузере http://192.168.1.106/ (должна быть надпись Welcome to nginx! …) Установка СУБД MariaDB:

apt install mariadb-server mariadb-client

Проверка статуса:

systemctl status mysql

Установка PhpMyAdmin для администрирования баз данных:

apt install phpmyadmin

Получаем доступ к интерфейсу phpMyAdmin в своем браузере, создав следующую символическую ссылку:

ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin

Поскольку индексный файл phpmyadmin — index.php, добавляем его в список индексных файлов, в файле конфигурации сервера по умолчанию /etc/nginx/sites-available/default Установка соответствующих разрешений для корневого каталога phpmyadmin, чтобы предотвратить ошибки доступа:

chmod 775 -R /usr/share/phpmyadmin/
chown root:nginx -R /usr/share/phpmyadmin/

23.11.2022

Хочу на винде видеть в сетевом окружении ПК на Linux:

1. В винде рабочая группа называется WORKGROUP
2. Создаём в линуксе рабочую группу groupadd WORKGROUP
3. Добавляем пользователя: usermod -a -G WORKGROUP dima
4. Информация о группе: cat /etc/passwd
5. Переходим в каталог с конфигурацией самба: cd /etc/samba
6. Редактируем конфигурационный файл: nano smb.conf
Добавил в [global] workgroup = WORKGROUP
7. https://youtu.be/HmkIAyle3DE

На винде (0x80070035 Не найден сетевой путь – у меня так было):

[win]+[R] gpedit.msc Конфигурация компьютера → Административные шаблоны → Сеть → Рабочая станция Lanman → Включить небезопасные сетевые входы → Включено

22.11.2022

SAMBA

https://youtu.be/jWqh0P7Xreo

1. Редактируем конфигурационный файл samba: nano /etc/samba/smb.conf

[global]
  map to guest = Bad User  
  security = USER  
  idmap config * : backend = tdb
[share]
  path = /usr/share/man  
  force user = nobody  
  guest ok = Yes
[записываемая шара на ноутбуке]
  path = /var/samba/writable  
  guest ok = yes  
  read only = no
[только читаемая шара на ноутбуке]
  path = /var/samba/read-only  
  guest ok = yes  
  read only = yes

2. Проверяем правильность настройки samba: testparm

3. Выставляем нужные права на папку

4. Перезапуск samba:

service smbd restart

Или:

service smbd stop
service smbd start

FTP-сервер

https://itproffi.ru/ustanovka-i-nastrojka-ftp-servera-v-linux/

Права доступа в Линукс

https://habr.com/ru/post/469667/

Настроил торрент-клиент Transmission на удалённый доступ (http://192.168.1.106:9091/transmission/web). Правда пришлось вручную на ноутбуке включать опцию для удалённого доступа в самом клиенте. Настроил папку torrents в /var/samba, для закачки торрентов по умолчанию.

Папки расшаривать лучше в общих директориях, например /var/samba. Папки пользователей (/home/dima) под защитой!

21.11.2022

Установка web-сервера Nginx на Linux Ubuntu и публикация web-сайта https://youtu.be/0GVrh18Nfmc

Публикация нескольких web-сайтов на web-сервере Apache под Linux Ubuntu https://www.youtube.com/watch?v=A87OkBNZ2Sw

Установка PHP и MySQL поверх ngnix (https://www.digitalocean.com/community/tutorials/how-to-install-linux-nginx-mysql-php-lemp-stack-ubuntu-18-04-ru): сделал всё как в статье и всё заработало!!! Только версию PHP изменил на 8.2!

Удалённое управление через SSH

https://youtu.be/aP1ObrA1Fn4 Выставил PubkeyAuthentication no (логин dima пароль 1) https://losst.pro/ustanovka-ssh-ubuntu-16-04

1) , 2)
end_time-start_time