«Тонкие клиенты под управлением Thinstation» и «MySql»: разница между страницами

Материал из support.qbpro.ru
(Различия между страницами)
imported>Vix
(Новая страница: «'''Тонкая генеральная линия: пересаживаем офис на тонкие клиенты под управлением Thinstation'''…»)
 
imported>Vix
Нет описания правки
 
Строка 1: Строка 1:
'''Тонкая генеральная линия: пересаживаем офис на тонкие клиенты под управлением Thinstation'''
==Help MySql==
Финансовый кризис заставил IT-специалистов пересмотреть традиционный подход к организации сети в сторону "тонких клиентов". В отличие от настольных компов, они экономичны, потребляют мало энергии, просты в сопровождении, легко адаптируются к любой среде. Сегодня доступно несколько десятков различных решений для такой сети, а самым популярным представителем лиги терминальных систем является опенсорсный мини-дистрибутив Thinstation.
* Список пользователей:
SELECT USER from mysql.user;
* Создание пользователя:
CREATE USER 'user'@'localhost' IDENTIFIED BY 'secret';
* Удаление пользователя:
DROP USER user@localhost;
* Предоставить права пользователю:
GRANT ALL PRIVILEGES ON dbname.* TO 'user'@'localhost';
* Предоставить супер права пользователю:
GRANT ALL PRIVILEGES ON dbname.* TO 'user'@'localhost' WITH GRANT OPTION;
* Права равные root для работы через phpmyadmin
GRANT ALL PRIVILEGES ON  *.* TO 'user'@'%' REQUIRE NONE WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;


'''Терминальная сеть'''
==Настройка PhpMyAdmin==
Вначале определимся с назначением тонких клиентов и местом Thinstation в процессе организации подобного сервиса. В типичной сети компании применяется схема, ставшая усилиями Microsoft уже стандартной: ОС загружается с локального жесткого диска, там же могут храниться и все необходимые пользователю данные. Но менеджеры, маркетологи, секретари и прочий офисный планктон, которым для работы требуются средства интернета, текстовый редактор и пара программ для создания отчетов и работы с базой данных, используют мощности современного компьютера далеко не полностью (от силы на 10%). На этом можно и нужно экономить.
Процедура «переподключения» phpMyAdmin на работу с внешним сервером достаточно проста, но вызывает вопросы у тех, кто занимается всем этим недавно или неглубоко.


Архитектура тонких клиентов предусматривает загрузку ОС и всех необходимых данных по сети. Такой подход имеет ряд преимуществ, которые становятся очевидны уже в сетях среднего размера:
В данной статье мы рассмотрим несколько вариантов подключения phpMyAdmin ко внешнему серверу, так как задачи и условия у всех разные. В примере я использую сервер баз данных MariaDB, ОС Ubuntu и phpMyAdmin версии 4.5.4, что практически не важно, так как всё достаточно просто. PhpMyAdmin установлен на домашний ПК, но с тем же успехом он может быть настроен и на удалённом сервере. Имеется ввиду, что всё прикладное ПО, такое как непосредственно сам сервер БД, http-сервер и php у вас уже установлено.


*централизованное администрирование;
* Пример первый (доступ с паролем).
*быстрое развертывание (рабочее место можно организовать буквально за 5-10 минут);
*повышение безопасности корпоративных данных (за счет того, что вся информация хранится на сервере, снижается риск хищения данных и *вредоносного действия вирусов, кроме того, заметно упрощается процедура резервного копирования);
*большее время наработки на отказ (в первую очередь, в связи с минимальным количеством механических компонентов);
*снижение нагрузки на сеть (во время терминальной сессии передаются только данные о нажатии клавиш, движениях мыши и обновлениях экрана);
*отсутствие привязки пользователя к конкретному рабочему месту, юзер может получить доступ к своему виртуальному рабочему столу с *любого терминала, подключенного к серверу (даже из своего дома, используя VPN).
*Основная экономия достигается за счет минимизации затрат на приобретение лицензий на пользовательское программное обеспечение и *выбора минимальной аппаратной конфигурации клиентской части. На рабочем столе пользователя может стоять как старый комп, по всем параметрам непригодный для большинства повседневных задач (процессор не ниже Pentium 100, объем оперативной памяти не менее 16 Мб), так и специализированное устройство (например, на базе процессора VIA Eden или AMD Geode). Последние компактны, абсолютно бесшумны и потребляют малую толику электроэнергии (кстати, это позволяет вешать на один бесперебойник до 10 терминалов).


