====== Команды и настройки линукс ====== =====Сервисы на ноутбуке===== Стартовая страница ноутбуке Linux [[http://195.46.164.136:9093/]] Из файла на форточках\\ C:\Windows\System32\drivers\etc\host \\ 192.168.1.106 site1.loc\\ 192.168.1.106 site2.loc (на PHP)\\ 192.168.1.106 site3.loc\\ 192.168.1.106 phpmyadmin.loc\\ 192.168.1.106:4781 nexcloud.loc торрент-клиент transmission [[http://192.168.1.106:9091]] мониторинг [[http://192.168.1.106:19999]] шара /home/dima/Шара/Чтение\\ /home/dima/Шара/Общедоступные\\ /home/dima/Шара/Общедоступные/Архивы Служба ДНС Dnsmasq sudo systemctl start dnsmasq.service sudo systemctl status dnsmasq.service =====Настройки сайтов Nginx===== каталог с сайтами /usr/share/nginx/html каталог с настройками сайтов /etc/nginx/sites-available/ активация нового сайта sudo ln -s /etc/nginx/sites-available/имя_сайта.conf /etc/nginx/sites-enabled/имя_сайта.conf пример настройки сайта с PHP 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; } } =====Настройка NextCloud===== [[https://github.com/nextcloud-snap/nextcloud-snap/blob/master/README.md#httphttps-port-configuration]] =====Частые команды===== ====сеть и интернет==== сетевые интерфейсы ip a (по старому igconfig) таблица маршрутизации ip r пинг сайта или хоста (преобразовать имя в ip) ping ya.ru локальный файл хостов cat /etc/hosts выполните эту команду, чтобы убедится, что вы не допустили ошибок с настройками nginx sudo nginx -t перечитайте конфигурацию nginx: sudo nginx -s reload просмотр открытых (слушающих=listen) портов ss -tlpn проверка, свободен ли порт grep -w 80 /etc/services проверка версии PHP php -v перезапуск самба sudo systemctl reload smbd просмотр интерфейсов sudo tcpdump -D просмотр интерфейсов с ip-адресами sudo ip -c addr имя компьютера в локальной сети cat /etc/hostname опрос DNS серверов (преобразовать имя в ip) dig ya.ru преобразовать ip-адрес в имя nslookup 5.255.255.242 вывод ip-адреса DNS-сервера по умолчанию cat /etc/resolv.conf ====пользователи и права==== разрешаем выполнять скрипт sudo chmod ugo+x samba_backup.sh создаём каталог sudo mkdir /каталог изменяем (назначение) права на каталог sudo chmod -R 777 /opt/seafile/ смена владельца файла chown dima webdav.conf Добавление пользователя в группу sudo gpasswd -a dima sudo переключение на суперпользователя sudo -i создаём пользователя sudo useradd quest создадим пароль пользователя quest (quest) sudo passwd quest ====пакеты==== установка пакета sudo apt install пакет обновление базы данных пакетов sudo apt update обновление установленных пакетов sudo apt upgrade полное удаление пакета (с вычищением настроек) sudo apt -p remove vsftpd ====сервисы и скрипты==== автозапуск сервера при перезагрузки sudo systemctl enable vsftpd.service старт сервиса sudo systemctl start vsftpd.service или sudo service smbd restart остановка сервиса sudo systemctl stop vsftpd.service обновление конфигурации сервиса на лету sudo systemctl reload vsftpd.service sudo systemctl reload smbd статус сервиса sudo systemctl status vsftpd.service Разрешаем выполнять скрипт sudo chmod ugo+x samba_backup.sh ====файлы и каталоги==== переименование файла sudo mv файл1 файл2 удаление файла sudo rm файл очистка содержимого файла >файл удаление каталога sudo rm -R каталог создаём жёсткую ссылку sudo ln /etc/cron.daily/backup /scripts/ создаём символическую ссылку sudo ln -s /etc/cron.daily/backup /scripts/ Сжатие файлов и каталогов tar -czvf test.conf.old.tar.gz test.conf.old tar -cjvf test.conf.old.tar.bz2 test.conf.old Здесь\\ -с --create Создать новый архив\\ -z компрессор gzip\\ -j компрессор bzip2\\ -v --verbose Выводить подробную информацию процесса\\ -f --file Вывести результат в файл\\ распаковка tar -xzvf archive.tar.gz tar -xjvf archive.tar.bz2 Здесь\\ -x --extract Извлечь файлы из архива gzip быстрее работает, bzip2 лучше жмёт ====вывод различной информации о ПК и системе==== виртуальные файловые системы Каталоги /proc/, /sys/, /dev/ команда free (информация об оперативной памяти) вытягивает её из файла cat /proc/meminfo информация о ЦП cat /proc/cpuinfo Оперативная память в мегабайтах (-m) free -m по умолчанию в килобайтах free Оперативная память в байтах (-m) free -b Полная информация об оперативке cat /proc/meminfo информация о ЦП cat /proc/cpuinfo список процессов ps -efl Просмотр информации о дистрибутиве (лучше) cat /etc/os-release Версия Линукс cat /proc/version просмотр логов вывод последних 10 строк tail файл просмотр логов в интерактивном режиме (в режиме онлайн - новые строки постоянно подгружаются) tail -f файл (например tail -f /var/log/nginx/access.log) Просмотр логов crontab grep CRON /var/log/syslog всего обращений к серверу 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 Вывод версии ядра uname -a Информация о модулях ядра lsmod Информация об устройствах PCI lspci Информация о шине USB lsusb Детальная информация о комплектующих sudo lshw ====Накопители данных==== Вывод информации о накопителях данных в системе fdisk -l Вывод информации о разметке дисков lsblk Работа с диском sudo cfdisk /dev/sda =====Конфигурации===== ====FTP==== протокол передачи: FTP\\ шифрование: Без шифрования\\ имя хоста: 192.168.1.106\\ порт: 4242\\ имя пользователя: ftp1\\ пароль: 1\\ Конфигурационный файл /etc/vsftpd.conf listen=NO listen_ipv6=YES anonymous_enable=NO local_enable=YES write_enable=YES dirmessage_enable=YES use_localtime=YES # Activate logging of uploads/downloads. xferlog_enable=YES connect_from_port_20=YES connect_from_port_20=YES pasv_enable=YES pasv_addr_resolve=YES pasv_address=192.46.164.136 pasv_min_port=4242 listen_port=4242 chroot_local_user=YES secure_chroot_dir=/var/run/vsftpd/empty pam_service_name=vsftpd rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key ssl_enable=NO ====SAMBA==== В винде \\192.168.1.106 Часть конфигурационного файла /etc/samba/smb.conf [smb-free] path = /var/www/smb/free/ browsable = yes writeable = yes quest ok = yes read only = no [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_stable] path = /var/www/smb/smb_stable public = no writable = yes read only = no guest ok = no create mask = 0777 directory mask = 0777 force create mode = 0777 force directory mode = 0777 [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 [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 [smb_dokuwiki] comment = site dokuwiki path = /usr/share/nginx/html/dokuwiki.loc public = yes writable = yes read only = yes write list = dima guest ok = no create mask = 0777 directory mask = 0777 force create mode = 0777 force directory mode = 0777 [smb_site] comment = site smb path = /usr/share/nginx/html/site_smb.loc public = yes writable = yes read only = yes write list = dima guest ok = no create mask = 0777 directory mask = 0777 force create mode = 0777 force directory mode = 0777 [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 [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 [smb_sites-available] comment = Torrents path = /etc/nginx/sites-available 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 =====Настройки докер-контейнеров===== Настройки файлов docker-compose.yml Запуск docker-compose up -d Остановка docker-compose down В yml файл необходимо добавлять restart: always Для автоматического запуска после перезагрузки! ====Мониторинг==== ===Dozzle - мониторинг нагрузки контейнеров=== {{:системное_администрирование:dozzle.png?400|}} https://hub.docker.com/r/amir20/dozzle version: "3" services: dozzle: container_name: dozzle image: amir20/dozzle:latest volumes: - /var/run/docker.sock:/var/run/docker.sock ports: - 9999:8080 ===NetData - мониторинг нагрузки сервера=== {{:системное_администрирование:netdata.png?400|}} [[https://hub.docker.com/r/titpetric/netdata]] Команда docker run -d --cap-add SYS_PTRACE \ -v /proc:/host/proc:ro \ -v /sys:/host/sys:ro \ -p 20000:19999 \ --restart unless-stopped \ titpetric/netdata ====Красивая web-панель для навигации==== ===Heimdall=== {{:системное_администрирование:heimdall.png?400|}} [[https://hub.docker.com/r/linuxserver/heimdall]] [[https://youtu.be/e7rGR085E8A]] version: "2.1" services: heimdall: image: lscr.io/linuxserver/heimdall:latest container_name: heimdall environment: - PUID=1000 - PGID=1000 - TZ=Etc/UTC volumes: - /DATA/AppData/heimdall/config:/config ports: - 94:80 restart: unless-stopped ====Облака, расшаривание файлов==== ===Nextcloud=== {{:системное_администрирование:nextcloud.png?400|}} version: '3' volumes: nextcloud: db: services: db: image: mariadb:10.6 restart: always command: --transaction-isolation=READ-COMMITTED --log-bin=binlog --binlog-format=ROW volumes: - './db:/var/lib/mysql' environment: - MYSQL_ROOT_PASSWORD=1 - MYSQL_PASSWORD=1 - MYSQL_DATABASE=nextcloud - MYSQL_USER=nextcloud app: image: nextcloud restart: always ports: - 86:80 links: - db volumes: - './data:/var/www/html' environment: - MYSQL_PASSWORD=1 - MYSQL_DATABASE=nextcloud - MYSQL_USER=nextcloud - MYSQL_HOST=db ====Веб-серверы==== ===Nginx+PHP+MySQL=== version: '3' services: php: image: php:8.2-fpm volumes: - './public_html:/var/www/html' nginx: image: nginx ports: - 80:80 volumes: - './public_html:/usr/share/nginx/html' - './nginx/conf.d:/etc/nginx/conf.d' mysql: image: mysql:8 environment: - MYSQL_ROOT_PASSWORD=1 ====Торрент-качалки==== ===Transmission=== [[https://hub.docker.com/r/linuxserver/transmission]] version: "2.1" services: transmission: image: lscr.io/linuxserver/transmission:latest container_name: transmission environment: - PUID=1000 - PGID=1000 - TZ=Etc/UTC - USER=dima #optional - PASS=1 #optional volumes: - /DATA/AppData/transmission/config:/config - /DATA/Downloads:/downloads - /DATA/AppData/transmission/watch:/watch ports: - 9091:9091 - 51413:51413 - 51413:51413/udp restart: unless-stopped