Issue-2017.05.21

Тел. +7 904 707-11-25
E-mail: yudenisov{at}aport2000.ru

Категория «16+»

Мой сайт   Визитка на Мемиане

[Выпуск 21.05.2017]

[25.05.2017 20:44:31]

Сегодня, наконец-то, закончил разбираться с семейством шрифтов KarinaC. Для начала я установил на свою виртуальную машину на сервере программы, скаченные вчера. Только три из них требовали установки, остальные я просто разархивировал в папку на жёстком диске. После чего скопировал файлы со шрифтами в рабочий каталог в папке «Мои документы» и начал эксперименты.

Запуск программы FontValidate привело к выводу большого числа ошибок. Видимо, конверсию этого TTF шрифта в русский набор символов кто-то производил очень криво, и кривыми руками. Несмотря на это, файл почему-то работает… В результате валидации выяснилось, что данный шрифт:

  • Не имел русского набора символов UNICODE, при этом русские буквы в нём отображались;
  • Не имел таблицы DSIG вообще;
  • Имел проблемы в других наборах символов;
  • Имел неправильно сформированные другие таблицы;

Программы исправления таблиц и наборов символов в автоматическом режиме я не нашёл, потому мне пришлось запустить бесплатную программу для создания шрифтов FonForge. Программа не требовательна к ресурсам, но, забегая вперёд, скажу, что она капризная к отрисовке символов (глифов) и своими исправлениями портит гарнитуру.

В этой программе можно осуществлять перемещение и копирование глифов по таблице символов, с помощью стандартных клавиш Ctrl+X/Ctrl+C/Ctrl+V, выделение символов мышью и т.п. Ещё приятно то, что вместо номера символа Unicode в таблице символов изображается сам символ, так что глифы поместить «не на то место» просто не получится. Но номер UNICODE в таблице символов виден при выделении ячейки с его номером. Так что основные правки кириллических символов (восстановление кириллического набора символов) заняло у меня не так много времени. По-умолчанию шрифты сохраняются в файлы проекта, содержащие метаинформацию и изображения глифов в собственном формате. Для экспорта шрифта в другой, удобочитаемый формат, необходимо выбрать в меню «Файл» пункт «создать шрифт…». Откроется диалоговое окно, в котором нужно задать параметры экспорта шрифта: формат шрифта, предварительная проверка глифов на ошибки, установки заглушки DSIG и т.п. После нажатия кнопки «Сохранить…» будет произведена проверка глифов на ошибки, и результаты проверки будут выведены в отдельном окне-списке. Вы можете продолжить сохранение шрифта, проигнорировав ошибки, либор попытаетесь исправить эти ошибки. При исправлении ошибок откроется окно редактирования глифов, окно с предложением автоматического исправления ошибки и пропуска ошибки. Некоторые ошибки, например, самопересечение контура, невозможно исправить автоматически. В других случаях автоматическая правка как бы «не затрагивает» рисунок, но из-за изменения деталей общий рисунок глифов портится. Так, у меня после автоматической обработки глифов общее впечатление от рисунка шрифта KarinaC Bold Italic ухудшилось. Хотя, надо сказать, сам шрифт был сделан «очень криво». Шрифты я сохранил в формате True Type Fonts, в подмножестве OpenType Format.

Сразу же после перевыпуска шрифта я сократил используемые наборы символов до наборов latin и cyrillic. В шрифте были и другие наборы символов, но они были не полностью отрисованы, и я решил удалить их из проекта. Эти наборы символов я исправил при помощи Online Font Tools на сайте everythingfonts.com. На этом же сайте я обработал эту гарнитуру, преобразовав её из формата TTF в формат Open Type Fonts, который считается более прогрессивным и лучше совместимым с разными платформами.