С вступлением и "железочными" делами закончили, перейдем к софту. Дистрибутив Thinstation разработан специально для создания тонких клиентов и оснащен всеми необходимыми приложениями, обеспечивающими подключение к сервисам по основным протоколам удаленной работы: Citrix ICA, Microsoft RDP, VNC, NX NoMachine, 2X ThinClient, VMWare View Open client, X11, Telnet, SSH. Систему можно загружать по сети с помощью Etherboot/PXE или внешнего носителя (FDD/CD/HDD/CF/USB-flash). Все настройки производятся централизованно при помощи конфигурационных файлов, что упрощает управление терминалами.
Сервер баз данных расположен на машине с адресом 10.10.1.10. PhpMyAdmin устанавливаем на локальный ПК с адресом 10.10.1.20. Необходимо убедиться, что сервер баз данных принимает внешние соединения. Правим my.cnf (/etc/mysql/my.cnf). В строке bind-address по умолчанию указан адрес 127.0.0.1, что запрещает серверу принимать внешние соединения. Заменяем его на 0.0.0.0, что разрешит внешние соединения с любого адреса. В целях безопасности лучше уточнить адрес, если вы не планируете подключаться к серверу из разных источников. В этом примере будет использоваться строка следующего вида:


'''Знакомимся: Thinstation'''
bind-address = 10.10.1.20
Текущей стабильной версией Thinstation является 2.2.2 (от 10 августа 2008 года). Основу дистрибутива составляет ядро 2.6.16.5, XOrg 6.9/XFree86 4.3.99.902, Glibc 2.3.5, GCC 3.4.4, Вlackbox 0.70.1/IceWM 1.2.25, пакет системных программ Busybox 1.1.3, набор драйверов для различных видео и сетевых карт, прикладные программы RDesktop, Telnet, Citrix ICA, NoMachine NX, 2X ThinClient, VMWare View Open client, SSH, OpenVPN. Помимо указанных пакетов, есть возможность укомплектовать загрузочный образ дополнительными программами, драйверами и патчами. Кстати, многие предпочитают использовать более ранние версии Thinstation, поскольку они занимают меньше места и на старых системах работают чуть быстрее. Единственный минус: для самостоятельной сборки загрузочного образа понадобится старая версия Glibc.


Для закачки предлагаются уже готовые LiveCD образы для VMware (Linux и Windows), которые позволяют обойтись без настройки DHCP/TFTP-серверов и загружаться "напрямую" в виртуальной машине. После установки в vmview/CD найдем нужный ISO-файл. При загрузке образ будет опрашивать сменные носители (HDD, CD, USB, FDD) в поисках настроек - файла thinstation.conf.user (о нем ниже).
Сохраняем и перезагружаем.


Как вариант, можно самостоятельно пересобрать образ при помощи скрипта rebuild-iso или установить дистрибутив на хард/флешку (пример приведен в FAQ на официальном сайте).
sudo service mysql restart


Архив Thinstation-2.2.2.tar.gz (~50 Мб) предназначен для конечного пользователя (под пользователем подразумевается сисадмин) и содержит уже скомпилированные, готовые к работе пакеты. Пользователь затем самостоятельно выбирает, что ему необходимо, и собирает образ. Доступен еще один архив - thinstation developer (~800 Мб), – он содержит исходные тексты проекта и предназначен для разработчиков, а также специалистов, желающих скомпилировать и добавить свою программу в образ, локализовать систему и произвести остальные донастройки, которые не удается сделать/применить в пакете для конечного пользователя.
На ПК (или другой удалённый сервер) устанавливаем phpMyAdmin.


Русификация в оригинальном Thinstation выполнена лишь частично, хотя это легко исправить, пересобрав дистрибутив, воспользовавшись стандартными HOWTO по локализации любого Linux. Но сегодня существуют проекты, в которых вопрос русификации решен изначально - nixts.org и www.itadvisor.ru/downloads. Плюс, в этих решениях произведены мелкие доработки. По ссылкам можно скачать варианты образов и дополнительные пакеты для Thinstation. Пользователям платформы AMD Geode LX можно обратить внимание на ThinTonk (www.tonk.ru/support/pxe) - дистрибутив Thinstation, собранный специально для этих тонких клиентов. В дальнейшем будем разбирать оригинальную версию.
sudo apt install phpmyadmin


