среда, 15 июля 2020 г.

Установка Linux LUBUNTU на тонкий клиент HP t520

Установка Linux LUBUNTU на тонкий клиент HP t520

На тонких клиентах по умолчанию установлена ОС Windows Embedded, сменить которую не так просто.

Для того что бы установить на тонкий клиент полноценную, пусть и легковесную систему Linux, необходимо внести изменения в BIOS.
Для доступа в BIOS после включения устройства, нужно сразу нажимать клавишу ESC. Получим меню BIOS.
 

Нажимаем клавишу F10  - «Bios Setup»
Переходим в меню Security -> Secure Boot Configuration. Получим предупреждение страшного красного цвета.
 

Продолжаем, нажав клавишу F10. В появившемся меню устанавливаем:
Legacy Support = Disable
Key Ownership = Custom Keys
 

Нажимаем клавишу F10
Затем переходим в меню BIOS: Storage -> Boot Order. Здесь необходимо изменить порядок загрузки – на первое место установить «USB Hard Drive» (по умолчанию стоит «USB Floppy/CD»).
Для перемещения пунктов в списке, устанавливаем на нужном пункте стрелку, нажимаем ENTER. Пункт подсветиться. Стрелками перемещаем пункт в списке. Снова нажимаем ENTER для применения.
 

Нажимаем клавишу F10.
Вставляем загрузочную флешку с дистрибутивом LINUX.
Переходим в пункт меню File -> Save and Exit. Выбираем yes (по умолчанию) и нажимаем ENTER.
Теперь тонкий клиент должен загрузиться с флешки.

При загрузке с флешки с Linux LUBUNTU имеем меню загрузчика.
 

Выбираем Start Lubuntu и нажимаем ENTER. Произойдет загрузка ОС LUBUNTU в LIVE режиме. Для установки ОС в систему кликаем по иконке «Install Ubuntu»
 

Откроется меню установки LUBUNTU.
Выбираем язык установки и нажимаем «Далее».
Выбираем регион (например Europe / Samara) и нажимаем «Далее».
Выбираем раскладку клавиатуры English (US) / Default и нажимаем «Далее».
Затем выбираем ручную разметку диска и нажимаем «Далее».
Формируем новую таблицу разделов. Создаем два раздела:
Первый раздел размером 512М с файловой системой FAT32 и сточкой монтирования /boot/efi.
Разделу установить флаги boot и esp.
Второй раздел с оставшимся местом с файловой системой EXT4 и точкой монтирования /.
  


Далее в меню инсталлятора нужно задать имя пользователя, имя машины и нажать «Далее».
Затем в появившемся окне проверить параметры установки и нажать «Установить». Подтвердить действие.
 

После не очень длительного процесса установки на экране должно появиться сообщение о завершении:
 

Нажимаем «Перезагрузить», система должна загрузиться уже в рабочем режиме с внутреннего диска. При этом флешку можно сразу не вынимать, первая загрузка после установки должна пройти с жесткого диска тонкого клиента.

вторник, 14 июля 2020 г.

Настройка сети на ПК с LUBUNTU

Настройка сети на ПК с LUBUNTU

Проверка названия интерфейсов:
$ ip a                                                                                                             
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000                                 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00                                                                   
    inet 127.0.0.1/8 scope host lo                                                                                          
       valid_lft forever preferred_lft forever                                                                              
    inet6 ::1/128 scope host                                                                                                
       valid_lft forever preferred_lft forever                                                                              
2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000                       
    link/ether c8:cb:b8:1a:58:01 brd ff:ff:ff:ff:ff:ff                                                                      
    inet 10.10.49.226/24 brd 10.10.49.255 scope global noprefixroute enp1s0                                                 
       valid_lft forever preferred_lft forever                                                                              
    inet6 fe80::cacb:b8ff:fe1a:5801/64 scope link
       valid_lft forever preferred_lft forever


