Linux
  • << DEBIAN >>
  •   < 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 Сървър
  •     DNS Практика
  •     Инсталиране и настройка на Apache
  •     MySQL и PHPMyAdmin
  •     Елементарен MAIL сървър
  •       Първо надграждане на MAIL сървъра
  •     Инсталиране и настройка на пощенски сървър
  •     Пощенски сървър с iRedMail и PHPMyAdmin
  •     WEB сървър с Nginx
  •   Сървър на отделни хостове
  •     DNS Сървър
  •     SQL Сървър
  •     WEB Сървър
  •     Пощенски Сървър
  •   PXE Server
  •   PXE UEFI Server - TFTP
  •   Сървър за отдалечен достъп - 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
  •   Ubuntu BUDGIE
  •     Инсталиране Ubuntu BUDGIE
  •     Първоначални настройки на Ubuntu BUDGIE
  •     Ubuntu BUDGIE като MAC OS
  •     Приложения за Ubuntu BUDGIE
  • GNOME работна среда
  •   Ubuntu GNOME
  •     Инсталиране на Ubuntu 21.04 GNOME
  •     Ubuntu 21.04 GNOME като MacOS
  • XFCE работна среда
  •   Debian - Install XFCE
  •     Debian XFCE - допълнение
  •     Debian XFCE като MacOS
  •   Ubuntu - Install XFCE
  •     Ubuntu XFCE - допълнение
  •     Ubuntu XFCE като MacOS
  • МАТЕ работна среда
  •   Debian - Install MATE
  •     Настройка на Debian MATE
  • PROGRAMS
  •   Conky
  •   Sublime Text
  • Трети хост - 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 сървъра.