'''Собираем свою версию Thinstation'''
В процессе установки отказываемся от конфигурации (конфигурировать нечего; сервер баз данных на удалённой машине).
Для сборки нам потребуется рабочий GNU/Linux, его необязательно устанавливать на живую машину, достаточно и виртуальной. Забираем архив с сайта проекта и распаковываем:


$ tar xzvf Thinstation-2.2.2.tar.gz
Далее правим конфигурационный файл phpMyAdmin config.inc.php (/etc/phpmyadmin/config.inc.php). Если это была свежая установка и на локальном хосте нет сервера баз данных, то удаляем все строки (кроме первой «<?php») и пишем следующее:
$ cd Thinstation-2.2.2


Конфигурация для сборки клиента находится в файле build.conf. Ничего сложного файл собой не представляет, внутри находятся закомментированные строки, соответствующие модулям (драйверам) и пакетам. Кто хоть раз собирал ядро Linux, сразу поймет, что к чему. Причем, здесь все на порядок проще. Например:
/* External Server #1 */
  $i++;
  $cfg['Servers'][$i]['verbose'] = 'Server Name';
  $cfg['Servers'][$i]['host'] = '10.10.1.10';
  $cfg['Servers'][$i]['connect_type'] = 'tcp';
  $cfg['Servers'][$i]['extension'] = 'mysqli';
  $cfg['Servers'][$i]['auth_type'] = 'cookie';
  $cfg['Servers'][$i]['AllowNoPassword'] = false;


module agpgart
Вместо Server Name вписываем что угодно. Сохраняем и закрываем файл.


