Установка МИС на сервер с Linux
В данной статье будет описан процесс установки и настройки сервера «Медицинской информационной системы» на основе Ubuntu Server 16.04.1 LTS
Содержание
Часть I Подготовка
1) Скачиваем дистрибутив операционной системы. Автором данной статьи использовалась Ubuntu 16.04 LTS, но вы можете выбрать другой.
2) Записываем образ на cd-диск / USB-диск / монтируем образ через IPMI (или другим интерфейсом управления сервером).
3) Рекомендуется подключить интернет соединение, так как некоторые пакеты будем устанавливать с официальных репозиториев.
Часть II Установка
- Загружаем с выбранного носителя и приступаем к установке.
- Выбираем язык
- При выборе раскладки - выбираем -нет
- Выбираем страну
- Выбираем способ переключения языков
- Задаем имя нашего сервера. Выбор имени сервера оставляем за вами.
- Создаем нового пользователя. Имя пользователя должно быть отличным от administrator, admin, root. Этот пользователь будет sudo user, и может выполнять команд от имени root.
- Настраиваем часовой пояс как Europe/Moscow.
Разметка диска
Предполагается, что вы будете использовать зеркальный рейд (raid 1 mirror), поэтому будем использовать программный MD (Multiple Devices) рейд, он не требует наличия аппаратного рейд контроллера (но вы можете пользоваться и им).
- Выбираем пункт Вручную
- Создаем новую пустую таблицу разделов на каждом диске
- У нас появился пункт "настройка программного RAID" выбираем его. Нажимаем создать MD устройство -> выбираем RAID1 -> число разделов 2 -> число резервных 0 -> пробелом выбираем 2 диска (sda sdb). Сохраняем изменения.
- Теперь настроим логические тома. Выбираем пункт Настройка менеджера логических дисков (LVM), и первым делом создаем группу томов. Называем ее gr0 и включаем в нее созданный ранее рейд массив.
- Далее создаем логические тома. Выбираем группу gr0 и делаем согласно таблице ниже:
Название тома | Примерный размер |
---|---|
boot | 512Mb |
root | 10 - 80 Gb |
swap | 2 - 4 Gb |
var | 100 - 200 Gb |
home | Оставшееся место |
В итоге у нас получилось 5 томов (boot - загрузчик grub; root - системные файлы; swap - файл подкачки; var - под программу МИС и MySQL; home - домашняя директория), нажимаем закончить.
Далее создаем точки монтирования для созданных томов согласно таблице:
ТОМ | Использовать как | Точка монтирования |
---|---|---|
boot | ext4 | /boot |
root | ext4 | / |
swap | раздел подкачки | отсутствует |
var | ext4 | /var |
home | ext4 | /home |
Закончить разметку и записать изменения на диск.
Завершение установки
Далее система установит все необходимое, просто наблюдаем. Тип обновлений "без автоматического обновления"; из программного обеспечения выберите Samba,OpenSSH Server и стандартные системные утилиты.
GRUB устанавливаем в главную загрузочную запись.
Система успешно установлена.
Далее можно либо продолжать работать через консоль, либо подключиться по SSH[1]
Часть III Настройка системы
Подготовим систему
- Заходим в систему используя созданную учетную запись
- Обновляем пакеты и апгрейдим систему
$ sudo apt-get update && sudo apt-get upgrade -y && sudo reboot
- После перезагрузки, доставим необходимые пакеты
$ sudo apt install mysql-server-5.7 mysql-client-5.7 mc
- Во время установки mysql сервера вас попросят задать пароль пользователя mysql root, пишите qwerty
- После установки можно проверить версию mysql
$ mysql --version
Настраиваем сеть.
Находим название сетевого интерфейса
$ ifconfig enp0s3 Link encap:Ethernet HWaddr 08:00:27:58:54:bb inet addr:192.168.1.143 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::a00:27ff:fe58:54bb/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:3423 errors:0 dropped:0 overruns:0 frame:0 TX packets:878 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:1989544 (1.9 MB) TX bytes:84171 (84.1 KB) lo Link encap:Локальная петля (Loopback) inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:166 errors:0 dropped:0 overruns:0 frame:0 TX packets:166 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1 RX bytes:12178 (12.1 KB) TX bytes:12178 (12.1 KB)
В нашем случае - это enp0s3
$ sudo nano /etc/network/interfaces auto enp0s3 iface enp0s3 inet static address 192.168.1.5 netmask 255.255.255.0 gateway 192.168.1.1 dns-nameservers 192.168.1.1 8.8.8.8
Перезапускам сетевой интерфейс и проверяем настройки сети:
sudo ifdown -a && sudo ifup -a $ifconfig eth0 Link encap:Ethernet HWaddr xx:xx:xx:xx:xx:xx inet addr:192.168.1.5 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: xxxx:xxxx:xxxx:xxxx:xxxx:xxxx/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:126785 errors:0 dropped:0 overruns:0 frame:0 TX packets:135453 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:116474217 (116.4 MB) TX bytes:102473947 (102.4 MB) lo Link encap:Локальная петля (Loopback) inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:104371 errors:0 dropped:0 overruns:0 frame:0 TX packets:104371 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:720253620 (720.2 MB) TX bytes:720253620 (720.2 MB)
Настроим SMB
- Скопируем стандартный файл конфигурации
$sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.dist
- Очистим smb.conf
$sudo echo 1>/etc/samba/smb.conf
- Отредактируем
$sudo nano /etc/samba/smb.conf
сохраняем комбинацией клавиш ctrl + O, ctrl + X для выхода
содержимое smb.conf
[general] server string = Medical Information System MIAC workgroup = WORKGROUP netbios name = MIS server string = MIS Server # need for netbios informations sharing over the network wins support = Yes directory mask = 0775 create mask = 0664 log file = /var/log/samba/%m.log max log size = 50 syslog = 0 # this way samba will not ask for password to connect to the machine security = user passdb backend = tdbsam // в каком порядке использовать сервисы имен для получения IP адреса. // bcast : Сделать широковещательный запрос по всем известным интерфейсам. // Это самый ненадежный из всех методов определения имен, т.к. зависит от подключения // компьютера к локальной сети. name resolve order = bcast host acl allow execute always = True [homes] comment = Home Directories valid users = %S #path = /home/%S/ path = /home/%U/mis/ browseable = no #writable = yes read only = no [mysql] comment = MIS base Directories path = /var/mis public = yes printable = no read only = no admin users = user1,user2 # В данном устройстве файлы будут создаваться, как есть preserve case = yes short preserve case = yes default case = lower directory mask = 0777 create mask = 0666 force group = usermis
4. Создадим группу пользователей МИС
$sudo groupadd usermis
и добавим нашего пользователя в SAMBA
$sudo smbpasswd -a %USERNAME% $sudo smbpasswd -e %USERNAME%
где %USERNAME% имя вашей учетной записи,
а также добавим его в группу usermis
$sudo usermod -a -G usermis %USERNAME%
5. Создаем папку для программы МИС
$sudo mkdir /var/mis
и назначим права на папку
$sudo chown :usermis /var/mis && sudo chmod 770 /var/mis
6. Перезагрузим smbd
$sudo service smbd restart
Создаем дампы МИС
1) Идем на сервер с МИС и открываем командную строку cmd.exe
2) Переходим по пути где лежат исполняемые файлы mysql (D:\mysql\bin) и набираем в командной строке:
D: cd mysql\bin mysqldump -uroot -pqwerty new > d:\new.dump.sql mysqldump -uroot -pqwerty kadry > d:\kadry.dump.sql
3) Сейчас мы можем открыть расшаренную папку linux сервера либо по ip-адресу либо по net-bios имени, и скопировать туда программу МИС и свежие дампы mysql
Настройка MySQL сервера
1) Редактируем файл my.cnf
$sudo nano /etc/mysql/mysql.conf.d/my.cnf
В блоке [mysqld] меняем
bind-address = 127.0.0.1
на
bind-address = 0.0.0.0
Добавляем строки
# Кодировка init_connect='SET NAMES cp1251' character-set-server=cp1251 collation-server=cp1251_general_ci skip-character-set-client-handshake lower_case_table_names=1 open_files_limit = 24000 join_buffer_size = 256K # Чтобы не выхавала варнинги на DNS skip-host-cache skip-name-resolve
3) Перезагрузим сервер mysql
$sudo service mysql restart
4) Подключаемся к mysql серверу и создаем 2 базы
$mysql -uroot -pqwerty
>create database new; >create database kadry; >quit;
5) Базы созданы, теперь можно накатывать дампы на сервер:
$mysql -uroot -pqwerty new < /var/mis/new.dump.sql $mysql -uroot -pqwerty kadry < /var/mis/kadry.dump.sql
Базы успешно перенесены
Назначаем права на папку МИС
$sudo chown -R :usermis /var/mis $sudo chmod -R 0770 /var/mis $cd /var/mis/ $find * -type d -print0 | xargs -0 sudo chmod 0750
Создаем пользователей программы
Иванов Иван Иванович
Заводим пользователя в систему $sudo useradd -s /usr/bin/nologin -g usermis ivanovii
Добавляем пользователя в SAMBA $sudo smbpasswd -a ivanovii
Заводим сколько требуется пользователей
Сервер готов!