Подготовка на хоста
LOSPOR Hospital работи върху виртуална машина или сървър с Ubuntu Server 24.04 LTS. Два включени файла го подготвят, без да се въвеждат списъци с пакети:
infra/host/autoinstall/user-dataе файл за автоматична инсталация на Ubuntu. Работи еднакво в Hyper-V, VMware и върху физически сървър.infra/host/hyperv/New-LosporHospitalVm.ps1създава виртуална машина в Hyper-V от този файл.infra/host/hyperv/Install-LosporHospital.ps1е помощникът около него: едни въпроси в Windows, след което Ubuntu и LOSPOR се инсталират сами.
И двата са във версията, както и в хранилището на същите пътища.
Какво инсталира файлът
- минималния сървър на Ubuntu, с LVM, за да може обемът за данни да расте;
- OpenSSH, който приема само ключове и никога парола;
- Docker Engine и Compose от хранилището на Docker, с ключ за подпис, закрепен по пълния му отпечатък;
- OpenSSL, curl, Python 3, gzip, tar и whiptail;
- автоматични обновявания за сигурност и синхронизация на часа;
- потребител за конзолата
lospor. Няма обща начална парола: скриптът за Hyper-V създава еднократна парола за всяка виртуална машина, а който използва файла директно, задава своя (вижте VMware или физически сървър по-долу).
Когато Ubuntu е инсталиран, машината се изключва, за да могат инсталационните носители да бъдат премахнати, преди да стартира отново. При първото влизане в конзолата предлага да стартира инсталацията. Не го предлага през SSH или след като LOSPOR е инсталиран.
Hyper-V с помощника (препоръчително)
Изтеглете lospor-hospital-X.Y.Z-windows-kit.zip, щракнете с десен бутон и
изберете Extract All («Извличане на всички»). За болница без интернет го
разархивирайте в папката с файловете на изданието от USB паметта на
поддържащия. (Разархивирана папка на изданието съдържа същите файлове и също
работи.) След това щракнете два пъти върху Install LOSPOR Hospital.
Помощникът иска администраторски права, работи на български или английски и
проверява всеки отговор, преди да създаде каквото и да е:
| Страница | Пита | Попълва или открива |
|---|---|---|
| Виртуалната машина | име, мрежов комутатор, ядра, памет, диск, папка, шифроване на диска | наличните комутатори (първо външен), процесорите и паметта на машината; попълнени 8 ядра, 24 GB и 400 GB, никога под 8, 16 и 256 |
| Вход в сървъра | паролата на lospor, публичен SSH ключ (изберете файла .pub или го поставете) | |
| Болницата | клиничен адрес и адрес за изследвания, име и град на болницата | дали двете имена вече са в DNS |
| Сертификатът | собственият удостоверителен център на болницата (един .pfx и паролата му или PEM сертификат, ключ и CA), Let's Encrypt (имейл) или локален | дали .pfx се отваря, покрива двете имена, е валиден още 30 дни и съдържа корена, или е нужен файл на CA |
| Администраторът | имейл, потребителско име, собствено име и фамилия, парола | правилата за пароли на системата |
| Проверка и инсталиране | Ubuntu ISO или изтегляне | без мрежа, когато пълните файлове на изданието са до комплекта, иначе онлайн, винаги със собствената версия на комплекта |
След това нищо не се въвежда, а прозорецът следи докрай:
- Ubuntu се инсталира сам и машината се изключва (около 20 минути).
- Помощникът премахва инсталационните носители. При инсталиране без мрежа добавя диск с файловете на изданието, след което стартира машината.
- При първото стартиране сървърът инсталира LOSPOR сам:
- Ако двете DNS имена още ги няма, казва това заедно с адреса на сървъра и продължава, когато ИТ ги добави.
- Инсталаторът му проверява подписа на поддържащия точно както в конзолата.
- Прозорецът завършва с адреса на страницата «Готовност» или с причината за
спирането и
sudo sh /usr/local/lib/lospor/losporctl-install.sh, която при повторно изпълнение предлага--resume, ако опитът е оставил нещо.
Как пътуват отговорите:
- Извън файла за инсталация на Ubuntu: паролата на администратора и файловете на сертификата са на инсталационния диск до него, защото инсталаторът на Ubuntu пази този файл в дневниците си.
- В Windows: копията на помощника са в папка, достъпна само за администратори, и се презаписват, щом машината ги получи. Инсталационният диск се изтрива, щом Ubuntu е инсталиран.
- На сървъра: първото стартиране първо прочита паролата и сертификата и ги
изтрива от диска. Файл
.pfxстава верига от сертификати, частен ключ и доверен корен вsecrets/tls.
Напредъкът стига до Windows чрез обмена ключ-стойност на Hyper-V. За него
файлът за инсталация поставя linux-cloud-tools-generic, с който Hyper-V
Manager показва и адреса на машината.
На Windows Server Core, където няма работен плот, изпълнете
powershell -ExecutionPolicy Bypass -File .\infra\host\hyperv\Install-LosporHospital.ps1
от разархивираната папка: същите въпроси се задават като текст.
Hyper-V от PowerShell
Скриптовете не са подписани с код. Копирайте цялата разархивирана папка на
версията на Hyper-V хоста (в нея са infra\host и инсталаторът в scripts) и
изпълнете в тази папка, в PowerShell с администраторски права:
Get-ChildItem .\infra\host -Recurse -Filter *.ps1 | Unblock-File
.\infra\host\hyperv\New-LosporHospitalVm.ps1 -SwitchName "Hospital LAN" -DownloadDirectory D:\iso -WhatIf
.\infra\host\hyperv\New-LosporHospitalVm.ps1 -SwitchName "Hospital LAN" -DownloadDirectory D:\iso
-WhatIf показва какво ще се случи и нищо не променя. Скриптът:
- отказва несъществуващ комутатор и никога не създава или променя комутатор;
- изтегля Ubuntu 24.04.5 (или използва
-IsoPath) и отказва ISO, чийто SHA-256 се различава от публикувания от Canonical; - записва копие на това ISO, чието меню за зареждане добавя
autoinstall, за да не спира инсталаторът на Ubuntu с въпроса "Continue with autoinstall?" (файловете на инсталатора не се променят; копието се записва с вградените компоненти на Windows). Ако те липсват или е зададен-ConfirmInstall, се използва ISO на Canonical и инсталаторът пита веднъж; - създава виртуална машина Generation 2 със Secure Boot, 24 GB памет,
8 процесора и диск от 400 GB, който расте с използването, променяни с
-MemoryGB,-ProcessorCountи-DiskGB. Проверката за готовност на инсталатора изисква поне 16 GB, 8 процесора и 200 GB свободни, след като Ubuntu, образите, базите данни и локалните архиви са на място, затова 256 GB е най-малкият диск.
-AuthorizedKeyPath добавя вашия публичен SSH ключ. -EncryptDisk пита за
парола за шифроване на целия диск. Пазете я в сейфа на болницата: без нея
сървърът не стартира.
Скриптът пренася и инсталатора на самата версия върху виртуалната машина, така че първото влизане предлага това копие, вместо да изтегля друго.
Щом виртуалната машина стартира, скриптът показва еднократна парола за
потребителя lospor. Запишете я: тя не се съхранява никъде и не се показва
отново. След това изчаква инсталирането на Ubuntu (около 15–20 минути; отворете
конзолата, за да наблюдавате, не е нужно да пишете нищо). Когато Ubuntu приключи
и изключи машината, скриптът премахва инсталационните носители, изтрива своето
копие на ISO (то би изтрило всяка машина, която стартира от него) и стартира
машината. С -NoWait връща управлението веднага и показва тези стъпки, за да
ги направите сами.
Влезте в конзолата като lospor с еднократната парола, изберете нова и
приемете предложението да инсталирате LOSPOR. С -AuthorizedKeyPath SSH с този
ключ работи веднага щом машината е стартирала, без влизане в конзолата;
еднократната парола тогава е за sudo, докато не я смените с passwd.
VMware или физически сървър
Във вашето копие на user-data заменете LOSPOR_PASSWORD_HASH с хеша на
парола за lospor: openssl passwd -6 го извежда. Инсталацията спира веднага,
ако заместителят остане. Поставете user-data и празен meta-data на обем с
етикет CIDATA: малък виртуален диск, USB памет или ISO. В Linux cloud-localds seed.iso user-data meta-data създава ISO. Свържете го или го поставете заедно с
ISO на Ubuntu 24.04 server и стартирайте; следва същото еднократно
потвърждение. Когато машината се изключи, премахнете двата носителя и я
стартирайте. За шифроване на диска добавете password: "…" под storage: layout: във вашето копие на файла или използвайте шифроването на хипервайзора
или хранилището.
Използван така, файлът не пренася инсталатор, затова първото влизане показва онлайн и офлайн командите, без да изпълнява някоя от тях.
След това
Продължете с Инсталация: хостът вече има всичко, изброено в този раздел.