Проверка наличия в системе сетевых адаптеров:
$ lshw -C network
WARNING: you should run this program as super-user.
  *-network                
       description: Ethernet interface
       product: RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
       vendor: Realtek Semiconductor Co., Ltd.
       physical id: 0
       bus info: pci@0000:01:00.0
       logical name: enp1s0
       version: 0c
       serial: c8:cb:b8:1a:58:01
       size: 100Mbit/s
       capacity: 1Gbit/s
       width: 64 bits
       clock: 33MHz
       capabilities: bus_master cap_list ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation
       configuration: autonegotiation=on broadcast=yes driver=r8169 duplex=full firmware=rtl8168g-2_0.0.1 02/06/13 ip=10.10.49.226 latency=0 link=yes multicast=yes port=MII speed=100Mbit/s
       resources: irq:31 ioport:e000(size=256) memory:fea00000-fea00fff memory:d0800000-d0803fff
  *-network
       description: Network controller
       product: BCM43228 802.11a/b/g/n
       vendor: Broadcom Inc. and subsidiaries
       physical id: 0
       bus info: pci@0000:02:00.0
       version: 00
       width: 64 bits                                                                                                       
       clock: 33MHz                                                                                                         
       capabilities: bus_master cap_list                                                                                    
       configuration: driver=bcma-pci-bridge latency=0                                                                      
       resources: irq:33 memory:fe900000-fe903fff                                                                           
WARNING: output may be incomplete or inaccurate, you should run this program as super-user.        


Для прописывания статического IP адреса на интерфейсе в UBUNTU используется утилита netplan
Файл конфигурации находиться в директории /etc/netplan/. Он может иметь разное имя, у меня назывался так: 01-network-manager-all.yaml
# nano /etc/netplan/01-network-manager-all.yaml
Пример файла конфигурации для статического интерфейса:
network:
  version: 2
  renderer: NetworkManager
  ethernets:
    enp1s0:
      addresses: [10.10.49.226/24]
      gateway4: 10.10.49.254
      dhcp4: no
      dhcp6: no
      nameservers:
        addresses: [10.10.50.2,46.20.64.1]


Проверка конфигурации netplan, выполняется командой:
# netplan try
Если в файле конфигурации есть ошибки, утилита покажет место ошибки, если ошибок нет, то выдаст предупреждение с обратным отсчетом применения. Для применения настроек нужно нажать ENTER.
Do you want to keep these settings?
Press ENTER before the timeout to accept the new configuration
Changes will revert in 117 seconds
Configuration accepted.




суббота, 4 июля 2020 г.

Установка Apache 2.4, PHP7, SQLite3 в Windows 10

Apache 2.4, PHP7, SQLite3 на Windows 10

Apache

Apache скачиваем с сайта https://www.apachehaus.com/, например для 64 разрядной ОС нужно скачать файл: httpd-2.4.43-o111g-x64-vc15.zip. Создаем папку C:\Apache24 и распаковываем туда содержимое папки Apache24 из zip архива.
Запускаем командную строку и переходим в папку C:\Apache24\bin.
Запуск Apache выполняем так: C:\Apache24\bin>httpd.exe. При срабатывании Защитника Windows, предоставляем Apache доступ:
 
Пока мы не закрыли терминал, Apache будет работать. Увидеть приветственную страницу можно открыв в браузере адрес http://localhost/


PHP

PHP7 скачиваем с сайта https://windows.php.net/. Нам нужен архив с Thread Safe, например, файл php-7.4.7-Win32-vc15-x64.zip. Создаем папку C:\php7 и распаковываем туда содержимое zip архива.
Открываем файл C:\Apache24\conf\httpd.conf
После списка загружаемых модулей добавляем строки:
LoadModule php7_module "c:/php7/php7apache2_4.dll"
PHPIniDir "c:/php7"

В раздел <IfModule mime_module>….</IfModule> вставляем строки
    AddHandler application/x-httpd-php .php
    AddType application/x-httpd-php .php .html

В директории
<IfModule dir_module>…  </IfModule>
Меняем DirectoryIndex index.html на DirectoryIndex index.php index.html
Перезапускаем сервер Apache (CTRL+C, потом снова httpd.exe в командной строке).
Создаем файл phpinfo.php в каталоге C:\Apache24\htdocs\ с содержимым: <?php phpinfo(); ?>. Проверить отображение можно по ссылке: http://localhost/phpinfo.php:
 

SQLite