Осталось только конвертировать полученную гарнитуру на сайте onlinefontconverter.com, отредактировать (подправить) файлы fontface.css для загрузки шрифтов в браузер, и voi la, можно загружать файлы на сервер. Что я и сделал. Теперь гарнитуры доступны по адресу http://wpad.yudenisov.ru/, с чем читателей своего сайта я и поздравляю. На сегодняшний день там доступны гарнитуры Calibre, Times New Roman, Peterburg, KarinaC и KorrinaC. Все их можно использовать для вёрстки строчных символов, причём первые два – в деловой документации, а последние три – в праздничных и поздравительных документах.

До этого мне удалось запустить на сервере службы cygserver и VMwareHosd. Это чисто серверные службы, которые я не устанавливал по причине «не доходили руки». Теперь руки дошли. 🙂

 

[[24.05.2017]]

Сегодня поздно ночью скачал утилиты Microsoft и сделал ссылки на мануалы по изготовлению и модификации шрифтов в операционной системе Microsoft Windows. Завтра их установлю, и наконец-то закончу обрабатывать шрифт KarinaC.

До этого настраивал на своём сервере виртуальные машины VMWare Workstation и Oracle VirtualBox. Я просто установил эти машины, и скопировал с рабочего компьютера образы гостевых виртуальных машин. Но далее мне пришлось совершить над ними однотипные действия:

  1. Удалить все сетевые интерфейсы, кроме интерфейса Bridget;
  2. Удалить из оборудования звуковую карту и CD-ROM дисковод;
  3. Удалить из общих папок все неподдерживаемые папки, а потом вообще деактивировать все общие папки на гостевых машинах. Дело в том, что общие папки vmhosts на разделённых виртуальных машинах не поддерживаются;
  4. Расшифровать все зашифрованные образы. По той же причине;

В самой же виртуальной машине мне пришлось изменить путь к основному каталогу с виртуальными машинами, изменить порт по умолчанию для подключения виртуальных машин (на 5433), и разрешить виртуальные принтеры в сети.

После этого мне пришлось по очереди запускать все виртуальные машины, менять в них IP адрес на статический (из-за конфликта DHCP сервера моего маршрутизатора с Windows XP), задавать DNS сервера из локальной сети, и только потом присоединять эти виртуальные гостевые машины к домену Windows. Кстати, это у меня прошло без проблем, после правильной настройки IP адреса и сервера DNS. Так что теперь я могу запускать свои гостевые виртуальные машины и на сервере. Подключиться к ним можно через интерфейс VMWare Workstation, указав IP адрес компьютера вместе с портом, имя администратора сервера и его пароль.

И ещё я закончил регистрировать клиентов и делать им сайт на платформе WordPress. Сайт заработает на полную мощность, как только я получу деньги.

 

[[23.05.2017]]

[23.05.2017 9:08:23]

Сегодня закрыл большую брешь в безопасности работы своего сервера и ноутбука. Странно, что этой брешью никто ещё не воспользовался…

Суть проблемы – любой пользователь, даже гость, мог запускать удалённо сеанс с повышенными привилегиями. Причём это недоработка авторов скрипта, пароль на запуск такого скрипта не запрашивался! Я нашёл способ обезопасить себя от такого рода поведения скрипта. Оказалось это просто:

  1. Перемещаем все небезопасные скрипты и программы в отдельную папку;
  2. Убираем с этой папки разрешения на выполнение и просмотр каталогов для групп пользователей «Все» и «Пользователи», разрешаем полный доступ для текущего пользователя, пользователя и групп пользователей «Администраторы», и включаем наследование для этих параметров;
  3. Прописываем в переменной Path путь к этой папке;
  4. Наслаждаемся безопасной работой скриптов! 🙂

Теперь доступ к этой папке закрыт для всех, кроме администраторов. Чтобы разрешить определённому пользователю запускать скрипты от имени администратора, необходимо ему предоставить права на чтение и запись для этой папки. После этого он сможет запускать небезопасные скрипты.

К небезопасным я отношу программы от NirSoft и Elevation Tools, а также Consolez и Sysinternals. Один только дьявол знает, что можно натворить с помощью этих программ… 🙁 И вообще, административный доступ к моему серверу лучше не предоставлять… 🙂

 

[[22.05.2017]]