Если требуется загрузить модуль с внешнего источника или создать динамически загружаемый драйвер, то вместо "module" пишем "module_pkg". Для удобства все записи разбиты по группам (видео, сетевые карты и т.п.) и детально прокомментированы. Зная, какое оборудование установлено на клиентских компьютерах, можно без труда отредактировать настройки. Смотрим на установки по умолчанию:
==Конвертирование базы из postgresql в mysql==
* скачиваем [https://github.com/ChrisLundquist/pg2mysql pg2mysql]


  $ cat build.conf | grep -v ^# | grep -v ^$
  git clone https://github.com/ChrisLundquist/pg2mysql.git
module pcm # PCMCIA Cards
  cd pg2mysql
module serial # Serial Device Support
module acpi # Advanced Configuration and Power Interface support
  package rdesktop # X RDP client for Windows Terminal Services (ver 1.5)


В образ, созданный из дефолтного конфига, включена поддержка популярного железа: сеть - Realtek 8139, SIS900, VIA Rhine, видео - VESA, S3, NVIDIA, ATI, Vmware; из файловых систем доступны FAT32, NTFS, ext2, ext3. Для первого знакомства с дистрибутивом этого вполне достаточно, но для применения в рабочей среде его придется подгонять под себя.
* сохраняем дамп из postgresql ('''пример сохранение всех таблиц для wordpress - wp*''')
sudo -u postgres pg_dump --quote-all-identifiers --no-acl --no-owner --table=wp_* --format p --data-only wordpress -f wordpress_pgsql.sql


Список параметров внутри достаточно большой, поэтому следует терпеливо и внимательно пройтись по всем настройкам, разобраться и активировать только то, что действительно необходимо. Лишнее включать не стоит, это увеличит размер образа, а значит, система будет дольше распаковываться при загрузке и заберет больше ОЗУ у клиентов. Чуть ниже в списке идут пакеты, включаемые в образ, – здесь поступаем аналогично модулям. Если используется директива "package", пакет будет включен в основной образ; если "pkg" - пакет собирается, но его нужно подгружать отдельно.
* конвертируем в формат mysql
php pg2mysql_cli.php worpress_pgsql.sql wordpress_mysql.sql


Не забудь снять комментарий со строки "package keymaps-ru" и установить приложения, при помощи которых будем подключаться к выбранному серверу - rdesktop, vncviewer, nx, ica и т. д. Последним идет раздел "Miscellaneous Parameters":
* теперь необходимо заменить все таблицы с `"public"."wp_*"` на 'wp_*` это можно сделать в редакторе по F4
 
* не забудьте исправить '''"` (''' на ''''('''
$ sudo vi build.conf
* теперь меняем sql команду с INSERT на REPLACE так же по F4
 
* все, дамп можно заливать в базу, предварительно создайте из wordpress начальную структуру таблиц через install и потом вносите данные.
### Пароль root для консоли, доступа по telnet/ssh и VNC-сервису
   
param rootpasswd p@ssw0rd
param xorgvncpasswd p@ssw0rd
### Настройки логотипа и разрешение экрана
param bootlogo true
param bootresolution 1024x768
#param desktop ./background.jpg
### Файл с установками
param defaultconfig thinstation.conf.buildtime
### Имя машины для config/tftp/scp
param basename thinstation
param basepath .
### Файлы для закачки пакетов с помощью wget, данный параметр активируется, если подключен нужный package, например, для "package ica" сработает:
param icaurl http://download2.citrix.com/files/en/products/client/ica/current/linuxx86.tar.gz
### HTTP-соединения можно устанавливать через прокси
#param httpproxy http://192.168.1.2:8080
 
Теперь, когда произведены все настройки, набираем:
 
$ sudo ./build
 
По окончании выполнения команды результат сборки ищи в подкаталогах boot-images/{etherboot, initrd, iso, loadlin, pxe, syslinux}.
 
Кто не хочет устанавливать Linux просто для того, чтобы создать образ Thinstation, может воспользоваться онлайн-сервисами, например TS-O-Matics (www.thinstation.net/TSoM). Для русскоязычных пользователей предназначен ресурс www.it-advisor.ru/TSoM, в котором приложения, входящие в состав Thinstation, изначально локализованы. Просто заходим, выбираем/вводим параметры, меняем внешний вид заставки и создаем образ. Правда, с его помощью не удастся добавить в образ свой пакет, и придется ограничиться только тем, что предлагают разработчики.
 
Файлы настроек Thinstation
При загрузке клиент Thinstation считывает ряд конфигурационных файлов (thinstation.conf.*). Параметры, которые в них описываются, в общем-то, одинаковы, отличается лишь их назначение:
 
thinstation.conf.buildtime - задает параметры в загрузочном образе, его нужно подготовить до сборки;
thinstation.conf.network - настройки по умолчанию, получаемые с TFTP-сервера, этот конфиг используется для установки параметров для  всех тонких клиентов;
thinstation.hosts - содержит данные о клиентах (имя компьютера, MAC-адрес, группа);
thinstation.conf.group-<groupname> - совместно с thinstation.hosts используется для объединения клиентов в группы;
thinstation.conf-<hostname> - файл для индивидуальной настройки клиента по имени компьютера, используется совместно с thinstation.hosts;
thinstation.conf-<IP-ADDRESS> и thinstation.conf-<MAC-ADDRESS> - файл индивидуальной настройки клиента соответственно по IP- и MAC-адресу;
thinstation.conf.user - конфигурационный файл, сохраняемый на локальных носителях (FDD, HDD, USB-flash) в подкаталоге  thinstation.profile.
При загрузке файлы с TFTP-сервера считываются в таком же порядке, как показано выше, применяется первый подходящий клиенту  загруженный файл.
 
В архиве имеется очень простой вариант шаблона thinstation.conf.buildtime, более расширенную версию можно скачать с сайта проекта (thinstation.sf.net/docs/thinstation.conf.example) или найти в образах, предлагаемых проектами nixts.org и www.it-advisor.ru.
 
Файл thinstation.hosts состоит из описания имени узла, МАС-адреса, группы и необязательного комментария:
 
$ sudo vi thinstation.hosts
 
thinstation1 000c29d7a8e1 boss
  thinstation2 000c00a5a8e2 assistant
 
Типичные network - user файлы выглядят следующим образом:
 
$ sudo vi thinstation.conf.network
   
   
### Не всегда нужна русская раскладка ("ru")
KEYBOARD_MAP=en_us
SYSLOG_SERVER=local
USB_ENABLED=On
### Имя компьютера, если не используется thinstation.hosts, символ '*' автоматически заменяется на MAC-адрес
NET_HOSTNAME=ts_*
### Описание сессии
SCREEN=0
WORKSPACE=1
AUTOSTART=On
ICONMODE=AUTO
### Подключение при помощи rdesktop (файл может содержать описание нескольких сессий)
SESSION_0_TITLE="Microsoft Terminal Server"
SESSION_0_TYPE=rdesktop
SESSION_0_SCREEN=0
SESSION_0_RDESKTOP_SERVER=192.168.1.100
SESSION_0_RDESKTOP_OPTIONS="-u user -a 16 -r sound"
### Настройки экрана
SCREEN_RESOLUTION="1024x768"
SCREEN_HORIZSYNC="30-65"
SCREEN_VERTREFRESH="75"
### Можно указать несколько вариантов, но удобнее зафиксировать оптимальный
# SCREEN_RESOLUTION="800x600 | 1024x768 | *"
### USB-мышь, дополнительно нужно активировать "usb-hid" в build.conf
X_MOUSE_DEVICE=/dev/input/mice
В параметрах RDESKTOP_OPTIONS следует учитывать версию сервера. Так, WinNT4 и Win2k поддерживают только 8-битный цвет (-a 8), WinXP - 16-битный (-a 16), Win2k3/Win2k8 - 24-битный (-a 24). Хотя использование "-a 24" на терминалах часто не имеет смысла. Поддержка звука "-r sound" реализована, начиная с Win2k3. Особого внимания заслуживают директивы STORAGE_PATH, STORAGE_SERVER и STORAGE_PREFIX, при помощи которых указывается полный путь к сохраняемому профилю (это может быть локальный диск или смонтированный NFS/SMB-ресурс).
Если загрузка Thinstation производится с жесткого или другого локального диска, и используется thinstation.conf.user, сборку можно выполнить с параметрами:
NET_FILE_ENABLED=Off
NET_USE_DHCP=Off
В этом случае не будет осуществляться DHCP-запрос и производиться попытка получения конфигов с TFTP-сервера, что на порядок ускорит загрузку тонкого клиента.
Настройка DHCP- и TFTP-сервера
Для загрузки PXE-образа с удаленной машины нам потребуется корректно работающие DHCP- и TFTP-сервисы. ОС значения не имеет, – это может быть *nix или Windows, главное, чтобы кто-то корректно ответил на DHCP-запрос, отправленный сетевой картой, и выдал файлы по TFTP. Первым делом инсталлируем нужные пакеты (пример для Ubuntu):
$ sudo apt-get install xinetd tftpd tftp
Затем обеспечиваем автозапуск сервисов. Для запуска TFTP через xinetd создаем конфиг на основе шаблона:
$ sudo cp /etc/xinet.d/time /etc/xinet.d/tftp
Правим:
$ sudo vi /etc/xinet.d/tftp
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
### Каталог с PXE-образом
server_args = -s /srv/tftp
disable = no
}
В /etc/xinetd.conf комментируем строку "only_from = localhost". Не забываем по окончании настроек перезапустить xinetd:
$ sudo /etc/init.d/xinetd restart
Копируем PXE-образ, ядро, initrd и каталог с настройками, созданный по окончании работы build скрипта, в /srv/tftp:
$ sudo mkdir /srv/tftp
$ sudo cp -vR boot-images/pxe/* /srv/tftp
Проверяем работоспособность TFTP:
$ tftp server.ru
tftp> get pxelinux.0
tftp> quit
Если файл получен, значит, все в порядке. Переходим к настройке DHCP:
$ sudo apt-get install dhcp3-server
В каталоге boot-images/pxe находится готовый шаблон dhcpd.sample, который можно использовать при создании своего конфига DHCP-сервера:
$ sudo vi /etc/dhcp3/dhcpd.conf
### Описываем нашу подсеть
subnet 192.168.1.0 netmask 255.255.255.0 {
option routers 192.168.1.1;
option broadcast-address 192.168.1.255;
}
### Если в сети объявится клиент с MAC-адресом 00:0C:29:d3:96:9b, назначим ему IP 192.168.1.150 и подсунем загрузчик PXE
host term1 {
hardware ethernet 00:0C:29:d3:96:9b;
fixed-address 192.168.1.150;
filename "pxelinux.0";
}
Чтобы внесенные изменения вступили в силу, перезапускаем DHCP-сервер:
$ sudo /etc/init.d/dhcp3-server restart
Настройка сервера терминалов в Win2k8
Остался последний шаг - настроить сервис, к которому будем подключаться. Установка роли службы терминалов производится через ссылку "Добавить роли" в "Диспетчере сервера". Отмечаем "Службы терминалов", затем в списке необходимые службы ролей, как минимум, "Сервер терминалов" и "Лицензирование служб терминалов". Не забываем о новой фиче, которая появилась в Win2k8 – "Веб-доступ к службе терминалов" (TS Web Access), при использовании которой пользователи могут подключаться к TS, используя веб-браузер, и получать список доступных приложений RemoteApp. Чтобы воспользоваться этой возможностью, достаточно при сборке Thinstation установить Firefox. При выборе метода аутентификации выбираем "Не требовать проверку подлинности на уровне сети". В этом случае к серверу смогут подключаться клиенты с любой версией, в частности, не будет проблем с Rdesktop, который полностью поддерживает лишь RDP 5 (частично некоторые функции RDP 5.1 и 6), а для Win2k8 "родным" протоколом является RDP 6. Далее следуем указаниям мастера, выбирая наиболее подходящие параметры. На этапе "Группы пользователей" добавляем учетные записи пользователей и группы, которым разрешен доступ к TS. По завершении установки отправляем терминальный сервер в ребут.
Загружаемся с Thinstation, – по ходу можно увидеть бегущие строчки, сообщающие о получении IP-адреса и загрузке PXE-образа. После чего вызываем RDP-клиент щелчком по значку на рабочем столе - это в случае использования готового образа; если же соответствующие настройки указаны в thinstation.conf, подключение к серверу будет произведено автоматически, пользователю достаточно ввести свой логин и пароль.
Дальнейшие настройки службы терминалов производятся в "Диспетчере сервера", в одноименной вкладке. В частности, здесь можно просмотреть события, которые помогут разобраться в возникших проблемах. Удачи в терминальных разборках!
Сценарий загрузки тонкого клиента
Сетевуха тонкого клиента по протоколу PXE запрашивает у DHCP-сервера сетевые настройки.
DHCP-сервер, помимо основных настроек (IP-адрес, маска подсети, дефолтный шлюз и т.д.), выдает IP-адрес TFTP-сервера и имя образа для загрузки.
Клиент подключается к TFTP-серверу и сливает файл загрузчика PXE.
Скачанный PXE-загрузчик исполняется и забирает с TFTP-сервера конфиг, в котором прописаны имена файлов ядра Linux (vmlinuz) и образа файловой системы (initrd).
После распаковки и загрузки ядра Linux с подмонтированным образом файловой системы Thinstation снова обращается к TFTP-серверу для скачивания конфигурационных файлов (с настройками подключений, адресами терминальных серверов, к которым нужно подключаться, и т.д.). После чего запускает нужный терминальный клиент (например, rdesktop) и ожидает от пользователя ввода его логина с паролем для подключения.
Сетевая загрузка для старых машин
Возможность выбора сетевой загрузки в BIOS появилась относительно недавно, и старые компьютеры такой возможности не имеют. Чтобы не использовать сменные носители или хард, лучше перепрошить ПЗУ сетевой карты. Готовый образ можно взять на сайте rom-o-matic.net. Достаточно выбрать в "Choose NIC/ROM type" марку чипа, используемого на сетевой карте, и в списке "Choose ROM output format" формат файла. Кроме версий для ПЗУ (.rom), имеются образы для записи на дискету, болванку и USB-flash, а также для использования с загрузчиками LILO/GRUB/SYSLINUX. Если с сетевой картой не повезло, и ее прошивку обновить нельзя, то можно попробовать перепрошить BIOS материнской платы (если он на Flash-микросхеме), интегрировав в него PXE-код, взятый с сайта rom-o-matic.net.
Локализация Thinstation
Оригинальный Thinstation локализован лишь частично, и, скорее всего, возникнет желание устранить эту проблему. Для этого как раз необходим девелоперский пакет. Первым делом следует пересобрать ядро, активировав в разделах DOS/FAT/NT Filesystems, Network File Systems и Native Language Support все модули, в которых фигурируют кодировки CP1251 и 866. Далее ищем в packages/base/etc/udev/scripts три скрипта floppy.sh, ide.sh, usb.sh, отвечающие за монтирование файловых систем. Добавляем запись "-o iocharset=cp1251,codepage=866" к командам внутри sh-файлов. Например, строка для FAT:
mount -t vfat -o iocharset=cp1251,codepage=866 /dev/$devpath /mnt/disc/$name/$name
В поставке есть и другие скрипты и конфигурационные файлы, которые потребуется поправить в случае необходимости. Для Samba в smb.conf.tpl и smb.conf также меняем кодировку:
unix charset=cp1251
    display charset=cp1251
    dos charset=866
Локаль следует указать и в строке запуска rdesktop, например, для ru_RU.KOI8-R добавляем "-P KOI8-R".
INFO
Тонкие клиенты не требовательны к железу (поскольку все вычисления выполняет мощный сервер) и заточены для работы в бездисковом режиме (без FDD/CDROM/HDD).
В качестве тонкого клиента под управлением Thinstation может выступать любой компьютер на базе архитектуры x86 с процессором не ниже Pentium 100 и объемом оперативной памяти не менее 16 Мб.
Как правило, на терминальных серверах используется общесистемное программное обеспечение Windows, Linux, xBSD, Solaris, а тонкие клиенты функционируют под управлением Windows CE, Linux или xBSD.
Thinstation - мини-дистрибутив Linux, позволяющий превратить старые компы в полноценные бездисковые тонкие клиенты, поддерживающие все основные протоколы подключения: RDP, VNC, ICA, X11, Telnet, SSH и т.п.
Thinstation можно загружать по сети с помощью Etherboot/PXE или со стандартного носителя - FDD/CD/HDD/CF/USB-flash.
PXE (Pre-boot eXecution Environment) — среда предзагрузочного выполнения.
О том, как настроить сервер терминалов в Win2k3, можно узнать из статьи "Один на всех и все на одного", опубликованной в августовском номере ][ за 2007 год.
WARNING
Службы DHCP и TFTP должны функционировать на одной машине!
При выходе из строя сервера или неполадках в сети тонкие клиенты превращаются в бесполезные ящики.
Теги: Linux , Thinstation , администрирование , настройка , установка


'''ИСТОЧНИКИ'''
<hr>
* [http://www.opennet.ru/docs/RUS/mysqladm/userman.html Управление пользователями в MySQL]
* [https://proft.me/2011/07/19/mysql-poleznye-komandy-i-nastrojki/ mysql: полезные команды и настройки ]
* [https://www.newalive.net/190-upravlenie-vneshnimi-bazami-dannyh-cherez-phpmyadmin.html PhpMyAdmin]
<hr>
* [http://gahcep.github.io/blog/2013/03/11/linux-mysql-setup/ Правильная установка и настройка MySQL]
* [https://www.hostcms.ru/documentation/server/mysql/ Настройка MySQL]
* [http://linux.mixed-spb.ru/databases/mysql_setup.php Установка и первоначальная настройка MySQL в linux]
* [http://linux.cpms.ru/?p=180 Руководство по MySQL для начинающих]
* [http://cruw.blogspot.ru/2011/11/mysql.html Установка и настройка MySql]
* [https://firstwiki.ru/index.php/%D0%9A%D0%B0%D0%BA_%D0%B7%D0%B0%D0%B3%D1%80%D1%83%D0%B7%D0%B8%D1%82%D1%8C_%D0%B4%D0%B0%D0%BC%D0%BF_MySQL_%D0%B1%D0%B0%D0%B7%D1%8B_%D1%87%D0%B5%D1%80%D0%B5%D0%B7_%D0%BA%D0%BE%D0%BD%D1%81%D0%BE%D0%BB%D1%8C Как загрузить дамп MySQL базы через консоль]
* [https://habr.com/post/105954/ MySQL шпаргалки]
* [https://www.newalive.net/190-upravlenie-vneshnimi-bazami-dannyh-cherez-phpmyadmin.html Управление внешними базами данных через phpMyAdmin]
* [https://geeksmagazine.org/post/7/kak-sozdat-polzovatelya-i-dat-emu-prava-v-mysql Как создать пользователя и дать ему права в MySQL]
* [https://andy-blog.ru/kak-sozdat-novogo-polzovatelya-mysql Как создать нового пользователя MySQL и настроить права доступа ]
* [https://ruhighload.com/%D0%9A%D0%B0%D0%BA+%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B8%D1%82%D1%8C+mysql+master-slave+%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8E%3F Как настроить MySQL Master-Slave репликацию?]
* [https://server-gu.ru/mysql-replication-master-slave/ Настройка репликации MySQL MASTER SLAVE]
* [http://blog.anthonyaxenov.ru/2018/10/15/%D1%88%D0%BF%D0%B0%D1%80%D0%B3%D0%B0%D0%BB%D0%BA%D0%B0-master-slave-%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F-mysql-5-7/ Шпаргалка: Master-slave репликация MySQL 5.7]


Статья взята тут:http: [http://www.xakep.ru/post/51662/?print=true]http://www.xakep.ru/post/51662/?print=true
'''ПОЛЕЗНОЕ:'''
дополнительное: [http://webkod.ru/linux-server-office/thinstation-setting/]http://webkod.ru/linux-server-office/thinstation-setting/
<hr>
* [https://www.8host.com/blog/replikaciya-baz-dannyx-mysql-po-tipu-master-slave/ Репликация баз данных MySQL по типу Master/Slave]

Версия от 03:46, 5 мая 2020

Help MySql

  • Список пользователей:
SELECT USER from mysql.user;
  • Создание пользователя:
CREATE USER 'user'@'localhost' IDENTIFIED BY 'secret';
  • Удаление пользователя:
DROP USER user@localhost;
  • Предоставить права пользователю:
GRANT ALL PRIVILEGES ON dbname.* TO 'user'@'localhost';
  • Предоставить супер права пользователю:
GRANT ALL PRIVILEGES ON dbname.* TO 'user'@'localhost' WITH GRANT OPTION;
  • Права равные root для работы через phpmyadmin
GRANT ALL PRIVILEGES ON  *.* TO 'user'@'%' REQUIRE NONE WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;

Настройка PhpMyAdmin

Процедура «переподключения» phpMyAdmin на работу с внешним сервером достаточно проста, но вызывает вопросы у тех, кто занимается всем этим недавно или неглубоко.

В данной статье мы рассмотрим несколько вариантов подключения phpMyAdmin ко внешнему серверу, так как задачи и условия у всех разные. В примере я использую сервер баз данных MariaDB, ОС Ubuntu и phpMyAdmin версии 4.5.4, что практически не важно, так как всё достаточно просто. PhpMyAdmin установлен на домашний ПК, но с тем же успехом он может быть настроен и на удалённом сервере. Имеется ввиду, что всё прикладное ПО, такое как непосредственно сам сервер БД, http-сервер и php у вас уже установлено.

  • Пример первый (доступ с паролем).

Сервер баз данных расположен на машине с адресом 10.10.1.10. PhpMyAdmin устанавливаем на локальный ПК с адресом 10.10.1.20. Необходимо убедиться, что сервер баз данных принимает внешние соединения. Правим my.cnf (/etc/mysql/my.cnf). В строке bind-address по умолчанию указан адрес 127.0.0.1, что запрещает серверу принимать внешние соединения. Заменяем его на 0.0.0.0, что разрешит внешние соединения с любого адреса. В целях безопасности лучше уточнить адрес, если вы не планируете подключаться к серверу из разных источников. В этом примере будет использоваться строка следующего вида:

bind-address		= 10.10.1.20

Сохраняем и перезагружаем.

sudo service mysql restart

На ПК (или другой удалённый сервер) устанавливаем phpMyAdmin.

sudo apt install phpmyadmin

В процессе установки отказываемся от конфигурации (конфигурировать нечего; сервер баз данных на удалённой машине).

Далее правим конфигурационный файл phpMyAdmin config.inc.php (/etc/phpmyadmin/config.inc.php). Если это была свежая установка и на локальном хосте нет сервера баз данных, то удаляем все строки (кроме первой «<?php») и пишем следующее:

/* External Server #1 */
 $i++;
 $cfg['Servers'][$i]['verbose'] = 'Server Name';
 $cfg['Servers'][$i]['host'] = '10.10.1.10';
 $cfg['Servers'][$i]['connect_type'] = 'tcp';
 $cfg['Servers'][$i]['extension'] = 'mysqli';
 $cfg['Servers'][$i]['auth_type'] = 'cookie';
 $cfg['Servers'][$i]['AllowNoPassword'] = false;

Вместо Server Name вписываем что угодно. Сохраняем и закрываем файл.

Конвертирование базы из postgresql в mysql

git clone https://github.com/ChrisLundquist/pg2mysql.git 
cd pg2mysql
  • сохраняем дамп из postgresql (пример сохранение всех таблиц для wordpress - wp*)
sudo -u postgres pg_dump --quote-all-identifiers --no-acl --no-owner --table=wp_* --format p --data-only wordpress -f wordpress_pgsql.sql
  • конвертируем в формат mysql
php pg2mysql_cli.php worpress_pgsql.sql wordpress_mysql.sql
  • теперь необходимо заменить все таблицы с `"public"."wp_*"` на 'wp_*` это можно сделать в редакторе по F4
  • не забудьте исправить "` ( на '(
  • теперь меняем sql команду с INSERT на REPLACE так же по F4
  • все, дамп можно заливать в базу, предварительно создайте из wordpress начальную структуру таблиц через install и потом вносите данные.


ИСТОЧНИКИ



ПОЛЕЗНОЕ: