Linux
  • << DEBIAN >>

  •   Сървър на отделни хостове
  •     DNS Сървър
  •     SQL Сървър
  •     WEB Сървър
  •     Пощенски Сървър
  •   PXE Server
  •   PXE UEFI Server - TFTP
  •   Debian 9
  •     Инсталиране на Debian 9
  •     Първоначални настройки (мрежа, VIM, Кирилизация)
  •     Инсталиране и настройка на SSH
  •     Инсталиране и настройка на DNS
  •     Инсталиране и настройка на NTP
  •     Инсталиране и настройка на Apache
  •     Инсталиране и настройка на MySQL (MariaDB)
  •     Инсталиране и настройка на PHPMyAdmin
  •     Инсталиране и настройка на собствен облак
  •     Инсталиране и настройка на SAMBA
  •     Инсталиране и настройка на FTP сървър
  •     Инсталиране и настройка на OSCAM
  •     Инсталиране и настройка на Mail server
  •       Първоначално конфигуриране на базата данни
  •       Инсталиране и конфигуриране на PostFix
  •       Инсталиране и конфигуриране на Dovecot
  •       PostFix дефинира Dovecot да удостоверява
  •       RoundCube
  •       Тестване доставката на поща
  •       Създаване на TLS криптиран ключ и сертификат
  •       WEB администриране
  •       Антиспам със SpamAssassin
  •       Антиспам с RSpmad
  •   Debian 11
  •     Как зарежда Linux
  •     Разпределение на диска при BIOS и UEFI
  •     Debian 11 на BIOS върху LVM и RAID
  •     Инсталиране на Debian 11 на BIOS и ZFS
  •     Инсталиране на Debian 11 на BIOS и ZFS-1
  •     Инсталиране на Debian 11 на UEFI и ZFS
  •     ZFS Замяна на развален огледален диск
  •     Ремонт на GRUB и INITRAMFS
  •   Debian 12
  •     Първоначални настройки
  •     DNS Сървър
  •     Добавяне на втори диск
  •     Файлов сървър + WEBMIN
  •     SAMBA
  •     Инсталиране и настройка на Apache
  •     Инсталиране и настройка на Nginx
  •     MySQL и PHPMyAdmin
  •     Елементарен MAIL сървър
  •       Подобрение SSL/TLS, Maildir, LMTP
  •       Подобрение ВИРТУАЛИЗАЦИЯ без MySQL
  •       Подобрение ВИРТУАЛИЗАЦИЯ и MySQL
  •       Подобрение Антиспам - SpamAssasin
  •       Подобрение Антиспам - RSpamd
  •       Защита - SPF, DKIM и DMARK
  •       Подобрение Антивирус
  •     Пълноценен MAIL сървър
  •     Пощенски сървър с iRedMail и PHPMyAdmin
  •       DKIM, SPF и DMARK
  •     MAIL сървър за вътрешна мрежа
  •     NextCloud
  •     Сървър за отдалечен достъп - RustDESK
  • << UBUNTU >>
  •   Ubuntu SERVER 22.04
  •     Инсталиране на Ubuntu 22.04 Server
  •     Първоначални настройки на Ubuntu 22.04 Server
  •     DNS в Ubuntu 22.04 Server
  •     MySQL Apache PHPMyAdmin
  •     Пощенски сървър
  •       Пощенски сървър в опростен вариант
  •       PostFix, Dovecot по-подробно
  •   Ubuntu mini
  • << RAID >>
  •     BIOS RAID1+MSDOS
  •     BIOS RAID1+MSDOS+LVM
  •     UEFI RAID1
  • << BTRFS >>
  •     BTRFS - създаване монтиране fstab размер
  •     BTRFS - RAID
  •     BTRFS - subvolume и snapshot
  • << КОНТЕЙНЕРИ >>
  •     Инсталиране на LXC/LXD
  •     Образи (image) в LXC/LXD
  •     Контейнери в LXC/LXD
  •     Команди в LXC/LXD
  • << ОТСТРАНЯВАНЕ НА ГРЕШКИ >>
  •     SWAP
  •     InitRAMFs
  • Трети хост - WEB Сървър

    Накъде без WEB. Нагледно и лесно както за конфигуриране на разни приложения така и за работа. В случая ще ползваме Apache.

    Схема на WEB сървъра

    И така имаме следното: - FQDN: web.tlan.local - WEB сървър с IP:10.25.0.5. Пренасочваме портове 80 за HTTP и 443 за HTTPS протоколи.

    Настройка мрежата

    Хоста ще се казва web.tlan.local със следните мрежови настройки:

    # vi /etc/network/interfaces iface ens33 inet static address 10.25.0.5 netmask 255.255.255.0 gateway 10.25.0.1 # vi /etc/hosts 127.0.0.1 localhost 127.0.1.1 web.tlan.local web # vi /etc/hostname web # vi /etc/resolv.conf nameserver 10.25.0.3


    С това завършваме настройката на мрежовата част. Да тестваме:

    # ping ns1.tlan.local PING ns1.tlan.local (10.25.0.3) 56(84) bytes of data. 64 bytes from 10.25.0.3 (10.25.0.3): icmp_seq=1 ttl=64 time=0.172 ms 64 bytes from 10.25.0.3 (10.25.0.3): icmp_seq=2 ttl=64 time=0.352 ms /# ping sql.tlan.local PING sql.tlan.local (10.25.0.4) 56(84) bytes of data. 64 bytes from 10.25.0.4 (10.25.0.4): icmp_seq=1 ttl=64 time=0.028 ms 64 bytes from 10.25.0.4 (10.25.0.4): icmp_seq=2 ttl=64 time=0.055 ms /# ping web.tlan.local PING web.tlan.local (127.0.1.1) 56(84) bytes of data. 64 bytes from web.tlan.local (127.0.1.1): icmp_seq=1 ttl=64 time=0.028 ms 64 bytes from web.tlan.local (127.0.1.1): icmp_seq=2 ttl=64 time=0.055 ms

    В първия и втория случай ни връща IP от реалната мрежа, а в третия връща IP - localhost. Това е така защото така е описано в /etc/hosts С това приключваме настройката на мрежовата част. Следва самата инсталация и настройка, която може да видите в Инсталиране и настройка на Apache. Сега идва интересното: WEB server - IP:10.25.0.5 SQL server - IP:10.25.0.4 Искаме да си управляваме базите които са на SQL сървъра през WEB. Това автоматически налага комуникацията между двата сървъра.

    Връзка между WEB сървъра и SQL сървъра

    Връзка между сървърите условно се казва, на практика те са свързани чрез локалната мрежа. Двата хоста са в една C клас мрежа. По точно идеята е да се инсталира PHPMyAdmin на WEB сървъра който да ползва база данни качена на SQL сървъра. Разбира се за да я има тази връзка е необходимо на WEB сървъра ни да има клиентска част на SQL.

    # apt-get install mysql-client


    Да тестваме връзката:

    # mysql -u root -p -h 10.25.0.4 Enter password: MySQL Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 18 Server version: 10.1.38-MariaDB-0+deb9u1 Debian 9.8 Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type ' MariaDB [(none)]> quit


    Сега да се върнем на PHPMyAdmin. За начало да го инсталираме. Ръководство от: Инсталиране на PHPMyAdmin. След инсталацията трябва да се настрои базата данни за PHPMyAdmin

    # dpkg-reconfigure phpmyadmin Reinstall database for phpmyadmin?: Yes Connection method for MySQL database of phpmyadmin: TCP/IP Host name of the MySQL database server for phpmyadmin: new host Host running the MySQL server for phpmyadmin: 10.25.0.4 Port number for the MySQL service: 3306 MySQL database name for phpmyadmin: phpmyadmin MySQL username for phpmyadmin: root MySQL application password for phpmyadmin: MySQL Password confirmation: MySQL Name of the database's administrative user: root Web server to reconfigure automatically: apache2 # /etc/init.d/apache2 restart


    Ако пък ще се управлява друг SQL сървър, примерно имате втори то тогава:

    # vi /etc/phpmyadmin/config.inc.php # В края на файла преди затварящата } слагаме следното: /* Remote Server */ $i++; $cfg['Servers'][$i]['connect_type'] = 'tcp'; $cfg['Servers'][$i]['auth_type'] = 'config'; $cfg['Servers'][$i]['host'] = 'sql2.tlan.local'; $cfg['Servers'][$i]['verbose'] = 'sql2.example.tlan:3306'; $cfg['Servers'][$i]['user'] = 'tachko'; $cfg['Servers'][$i]['password'] = 'Iceman'; # Ако искате да забраните и да не се виждат някои база опишете ги долу # Ако пък желаете всичко да се вижда, то забранете или изтрийте реда: // $cfg['Servers'][$i]['hide_db'] = '^(mysql|performance_schema|innodb|information_schema)$';


    И така ако отворим в браузаъра PHPMyAdmin ще видим следното:

    Pic01

    Появява се ново поле: Server Choice:. Там разбира се трябва да се дефинира свързаността с отдалечената база данни. Име: tachko, Парола: Iceman Ако ще се достъпва не един сървър то съответно един под друг се дописват няколко тавива блока в /etc/phpmyadmin/config.inc.php. Проблема обаче е, когато се помъчим да влезем в базата на mysql и после в таблицата на user. В интерес на истината и на други места се появява: Warning in ./libraries/sql.lib.php#613 count(): Parameter must be an array or an object that implements Countable. Решението е:

    # vi /usr/share/phpmyadmin/libraries/sql.lib.php # Отиваме на ред 614 и търсим пасажа: return $GLOBALS['cfg']['RememberSorting'] && ! ($analyzed_sql_results['is_count'] || $analyzed_sql_results['is_export'] || $analyzed_sql_results['is_func'] || $analyzed_sql_results['is_analyse']) && $analyzed_sql_results['select_from'] && ((empty($analyzed_sql_results['select_expr'])) || (count($analyzed_sql_results['select_expr'] == 1) && ($analyzed_sql_results['select_expr'][0] == '*'))) && count($analyzed_sql_results['select_tables']) == 1; } # Трябва да изглежда: return $GLOBALS['cfg']['RememberSorting'] && ! ($analyzed_sql_results['is_count'] || $analyzed_sql_results['is_export'] || $analyzed_sql_results['is_func'] || $analyzed_sql_results['is_analyse']) && $analyzed_sql_results['select_from'] && ((empty($analyzed_sql_results['select_expr'])) || (count($analyzed_sql_results['select_expr']) == 1 && ($analyzed_sql_results['select_expr'][0] == '*'))) && count($analyzed_sql_results['select_tables']) == 1; } # /etc/init.d/apache2 restart


    Продължаваме с Mail сървъра.