Сегодня я установил программы для удалённого доступа к компьютеру себе на планшет, настроил программу для подключения к серверу и ноутбуку, и, наконец, установил на компьютеры программы, которые повышают привилегии пользователя при подключении его по протоколу ssh.

Одной из причин, по которой я открыл доступ к своему компьютеру по протоколу ssh – это желание запускать программы для запуска и остановки служб на компьютере, не устанавливая связь по RDP. Но меня ждал облом. Во-первых, службы не запускались из оболочки cygwin. Эту задачу я решил просто, запуском файла cmd.exe из-под оболочки bash cygwin. Второе действие оказалось для меня нетривиальным – запуск оболочки cmd с правами администратора. Дело в том, что политиками безопасности сервера запрещено устанавливать ssh соединение от имени администратора домена. Вначале я решил исправить ситуацию стандартным способом – запускать в командной строке команду su. Но в моей среде она также не заработала, говорила об отсутствии файла /bin/bash.exe, хотя он в системе присутствовал. Решение я нашёл достаточно быстро и нетривиально. Дело в том, что различными «умельцами» написано множество программ, которые повышают привилегии пользователя до уровня администратора компьютера, и даже администратора системы. Эти программы запускаются из-под оболочки обычного пользователя, и для своего запуска не требуют привилегий администратора. Оказалось, что запустив этот скрипт из-под командной оболочки cmd.exe в сеансе удалённого доступа, Вы получите возможность запускать программы от имени администратора. Таким образом, решение проблемы найдено!

Однако в cygwin остались нерешёнными следующие проблемы. В нём отсутствует полноценная поддержка кириллицы, причём не помогает даже установка модуля iconv! Причина банальная, и она никак не связана с работой программистов RedHat. Дело в том, что по умолчанию в Windows работают сразу три кодировки: UTF-8 (используется для именования файлов и каталогов в NTFS), ANSI (часто используется для вывода интерфейсных сообщений пользователей, особенно в устаревших программах и программах не-Microsoft) и OEM (используется в технологии командной строки в файле cmd.exe). Поэтому, когда в cygwin вводишь кириллические символы, система впадает в ступор, не понимая, в какой именно кодировке нужно вводить символы, хотя отображает она их нормально. Единственный способ изменить отображение символов на консоли cygwin – это использовать командный файл и программу locale в нём. Но с этим я ещё пока не разобрался.

 

[[13.05.2017]]

[13.05.2017 21:49:34]

Сегодня, из-за неисправной розетки, у меня сгорело NAS. Но я его восстановил. Спасибо за работу и за уговоры построить самодельное NAS на основе материнской платы ASRock E350M1 Нюнько Николаю Евгеньевичу. Плата оказалась устойчивой к сбоям, автоматически выключала компьютер при подаче на неё неверных напряжений и при неправильном подсоединении контактов. В общем, я всё восстановил. Привожу этапы восстановления.

  1. Отключил материнскую плату от системного блока, и очистил её от пыли, почистил контакты;
  2. После сборки подключил NAS без загрузочного диска к телевизору (просто у меня нет монитора), и восстановил сброшенные к значениям по умолчанию режимы работы материнской платы;
  3. Подключил загрузочный диск, и установил запуск операционной системы именно с него (у меня были совсем другие настройки);
  4. После собрал рабочую конфигурацию. Она сразу же у меня и заработала. Повреждений дисков в результате сбоя питания не было.

Эти 4 действия заняли у меня довольно много времени, ведь руки у меня «кривые». Как и извилины в мозгу… 🙂

Также сегодня написал текст с параметрами и преимуществами своего хостинга. В рекламных целях. Уже отослал их заинтересованным лицам.

 

[[12.05.2017]]

[12.05.2017 17:17:31]

Сегодня «на авось» попробовал запустить движок WordPress на веб-сервере Microsoft IIS 10. Это у меня получилось, но с такими багами, что мне срочно пришлось возвращаться вновь на сервер Apache. Хотя в документации к WordPress сказано, что он может нормально работать на сервере Microsoft IIS… Поэтому дело, скорее, не в самом веб-сервере, а в настройках PHP на этом сервере, о которых я постоянно читаю в Интернете. Но всё по порядку

Переносом серверов WordPres на IIS я бы решил все свои проблемные вопросы с развёртыванием Интернет-сервисов на своём сервере. Прежде всего, решилась бы проблема с драйвером html.sys и настройкой удалённого доступа в Microsoft. Поэтому я осуществил следующие действия по переносу:

  1. Отключил сервер Apache;
  2. Выполнил команду netsh http delete ipolisten ip=::. Этой командой я убрал костыль для служб удалённого доступа при включённом сервере Apache;
  3. Установил и настроил на сервере Microsoft IIS программы URL Rewrite и PHP Fast CGI;
  4. Создал на сервере Microsoft IIS описания сайтов, прежде расположенных на сервисе Apache;
  5. Для домашних каталогов этих сайтов установил настройки безопасности для встроенной учётной записи пользователя IIS – IIS_IUSRS. Я разрешил для него чтение, чтение и выполнение, и просмотр каталогов;
  6. Импортировал настройки для модуля URL Rewrite из файла .htaccess, и сделал прочие мелкие настройки (типа проверок базы данных, протоколов, работы модуля FAST CGI и т.п.);
  7. После этого сервера у меня заработали сразу же, безо всяких приключений. Почти.

И это «почти» относится как раз к базам данных для WordPress, в которых были активированы не поддерживаемые IIS плагины. Именно они вернули мне ошибку 500 для веб-сервера. Список несовместимостей WordPress и Microsoft IIS следующий:

  1. Некорректно отображается страница обновления плагинов и тем WordPress. Именно в процессе обновления появляется ошибка 500, при этом сам процесс обновления продолжается. Несомненно, это баг WordPress, а не веб-сервера;
  2. Не обновляется плагин Simply Symphony от Flux. Правда, это тоже может быть недоработка установщика плагина, поскольку он также некорректно обновляется и на сервере Apache. Но скорее всего, это недоработка Microsoft, поскольку на UNIX системах он обновляется корректно, да и на Windows он обновился, путём проведения процедуры деинсталляции/инсталляции;
  3. Однако самая большая неприятность, из-за которой мне пришлось сразу же вернуться обратно на сервер Apache – это некорректная работа плагина JetPack на серверах IIS. Этот плагин нормально устанавливается и обновляется. Однако в процессе работы, после подключения к серверу WordPress, данный плагин подвешивает систему, выдавая ошибку 500. При этом деинсталляция плагина не помогает, необходимо заново создавать базу данных! Это явный глюк сервера Microsoft IIS, вернее, связки IIS + Fast CGI Module + PHP 7.1.1. С этим я ничего не могу поделать, и вообще никто не сможет ничего сделать, пока разработчики Microsoft не сядут и не исправят проблемы совместимости как в модулях Microsoft IIS, так и в коде PHP. То что они это могут, вопросов нет, вопрос в том, есть ли у них желание разбираться в коде, который не приносит им денег напрямую, ведь на нём работают в основном opensource проекты, которые мало того, что сами не богатые, да ещё делиться не любят… 🙂
  4. Возможны и другие баги в реализации плагинов или их взаимодействия с модулями Microsoft IIS. То, что они есть, это, безусловно: ошибка 500 проявляется и при простом открытии произвольной страницы, но «лечится» её перезагрузкой. Перечисленные же в пп. 1-3. проблемы же носят перманентный характер, и сами собой не исчезают.

Так что мне пришлось вернуть веб-сервер Microsoft IIS обратно на ноутбук. А это значит, что работать он будет не круглосуточно, и доступ к нему будет только у администратора… 🙁

