Накъде без WEB. Нагледно и лесно както за конфигуриране на разни приложения така и за работа. В случая ще ползваме Apache.
И така имаме следното: - 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. Това автоматически налага комуникацията между двата сървъра.
Връзка между сървърите условно се казва, на практика те са свързани чрез локалната мрежа. Двата хоста са в една 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 ще видим следното:
Появява се ново поле: 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 сървъра.