Category Archives: Наши статьи

Не правильное опредение параметров монитора Linux Ubuntu при работе через KVM

Автор: Рудюк С . А.
https://corp2.net

E-Mail: rs@corp2.net

Возникла проблема при работе на серверах через KVM. Как оказалось, при подключении через KVM Linux Ubuntu определяла монитор, как 100Hz и с большим разрешением. В результате, вместо того, чтоб изображение транслировалось KVM — видим черный экран. Это привело к тому, что если доступа нет через интернет (например, не произошло подключение к сети), то сервер становится не управляемым, т.к. через KVM войти в систему не получается — выводится черный экран…
При анализе данной ситуации было установлено, что у нас в системе нет файла с настройками для монитора по-умолчанию. Отсутствовал вообще файл /etc/X11/xorg.conf

Поэтому, решение данного вопроса — это установка разрешения по умолчанию в файле /etc/X11/xorg.conf (который понадобилось создать).
Section «Monitor»
    Identifier  «My Monitor»
    HorizSync   31.5 — 50.0
    VertRefresh 40-90
EndSection

Section «Screen»
    Identifier    «Default Screen»
    Monitor     «My Monitor»
    DefaultDepth 24
    Subsection «Display»
    Depth       24
    Modes «1024×768»
    ViewPort 0 0
EndSubsection
EndSection

Автор: Рудюк С . А. https://corp2.net

Запуск «1С:Підприємство» 7.7 в Windows Server 2008 64bit в терминальном режиме

Автор: Рудюк С . А.
https://corp2.net

E-Mail: rs@corp2.net

Столнулся с проблемой запуска «1С:Підприємство» 7.7 последних релизов в Windows Server 2008, когда подключаешься Windows Terminal. Как оказалось, для того, чтоб корректно работала «1С:Підприємство» 7.7 нужно отключить dep.

Для того, чтоб отключить DEP, входите в командную строку под администратором и выполняете команду:
bcdedit.exe /set {current} nx AlwaysOff 

После перезагрузки компьютера — будет все запускаться.

Автор: Рудюк С . А. https://corp2.net

2-й экземпляр apache

Автор: Рудюк С . А.
https://corp2.net

E-Mail: rs@corp2.net

Иногда, возникает необходимость запустить 2-ю копию apache. Понятное дело, хочется использовать один и тот же исполняемый файл apache и не заниматься установкой различных версий продукта.

Определимся, чем должны, отличаться наши экземпляры.
Это конфигурационными файлами:
/etc/apache2/apache2.conf  — указаны порты и специфичные для каждого из Апачей виртуальные хосты
/etc/apache2/ports.conf — содержит прослушиваемые порты.
/etc/apache2/envvars — путь к файлу для сохранения pid запущенного демона.

Стоит разделить логи директивами в в apache2.conf:
ErrorLog /var/log/apache2/error.log
CustomLog /var/log/apache2/other_vhosts_access.log vhost_combined

Идем в папку init скриптов:
cd /etc/init.d

Создаем копию init скрипта родного Apache:
cp apache2 apache2_srv

Где apache2_srv — это название нового экземпляра Apache.

Сразу Добавляем фейловер Апача в автозапуск:
update-rc.d apache2_srv defaults

Корректируем скрипт apache2_srv:

Вместо блока:
PIDFILE=. /etc/apache2/envvars ; echo $APACHE_PID_FILE
if [ -z «$PIDFILE» ] ; then
echo ERROR: APACHE_PID_FILE needs to be defined in /etc/apache2/envvars >&2
exit 2
fi

Вставляем:
PIDFILE=. /etc/apache2/envvars_apache2_srv ; echo $APACHE_PID_FILE
if [ -z «$PIDFILE» ] ; then
echo ERROR: APACHE_PID_FILE needs to be defined in /etc/apache2/envvars_apache2_srv >&2
exit 2
fi

Чуть выше корректируем ENV:
ENV=»env -i LANG=C PATH=/usr/local/bin:/usr/bin:/bin APACHE_ENVVARS=/etc/apache2/envvars_apache2_srv»

Корректируем конфиги:
cp /etc/apache2/envvars /etc/apache2/envvars_apache2_srv

Заменяем
export APACHE_PID_FILE=/var/run/apache2.pid
на
export APACHE_PID_FILE=/var/run/apache2_apache_2.pid

Создаем файл портов /etc/apache2/ports_apache_srv.conf:
В нем пишем:
Listen 81

Создаем файлы логов:
touch /var/log/apache2/error_apache2_srv.log
touch /var/log/apache2/other_vhosts_access_apache2_srv.log
chown root:root /var/log/apache2/other_vhosts_access_apache2_srv.log
chown root:adm /var/log/apache2/error_apache2_srv.log
chmod 640 /var/log/apache2/error_apache2_srv.log

Теперь давайте посмотрим, как осуществляется управление демоном Апача. Сразу скажу, что кэш мы не используем и следовательно «check_htcacheclean» всегда будет выдавать ложь.
Запуск:

start)
log_daemon_msg «Starting web server» «apache2»
if $APACHE2CTL start; then
if check_htcacheclean ; then
log_progress_msg htcacheclean
start_htcacheclean || log_end_msg 1
fi
log_end_msg 0
else
log_end_msg 1
fi
;;

То есть все вопросы к: $APACHE2CTL, его мы будем использовать не как SysV инит скрипт, а будем им проксировать все наши вопросы к apache

Для этого в верху скрипта делаем замену:

APACHE2CTL=»$ENV /usr/sbin/apache2ctl»

на

APACHE2CTL=»$ENV /usr/sbin/apache2ctl -f /etc/apache2/apache2_srv.conf»

Далее изменяем все параметры вызов APACHE2CTL:

$APACHE2CTL start на $APACHE2CTL -k start
$APACHE2CTL stop на $APACHE2CTL -k stop
$APACHE2CTL graceful на $APACHE2CTL -k graceful
$APACHE2CTL configtest на $APACHE2CTL -t

Теперь надо скорректировать функцию pidof_apache, иначе при stop мы будем убивать всех Апаче разом:

Делаем замену:

pidof_apache() {
# if pidof is null for some reasons the script exits automagically
# classified as good/unknown feature
PIDS=pidof apache2 || true

на:

pidof_apache() {
# if pidof is null for some reasons the script exits automagically
# classified as good/unknown feature
PIDS=ps aux | grep 'apache2_srv' | grep -v 'grep' | awk '{print $2}' | xargs || true

Теперь попробуем запустить второго Апача:

/etc/init.d/apache2_srv  start
Starting web server: apache2apache2: Could not open configuration file /etc/apache2/apache2_failover.conf: No such file or directory
failed!

Теперь необходимо на основе apache2.conf составить /etc/apache2/apache2_srv.conf

Скопируем оригинал

cp /etc/apache2/apache2.conf /etc/apache2/apache2_srv.conf

И далее корректируем пути к файлами, которые обсуждали выше.

CustomLog /var/log/apache2/other_vhosts_access_apache2_srv.log vhost_combined
ErrorLog /var/log/apache2/error_apache2_srv.log
Include /etc/apache2/ports_apache2_srv.conf

Теперь надо поменять порты у директив NameVirtualHost xx.xx.xx.xx:80 и VirtualHost xx.xx.xx.xx:81.

Повторяем попытку запуска:

/etc/init.d/apache2_srv  start
Starting web server: apache2.

Автор: Рудюк С . А. https://corp2.net

Разработка и создание сайтов, интернет-магазинов, веб-приложений, порталов, лэндингов, мобильных приложений (Киев)

Ошибка RDP: Удаленный сеанс отключен, поскольку для данного компьютера отсутствуют клиентские лицензии удаленного рабочего стола

Автор: Рудюк С . А.
https://corp2.net

E-Mail: rs@corp2.net

При использовании RDP, временами возникает такая ошибка:
Ошибка RDP: Удаленный сеанс отключен, поскольку для данного компьютера отсутствуют клиентские лицензии удаленного рабочего стола

Для удаления лицензии RDP с клиентского компьютера, откройте ветку реестра
HKEY_LOCAL_MACHINE\Software\Microsoft\MSLicensing
и удалите все подразделы.

После этого повторите подключение к серверу RDP. При первом подключении запустите клиент «от имени Администратора».

—————

В продолжение данной темы…
После того, как Вы удалили, может выдасться другая ошибка:
Удаленный компьютер отключил сеанс, из-за ошибки в протоколе лицензирования.
Попытайтесь подключиться к удаленному компьютеру снова или обратитесь к системному администратору.

Причина данной ошибки — отсутствие у пользователя прав на создание данных разделов реестра. Для устранения данной ошибки выполните следующие действия:
— Запустите mstc.exe с правами администратора или войдите под правами администратора.
— Подключитесь к терминальному серверу. В этот момент будут автоматически созданы разделы в реестре HardwareID и StoreID.
— Отключитесь от терминального сервера.

Автор: Рудюк С . А. https://corp2.net

Скрипт для Excel для переноса информации из Depoer в Oberone

Автор: Рудюк С . А.
https://corp2.net

E-Mail: rs@corp2.net

С некоторых пор, все счета открытые в Depoer должны быть перенесены в Oberone. Для этого, предназначена программка Undepoer, которая частично формирует Excel-файл на основании базы данных Depoer.
Пользователям приходится для того, чтоб корректно перенести информацию вручную добавлять строчку, вносить управляющую компанию ценными бумагами, а уже после этого — закачивать информацию. Все было бы хорошо, если бы счетов (строк в Excel-файле) было не много, но обычно это много-много тысяч… Понятное дело, в момент таких действий пользователь может допустить механическую ошибку, чем свести свои старания на нет. Не говоря уже о том, что тратится огромное количество времени…

Для того, чтоб облегчить жизнь пользователя, мы разработали макрос, который выполняет такую работу:
— Добавляет строку для каждого счета.
— Заполняет информацию о управляющем бумагами.

Текст данного макроса:

Sub Макрос1()
Rows(«3:3»).Select

NumRows = 2495
NumRows = NumRows*2 

For x = 2 To NumRows+1

If (x Mod 2) = 0 Then
  ActiveCell.Rows.EntireRow.Select
  Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
End If

If (x Mod 2) = 0 Then
Cells(x+1, 1).FormulaR1C1 = «Тут заполняем информацию в 1-й ячейке»
Cells(x+1, 2).FormulaR1C1 = «Заполняем код компании»
Cells(x+1, 3).FormulaR1C1 = «Заполняем название компании»
Cells(x+1, 4).FormulaR1C1 = «Заполняем название компании«
End If
ActiveCell.Offset(1, 0).Select

Next

End Sub

Автор: Рудюк С . А. https://corp2.net

Восстановление базы данных Postgresql

Автор: Рудюк С . А.
https://corp2.net

E-Mail: rs@corp2.net

Любая база данных выходит из строя… Пользователи забывают делать бекапы и как результат, программистам приходится возиться с восстановлением данных.
Ранее, я не однократно описывал восстановление баз данных Firebird (Interbase), но уже давно работаю с другими базами данных, поэтому, сталкиваюсь с «новыми задачами» по восстановлению информации.

Сегодня, ко мне обратился один старый клиент, у которого много лет работает база данных на Postgresql со вчерашнего дня у них стали выдаваться ошибки Page Error при входе в систему. Как результат — не возможность работы.
Зашел в PgAdmin, попробывал сделать бекап — вывались ошибки. Начал «передвигаться» по списку баз данных — вываливается огромное количество ошибок Page Error. Решили восстановить из бекапа. Как оказалось, последний бекап — за декабрь 2013 года. Пол-года пропало!
И тут меня осенило! Решил попробывать выполнить select. Проходит успешно, данные показывает без ошибки.
Ура! Подумал я себе.

Итак, как мне удалось восстановить базу без потери информации:
1. Создаю новую базу данных (с другим названием) из найденного бекапа (в данном случае, декабрь 2013г.). Проверяю входить в систему — всё отлично.
2. Сохраняю данные из каждой интересующей меня таблицы, подобными запросами:
copy (select * from zrp_zakaz ) to ‘d:\tmp\zrp_zakaz’;
3. Удаляю данные из необходимых таблиц в базе данных, которую восстановили. Например:
delete from zrp_zakaz;
4. Закачиваю данные из сохраненного файла в другой базе данных. Например:
copy zrp_zakaz from ‘d:\tmp\zrp_zakaz’;

Как результат — база восстановилась полностью, без потери данных.
Клиент счастлив, чего и следовало добиться…

Автор: Рудюк С . А. https://corp2.net

Разработка и создание сайтов, интернет-магазинов, веб-приложений, порталов, лэндингов, мобильных приложений (Киев)

Решение проблемы вывода украинской буквы ї, русского ъ и клавиш управления курсором в операционной среде Android

В стандартной клавиатуре операционной системы Android отсутствуют украинцев буква ї, российская буква ъ и клавиши управления курсором. Это приводит к большим неудобства.
Но как показала практика в Андроид можно решить любую проблему.
Итак, идем в Google Play и устанавливаем приложение Go Keyboard, а так же плагины к нему.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Использование Gprs интернет с телефоном на Android другими устройствами

Теперь использовать интернет из телефона с Android стало максимально просто.
Вы можете использовать интернет телефона, подключившись к телефону как к точке Wi-Fi, Blutools или через кабель.

 

 

 

 

 

 

95 квартал на мобильном телефоне с Android

Для любителей юмора 95 квартала в репозитарии Android есть приложение 95 квартал.

Мобильный телефон с Android в роли синтезатора различных музыкальных инструментов

Автор: Рудюк С . А.
https://corp2.net

E-Mail: rs@corp2.net

Для Anroid разработано огромное количество программ, которые синтезируют звуки различных инструментов. В результате, Вы можете получить полноценный синтезатор, используя один или несколько мобильных телефонов.
Многообразие бесплатных программных средств для этих целей будоражит мозг… Тут Вам клавишные, струйные, духовые инструменты. Даже среди гитар есть большой выбор: и для блюза и для рока и для классики…