Кстати, при временном переносе сервера с Apache на IIS я «сморозил» одну умную вещь, которая впоследствии мне помогла. Когда мне нужно было обновлять базу данных WordPress, я сделал резервную копию этой базы данных, хотя это стоило мне усилий. Ведь она была описана не вполне корректно, и phpMyAdmin отказался её копировать. Притом, что и phpMyAdmin не сразу запустился, а также выдал ошибку 500. Мне пришлось запустить сервер Apache и переименовать таблицу средствами phpMyAdmin. И именно эти телодвижения «спасли меня» при моём переезде обратно на веб-сервер Apache: я просто указал в настройках файла wp-config имя переименованной копии старой базы данных. И всё заработало. Правда, мне опять пришлось применить команду netsh http add iplisten ip=::, тот костыль, который позволяет запустить сервер Apache на Microsoft Windows Server 2016 в стандартной конфигурации, в которой работает WordPress. В нестандартной конфигурации сервера Apache многие плагины WordPress также не работают… 🙁

… Сейчас нужно внести изменения в документацию к хостингу, и написать заново рекламу своего хостинга. Нужно показать, что сервер Microsoft IIS временно отключён, и что он будет работать на новой платформе.

[12.05.2017 9:11:29]

Провёл обновление программного обеспечения на своих компьютерах и серверах. Для этого мне пришлось исправить службу Microsoft Windows Update.

 

[[11.05.2017]]

[11.05.2017 8:56:16]

При настройке сервера Microsoft Windows Server 2016 обнаружил некоторые «особенности» (а я бы сказал «баги») в реализации, которые мне могут серьёзно помешать хостингу. Привожу их в порядке значимости.

  1. Microsoft Windows Server способна открывать порты в TCPIP протоколе не выше 6000. Это отличает его от Microsoft Windows 10, где, по всей видимости, можно открыть все 65000 портов. Причём эти порты не открываются даже при отключённом брандмауэре, из-за чего я сделал умозаключение, что порты выше 6000 заблокированы операционной системой по соображениям безопасности. Это очень большой недостаток системы, который помешает развернуть в системе несколько веб-сервисов;
  2. В драйвере Microsoft Windows Server: http.sys нет возможности отключить прослушивание порта 80. Это тоже очень большой баг, так как не позволяет запустить другой веб-сервер, работающий по этому протоколу. На самом деле пипец полный, поскольку сервер Apache корректно работает именно на 80 порту. Как обойти эту проблему, я пока не знаю… А сервер Apache мне просто необходим, поскольку только на нём корректно работает программа phpMyAdmin…
  3. Microsoft SQL Server 2014 не обновляется на сжатых дисках. Пришлось мне заняться декомпрессией своего системного раздела жёсткого диска… 🙁

А вообще сегодня весь день посвятил фотографии, и загрузкой в архив статей из журнала «Мой друг Компьютер».

 

[[05.05.2017]]

[05.05.2017 22:56:45]

Сегодня, наконец-то, скачал из Интернета книгу, посвящённую настройке AD DS и DNS серверов на Microsoft Windows Server. Сразу же выявил несколько ошибок, которые я совершил при организации домена на своём компьютере.

  1. Я создал домен на основе доменного имени yudenisov.ru. А оно мне нужно было? Никаких преимуществ перед внутренним именем, плюс проблемы с безопасностью домена. Мне нужно переименовать свой домен в yudenisov.internal;
  2. Я подключил внешние домены как заглушки. Однако если в их DNS-сервера есть возможность добавить запись SRV, то их вполне можно создать вторичные DNS сервера у себя на компьютере, и такая система будет более гибкой и адекватной в настройке. Так и сделаю;
  3. Я зря отключил динамическое обновление DNS. В моём случае генерируется динамический IP адрес, который потом назначается моему домену. Эта операция и так содержит в себе большие риски, так что риск «наткнуться» на атаку подменой домена у меня в системе присутствует изначально. И разрешение динамического обновления DNS проблему мне не усугубит.

Так что всё. Завтра займусь переименовыванием домена в контроллере домена, после чего правильно настраиваю зону AD DS и начинаю настраивать зоны DNS. А у меня должно быть несколько доменных зон на DNS сервере.

 

[[04.05.2017]]

[04.05.2017 17:47:46]

Установил и настроил на сервере Windows Open SSH for Windows и Microsoft Office 2010.

