Установка МИС на сервер с Linux: различия между версиями
Misha (обсуждение | вклад) |
Misha (обсуждение | вклад) |
||
| Строка 250: | Строка 250: | ||
3) '''Перезагрузим''' сервер mysql | 3) '''Перезагрузим''' сервер mysql | ||
<pre>$sudo service mysql restart</pre> | <pre>$sudo service mysql restart</pre> | ||
4) '''Подключаемся''' к mysql серверу и создаем пользователя и 2 базы | 4) '''Подключаемся''' к mysql серверу и создаем пользователя и 2 базы.<br> | ||
passwd - пароль пользователя nataly. | |||
<pre>$mysql -uroot -pqwerty | <pre>$mysql -uroot -pqwerty | ||
mysql>CREATE USER 'nataly'@'%' IDENTIFIED BY ''; | mysql>CREATE USER 'nataly'@'%' IDENTIFIED BY 'passwd'; | ||
mysql>GRANT EXECUTE, PROCESS, SELECT, SHOW DATABASES, SHOW VIEW, ALTER, ALTER ROUTINE, CREATE, CREATE ROUTINE, CREATE TABLESPACE, CREATE TEMPORARY TABLES, CREATE VIEW, DELETE, DROP, EVENT, | mysql>GRANT EXECUTE, PROCESS, SELECT, SHOW DATABASES, SHOW VIEW, ALTER, ALTER ROUTINE, CREATE, CREATE ROUTINE, CREATE TABLESPACE, CREATE TEMPORARY TABLES, CREATE VIEW, DELETE, DROP, EVENT, | ||
INDEX, INSERT, REFERENCES, TRIGGER, UPDATE, CREATE USER, FILE, LOCK TABLES, RELOAD, REPLICATION CLIENT, REPLICATION SLAVE, SHUTDOWN, SUPER ON *.* TO 'nataly'@'%' WITH GRANT OPTION; | INDEX, INSERT, REFERENCES, TRIGGER, UPDATE, CREATE USER, FILE, LOCK TABLES, RELOAD, REPLICATION CLIENT, REPLICATION SLAVE, SHUTDOWN, SUPER ON *.* TO 'nataly'@'%' WITH GRANT OPTION; | ||
Версия от 14:41, 19 сентября 2016
В данной статье будет описан процесс установки и настройки сервера «Медицинской информационной системы» на основе 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
[global]
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) Делаем архив файла конфигурации
cd /etc/mysql/mysql.conf.d $sudo cp mysql.cnf mysql.dist.cnf
2) Редактируем файл mysql.cnf
$sudo nano /etc/mysql/mysql.conf.d/mysql.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 базы.
passwd - пароль пользователя nataly.
$mysql -uroot -pqwerty mysql>CREATE USER 'nataly'@'%' IDENTIFIED BY 'passwd'; mysql>GRANT EXECUTE, PROCESS, SELECT, SHOW DATABASES, SHOW VIEW, ALTER, ALTER ROUTINE, CREATE, CREATE ROUTINE, CREATE TABLESPACE, CREATE TEMPORARY TABLES, CREATE VIEW, DELETE, DROP, EVENT, INDEX, INSERT, REFERENCES, TRIGGER, UPDATE, CREATE USER, FILE, LOCK TABLES, RELOAD, REPLICATION CLIENT, REPLICATION SLAVE, SHUTDOWN, SUPER ON *.* TO 'nataly'@'%' WITH GRANT OPTION; mysql>FLUSH PRIVILEGES; mysql>create database new; mysql>create database kadry; mysql>\q
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/mysql $sudo chmod -R 0660 /var/mis/mysql $cd /var/mis $find * -type d -print0 | xargs -0 sudo chmod 0770
Редактируем файл sql.cfg
Можно с виндовой машины. Файл лежит на новом сервере с путем //ip_addr_serv/mysql/programm/sql.cfg
Допустим IP адресс нового сервера 192.168.1.5, тогда файл должен выглядеть примерно так.
192.168.1.5;new;//192.168.1.5/mysql/programm/
Создаем пользователей samba
Иванов Иван Иванович
Заводим пользователя в систему
$sudo useradd -s /usr/bin/nologin -g usermis ivanovii
Добавляем пользователя в SAMBA
$sudo smbpasswd -a ivanovii $sudo smbpasswd -e ivanovii
Заводим сколько требуется пользователей
Сервер готов!