Специально устанавливать sqlite не нужно. PHP уже обладает модулем работы с этой базой данных.
Копируем файл C:\php7\php.ini-production в файл C:\php7\php.ini.
Для поддержки SQLite3 в файле php.ini нужно раскомментировать и модифицировать строки:
;extension=pdo_sqlite меняем на extension=c:\php7\ext\php_pdo_sqlite.dll
;extension=sqlite3 меняем на extension=c:\php7\ext\php_sqlite3.dll
Проверяем поддержку SQLite, создав в файл C:\Apache24\htdocs\sqlitetest.php с содержимым:
<?php
$dbname='base';
if(!class_exists('SQLite3')) die("SQLite 3 NOT supported.");
$base=new SQLite3($dbname, 0666);
echo "SQLite 3 supported.";
?>

Запускаем его в браузере:
http://localhost/sqlitetest.php
Должны получить:
 



Установка новой версии Python3 с SSL на старый Linux CentOS6 или CentOS7

Установка новой версии Python3 с SSL на старый Linux CentOS6 или CentOS7

Установим новую версию Python3 так, что бы она не мешала существующей версии Python2. Устанавливать Python3 будем с поддержкой SSL, так как без SSL установка дополнительных модулей с помощью pip может быть проблемой.
ПРИМЕЧАНИЕ. Пример ошибки, которая будет возникать при использовании альтернативной версии python3 в ОС без SSL:
ERROR: Could not find a version that satisfies the requirement requests (from versions: none)
WARNING: pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
Could not fetch URL https://pypi.org/simple/pip/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(Max retries exceeded with url: /simple/pip/ (Caused by SSLError("Can't connect to HTTPS URL because the SSL module is not

 
Устанавливаем утилиты wget и nano, если они еще не стоят в системе:
# yum install wget nano
Устанавливаем пакеты, необходимые для сборки Python3
# yum install gcc openssl-devel bzip2-devel sqlite-devel
Переходим в папку, куда будем скачивать исходные коды:
# cd /usr/src

Для сборки python3.8 с поддержкой SSL нужен собранный из исходников openssl. Для openssl нужен perl5.
Устанавливаем perl5
# wget http://www.cpan.org/src/perl-5.10.1.tar.gz
# tar -xf perl-5.10.1.tar.gz
# cd perl-5.10.1
# sh Configure -de -Dusethreads
# make
# make install
# cd ..


Устанавливаем openssl свежей версии в папку /usr/local/openssl
# wget https://www.openssl.org/source/openssl-1.1.1g.tar.gz
# tar xzf openssl-1.1.1g.tar.gz
# cd openssl-1.1.1g/
# ./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl
# make
# make install
# cd ..


Делаем символьную ссылку на установленные библиотеки в основной каталог библиотек операционной системы:
# ln -s /usr/local/openssl/lib/libssl.so.1.1 /usr/lib64/libssl.so.1.1
# ln -s /usr/local/openssl/lib/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1

ПРИМЕЧАНИЕ: Если не прописать символьные линки, то в процессе установки Python будут выходить ошибки:
error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory
error while loading shared libraries: libcrypto.so.1.1: cannot open shared object file: No such file or directory


Скачиваем дистрибутив Python
# wget https://www.python.org/ftp/python/3.8.3/Python-3.8.3.tgz
# tar xzf Python-3.8.3.tgz
# cd Python-3.8.3

Для сборки Python c поддержкой SSK, необходимо указать сборщику, где лежит недавно установленный openssl/. Это делается в файле /usr/src/Python-3.8.3/Modules/Setup
# nano Modules/Setup
Здесь нужно найти блок:
#SSL=/usr/local/ssl
#_ssl _ssl.c \
#       -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
#       -L$(SSL)/lib -lssl –lcrypto

И заменить путь к SSL:
SSL=/usr/local/openssl
_ssl _ssl.c \
      -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
      -L$(SSL)/lib -lssl -lcrypto

Проводим установку Python с применением altinstall
Опция altinstall используется для того, что бы не заменить текущую версию python
# ./configure --enable-optimizations
# make altinstall


Проверка версий Python:
# python3.8 -V
Python 3.8.3

А текущая версия осталась прежней:
# python -V
Python 2.6.6


Для использования pip с предустановленным python 2.6, устанавливаем его так:
# yum install epel-release
# yum install python-pip

Установка пакетов теперь возможна через pip
# pip install mysql-connector
# pip install requests

Установка пакетов для python3 выполняется через pip3
# pip3.8 install requests