При установке Open SSH сервера проявилась ошибка в самом начале, при создании учётной записи сервера. Мною выяснилось, что OpenSSH сервер, вообще-то, не «дружит» с доменами, и устанавливать его на контроллер домена – не лучшая идея. Тем не менее, я его установил, указав в настройках «Отказаться от создания учётной записи сервера SSH». После чего сервер был создан в учётной записи администратора. И, скорее всего, из-за этого OpenSSH сервер блокирует авторизацию локальных пользователей и удалённого пользователя с логином «администратор». Но это уже малая «головная боль», поскольку удалённо с сервером можно связаться под любыми другими именами. И ещё. После установки OpenSSH сервера и проброса портов не забудьте открыть порты 22 и 23 в брандмауэре сервера, иначе соединения не будет.

С Microsoft Office всё прошло гладко, но волнительно. Так,я выяснил, что невозможна одновременная установка 32-х и 64-ти разрядных версия Microsoft Office, появится сообщение об ошибке. Второй момент, мой новый дистрибутив Microsoft Office 2010 активируется путём установки лицензионных ключей, и дополнительная активация KMS сервисом не нужна (или она проходит автоматически при установке ключей). Поэтому, когда после трёх бесплодных попыток активировать Office я всё-таки открыл Microsoft Word, я обнаружил, что продукт уже активирован. Вот те на… 🙂 Осталось только перезагрузить Windows для завершения установки.

Вчера я сделал большую глупость… Я решил зашифровать файловые системы под своими браузерами. Для Chrome и Yandex эта процедура прошла без проблем, а вот Amigo после этого отказался запускаться. Даже после расшифровки каталогов и переустановки программы он так нормально не заработал! Например, в него не устанавливаются расширения. Вообще этот браузер от Mail.Ru славится своей «недоделанностью». Притом, что его задумка была и есть хорошая. Но так следить за пользователями и ограничивать их в возможностях нельзя!

 

[[03.05.2017]]

Сегодня обнаружил смену IP адреса у себя на компьютере. Наконец-то. 🙂

 

[[02.05.2017]]

[02.05.2017 17:57:21]

Сегодня зарегистрировал один сервис на сайтах Яндекс.Вебмастер и Google.webmaster. Пока ресурс не индексировался. Кстати, непонятно, будет ли он индексироваться вообще, поскольку на нём содержатся непубличные данные. Но вдруг повезёт… 🙂

До этого я установил на свой сервер программу radmin для удалённого управления сервером. Программа оказалась что надо. Если программа удалённого подключения к рабочему столу допускает только одно подключение пользователя за раз, то количество подключений Radmin ничем не ограничено. Единственно, radmin не всегда правильно обрабатывает сочетания клавиш, из-за чего метод копипаста в нём не работает… 🙁 А так программа мне понравилась.

Ещё одно замечание. Сегодня обновил на компьютере и сервере pgAdmin. И столкнулся в нём с одной проблемой… Поскольку pgAdmin написан на Python, то он подключает библиотеки, которые установлены из основного пакета Python. А в этих библиотеках у меня есть ошибка, а именно – некорректный обработчик UTF символов. Поэтому с некоторыми машинами pgAdmin не устанавливает соединение. Выход один – подключаться к серверу, и уже с него делать настройку. Благо клиентская библиотека работает нормально.

 

[[01.05.2017]]

Сегодня наконец-то полностью настроил свой Windows Server 2016. Установил на него практически все программы, которые были прежде на ноутбуке, кроме OpenSSH и Microsoft Visual Studio (очередь до них ещё не дошла). Также мне не удалось актировать на своём сервере ни одну версию Microsoft Office 2010. А жаль, некоторые форматы файлов можно установить только из-под этой версии Microsoft Office. Кроме того, из-за этого откладывается установка Visual Studio…

Проблема с активацией простая – входящие в штат активаторы не работают с Microsoft Windows Server 2016 (поддерживаются только Microsoft Windows Server 2008 R2). Я пока ищу дистрибутив с активатором под эту операционную систему.

Также записал обновления характеристик сервера. Надо будет выложить его на хостинг.

Добавить комментарий