+7 499 990-10-21

Подробная инструкция по установке DNC: КАССА на Ubuntu 10.10

Подробная инструкция по установке DNC: КАССА на Ubuntu 10.10

Сообщение Xevyk » 19 ноя 2010, 12:54

Всем доброго времени суток!
В этом топике я решил поделиться с сообществом всей накопленной у меня информацией касаемо установки ПО DNC: Касса на ОС UBUNTU 10.10.
Предлагаемая мной схема установки максимально подробно описана (из расчета на пользователя не работавшего с Linux прежде) и помимо стандартного решения работающей DNC:Касса включает в себя также автоматизацию обмена заведёнными в системе профилями и пользователями между разными кассами, работающими под управлением DNC:Касса.
Почему именно Ubuntu? На сегодняшний день, Ubuntu является одним из самых популярных дружественных пользователю дистрибутивов, который поддерживает огромное количество железа от самого древнего до самого нового и позволяет пользователю совершать минимум телодвижений в своей настройке - удобная, быстрая и стабильная система. Более того, это самый распространенный дистрибутив ОС Linux на территории РФ и обладает крупнейшим в РФ сообществом, в котором вам будут рады помочь с любой возникшей у вас проблемой.
Ну теперь перейдем от введения к основной части.
Возьмем самый простой пример - магазин с двумя кассами - нам требуется перевести их на DNC:Касса.
Прежде всего качаем дистрибутив Ubuntu здесь: http://www.ubuntu.com/desktop/get-ubuntu/download
Записываем образ на болванку при помощи любой программы для записи (например вот этой: http://cdburnerxp.se/). Записываем диск через опцию "Записать образ на диск", а не просто файлом.
Выставляем в BIOS компьютера CD-ROM первым загрузочным устройством и загружаемся с записанного диска.
Сама установка Ubuntu достаточно тривиально и с ней легко справится любой человек, имеющий опыт самостоятельной установки Windows. Остановимся лишь на некоторых интересных моментах. Наличие Интернет-подключения на устанавливаемом компьютере крайне желательно. Если в вашей сети действует DHCP-сервер, то при загрузке с установочного диска Интернет-соединение будет автоматически установлено (вы увидите уведомление об этом), если же в вашей сети действует статическая адресация, то вам нужно будет настроить соединение вручную - клик правой кнопкой мыши на значке сетевых соединений - "Изменить соединения" - самая первая закладка "Проводные" - там будет ваше соединение (или несколько - если на вашем компьютере установлено несколько сетевых карт) - "Изменить" - "Параметры IPv4". После ввода настроек жмем кнопку "Применить".
По разбивке дисков могу рекомендовать следующую схему (будем исходить из того, что Ubuntu будет единственной ОС на этом компьютере):
первый раздел: 100 Мб, точка монтирования /boot, файловая система Ext4
второй раздел : размер ОЗУx2, но не менее 1Гб; раздел подкачки
третий раздел: оставшееся место/2, точка монтирования /, файловая система Ext4
четвертый раздел: все оставшееся место, точка монтирования /home, файловая система Ext4
Имя пользователя системы: kassir (в приведенной далее инструкции все команды и настройки приводятся именно для такой учетной записи, если она у вас называется по другому, то не забудьте скорректировать некоторые настройки, например пути)
Не забудьте записать, а лучше запомнить пароль вашего пользователя. Он будет активно использоваться в дальнейшей настройке. Для работы простому кассиру этот пароль не нужен, поэтому если вы не хотите давать кому-либо администраторские права (установка/удаление программ, обновление системы, изменение системных файлов и общая настройка), не разглашайте свой пароль третьим лицам.
Итак, Ubuntu установлена, достаем диск и перезагружаем компьютер (при перезагрузке не забудьте поставить в BIOS ваш жесткий диск первым загрузочным устройством).
Первым делом настраиваем сеть, если у нас статическая адресация.
После настройки сети первым делом удаляем ненужные нам пакеты (зачем нам на кассе торрент-клиент, аудиовидеоплееры и прочие аськи?). Делать это проще быстрее и удобнее в терминале - "Приложения" - "Стандартные" - "Терминал" пишем:

sudo apt-get autoremove brasero empathy evolution firefox gnome-orca pitivi rhythmbox simple-scan tomboy transmission-gtk tsclient vinagre totem shotwell gwibber

Затем нужно обновить систему, для этого делаем "Система" - "Администрирование" - "Менеджер обновлений". При запросе пароля вводим вышеупомянутый пароль. Жмем кнопку "Установить обновления" и Ubuntu сама скачает самые последние обновления для вашего компьютера, по окончанию обновления скорее всего появится активная кнопка "Перезагрузить компьютер", на данном этапе правильным решением будет нажать на нее. Эта перезагрузка необходима для того, чтобы загрузиться со скачанного при обновлении нового ядра ОС.
Компьютер загружен с новым ядром и обновленными программами. Далее я предлагаю сменить тему оформления на что либо более приятное, так по умолчанию оформление в 10.10. на мой взгляд страшноватое).
Для этого подключим репозиторий одного интересного проекта Bisigi, делаем это опять же в терминале:

sudo add-apt-repository ppa:bisigi && sudo apt-get update && sudo apt-get install bisigi-themes chromium-browser-l10n libqt3-mt postgresql qt3-qtconfig samba mc openssh-server

И выбираем понравившуюся тему оформления: клик правой кнопкой в любом месте рабочего стола "Изменить фон рабочего стола" - "Тема". Мой выбор это тема Eco.

Если же вы не хотите устанавливать темы, то тогда просто установим нужные нам программы:

sudo apt-get install libqt3-mt postgresql qt3-qtconfig samba mc openssh-server chromium-browser-l10n

Далее вырубаем блокировку экрана в хранителе экрана: "Система" - "Параметры" - "Хранитель экрана", либо хранитель экрана целиком. Это нужно, если мы не хотим делиться ни с кем нашим паролем, так как для разблокировки экрана будет требоваться наш пароль.

Далее настраиваем удаленный доступ к компьютеру по VNC - для этого идем: "Система" - "Удаленный рабочий стол" и ставим галочки в "Позволять другим пользователям видеть ваш рабочий стол", "Позволять другим пользователям управлять вашим рабочим столом", "Требовать от пользователя ввести следующий пароль" - здесь задаем пароль для удаленного доступа, когда вы кликнете поле пароля, появится предложение для создания защищенного хранилища пароля - в это поле НИЧЕГО ВВОДИТЬ НЕ НУЖНО (оставить пустым), далее согласиться "Использовать небезопасное хранилище" иначе при последующих попытках удаленных подключения, вы не сможете подключиться пока на этой кассе сотрудники не введут этот самый пароль защищенного хранилища.
Также выберите пункт "Никогда не показывать значок" и снимите галку "Запрашивать подтверждение при любой попытке доступа к компьютеру".
Теперь наш компьютер доступен по сети как по SSH так и по VNC и в принципе всю последующую настройку мы уже можем делать вообще удаленно.
Сейчас нам нужно настроить синхронизацию времени на нашем компьютере с серверами Интернета. Для этого идем в "Администрирование" - "Дата и время". Нажимаем на кнопку с пиктограммой замка, нас попросят ввести наш пароль. После правильного ввода настройки становятся активными и нам нужно выбрать "Синхронизовать время с серверами Интернет" в поле "Конфигурация". Нам предложат установить пакет NTP (протокол синхронизации времени через Интернет), соглашаемся и опять вводим наш пароль.
Далее заходим в "Серверы времени" и ставим галочки напротив серверов.Если в вашей локальной сети действуют собственные NTP-сервера, вы можете добавить их в этом окне. После окончания настройки ntp-сервера не забудьте еще раз кликнуть пиктограмму с замком - это сохранит ваши настройки и заблокирует их от случайных изменений.
Для работы ПО DNC:Касса нам необходимо выбрать оформление qt3. Для этого в терминале набираем команду:

qtconfig

и выбираем тему оформления "Platinum",сохраняем.
Убираем нижнюю панель GNOME - правый клик на панели - "Удалить панель", иначе у нас не будет помещаться интерфейс DNC:Касса
Теперь для окончания настройки Ubuntu нам осталось лишь создать папку обмена Exchange, для этого делаем в терминале:

sudo mkdir /var/Exchange
sudo chown -R kassir:kassir /var/Exchange
sudo chmod -R 777 /var/Exchange

вводим пароль , когда спросят (в последующем описании я буду уже пропускать факт ввода пароля как само собой разумеющийся).

Одним из финальных штрихов по настройке нашей системы является настройка Samba-сервера (поддержка виндовых шар), делаем в терминале:

sudo nano /etc/samba/smb.conf
находим в файле строчку

workgroup = ЗДЕСЬ_ПИШЕМ_НАЗВАНИЕ_ВАШЕЙ_РАБОЧЕЙ_ГРУППЫ

в самом конце файла добавляем следующую секцию:

[Exchange]
comment = директория обмена
path = /var/Exchange
browseable = yes
read only = no
guest ok = yes
create mask = 0644
directory mask = 0755
force user = kassir
force group = kassir

Сохраняем (CTRL+O) и выходим (CTRL+X).
Таким образом мы создаем сетевой каталог, доступный для чтения/записи для всех пользователей - сюда будут выгружаться/загружаться наши загрузки/выгрузки. Мы можем проверить его работоспособность найдя наш компьютер в сети с любой Windows-машины, у него должен быть доступен каталог Exchange, в котором должны свободно создаваться/удаляться файлы и папки.
Напоследок, если в нашей сети существует сетевой принтер, то мы тоже можем подключиться к нему. Для этого идем в "Система" - "Администрирование" - "Печать", жмем кнопку "Добавить", выбираем раздел "Сетевой принтер" и в нем "Принтер Windows через Samba", указываем рабочую группу в которой находится наш принтер, и выбираем нужный принтер из списка доступных. Далее выбираем драйвер - порядка 95% принтеров заведутся без каких-либо дополнительных шаманств, однако если вам не повезло и модель вашего принтер отсутствует в базе, попробуйте поискать решения в Интернете, наверняка они существуют.
С настройкой Ubuntu закончено и мы можем приступить к настройке СУБД PostgreSQL и самому интересному - установке DNC:Касса.
Для начала нам нужно отредактировать конфигурационный файл СУБД в терминале:

sudo nano /etc/postgresql/8.4/main/pg_hba.conf

необходимо, чтобы последняя секция файла выглядела так:


local all all trust
host all all 127.0.0.1/32 trust

Сохраняем, выходим.
Создаем в домашней директории файл:

sudo nano /home/kassir/.pgpass

с содержимым:

127.0.0.1:5432:*:postgres:
ИМЯ_ВАШЕГО_КОМПЬЮТЕРА:5432:*:postgres:
localhost:5432:*:postgres:
*:5432:*:postgres:

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

kassir@kassa1:~$

kassir - имя вашего пользователя, kassa1 - искомое имя компьютера.
Ставим правильные права доступа для этого файла:

chmod 600 /home/kassir/.pgpass

На всякий пожарный перезагружаем PostgreSQL-сервер:

sudo /etc/init.d/postgresql restart

Выкачиваем ПО DNC:Касса, версию без ОС (из этой темы: viewtopic.php?f=14&t=192), сохраняем в корень домашнего каталога.
теперь монтируем ISO и устанавливаем DNC-касса:

sudo mkdir /media/cdrom
sudo mount -t iso9660 -o loop dnc_setup.iso /media/cdrom
cd /media/cdrom/
sudo sh /media/cdrom/setup_dnc
cd /home/kassir
sudo umount /media/cdrom

Правим файлы:

sudo nano /etc/dancy/LinCache_db.conf

в вид:

[LOG] /tmp/lin_cash.log

и

sudo nano /etc/dancy/Trans_db.conf

в вид:

[LOG] /tmp/transactions.log

поместим демоны загрузки и выгрузки и прочие необходимые скрипты в автозагрузку (необходимо для работы обмена и активации программы), отредактируем файл /etc/rc.local, чтобы он выглядел следующим образом:

sudo nano /etc/rc.local

chmod 644 `FindHardPath`
chmod 666 /dev/ttyS*
/usr/bin/upload > /tmp/upload_daemon.out
/usr/bin/daemon_unload > /tmp/unload_daemon.out

exit 0

Теперь они будут у нас запускаться при старте системы.
Проверим это перед запуском DNC:Касса и перезагрузим компьютер!
После загрузки проверим стартуют ли автоматом скрипты, делаем в терминале:

ps ax | grep upload

ответом должно быть что-то примерно такое:

kassir@kassa1:~$ ps ax | grep upload
1500 ? Ss 0:00 /usr/bin/upload
1502 ? S 0:00 /usr/bin/upload
2724 pts/1 S+ 0:00 grep upload

как видим скрипт загрузки успешно запущен, так что все должно быть ОК

Теперь можно попробовать запустить DNC:Касса, для этого в терминале:

/usr/bin/reshka

Если все прошло хорошо (а про другому и быть не должно, если вы точно следовали этому мануалу), то запустится DNC:Касса.
Теперь можете выйти из программы и создать ярлык для её запуска на рабочем столе - клик правой кнопкой мыши на рабочем столе - "Создать кнопку запуска" - "Тип: Приложение" - "Имя: DNC КАССА" - "Команда: /usr/bin/reshka", также вы можете выбрать понравившуюся вам иконку.

Повторяем все вышеописанное для второго компьютера.
Не забудьте, имя компьютера второй кассы должно отличаться от первой, иначе получите коллизию имен в сети, и тогда у вас не будет возможности обращаться по именам этих касс в сети, а только по IP адресам.
В результате мы имеем две одинаково настроенные кассы. Но если у нас этих касс 10 или 50 или даже 100? А если он расположены в разных магазинах или даже городах, а кассиры должны работать на разных рабочих местах, а нам нужно чтобы продажи были именными. Не заводить же вручную на каждой кассе нужных нам продавцов по ситуации! В этом случае я предлагаю решить эту проблему клиент-серверным способом).
По сути выделяем одну-единственную кассу (назовем её мастер-касса), которую нам удобно администрировать - именно на ней мы будем заводить и удалять профили наших пользователей и учетные записи самих пользователей, а все остальные кассы будут автоматически загружать их себе по сети.
Для этого на мастер-кассе создаем скрипт:

nano /var/Exchange/kassir_exchange

следующего содержания:

pg_dump LinCash -t Profiles > /var/Exchange/profiles.sql
pg_dump LinCash -t Users > /var/Exchange/users.sql

и делаем его исполняемым:

chmod +x /var/Exchange/kassir_exchange

Можем проверить работу этого скрипта:

/var/Exchange/kassir_exchange

у вас должно появиться 2 файла в /var/Exchange с названиями profiles.sql и users.sql

Если все ОК, то добавляем его в crontab для автоматизации выгрузки (от пользователя kassir, не от рута!):

crontab -e

добавляем строку:

30 * * * * /var/Exchange/kassir_exchange

Теперь на мастер-кассе у нас каждые 30 минут будут выгружаться наши профили и пользователи. Если мы хотим добавить нового пользователя DNC:Касса в общую базу, мы добавляем его только на этой кассе, дальше он у нас "расползется" по сети автоматически. Для передачи этих файлов на остальные кассы-клиенты лучше всего использовать scp, но сначала автоматизируем процесс соединения по ssh. Для этого на клиентской кассе генерируем пару ключей:

ssh-keygen -t rsa

На все предложения просто жмем Enter. Теперь в нашей домашней директории кассы-клиента (/home/kassir/.ssh) лежит пара ключей id_rsa и id_rsa.pub. Теперь необходимо скопировать файл id_rsa.pub в аналогичную директорию на мастер-кассу, но при этом переименовав его в authorized_keys. При добавлении следующих касс в эту схему, дописываем в этот файл последующие файлы id_rsa.pub
Теперь нам нужно создать скрипт для касс-клиентов который будет загружать обновления пользователей и профилей:

nano /var/Exchange/kassir_upload

Выглядит он следующим образом:

killall reshka
killall RMK
scp -i /home/kassir/.ssh/id_rsa -p kassir@IP_АДРЕС_ВАШЕЙ_МАСТЕР-КАССЫ:/var/Exchange/users.sql /var/Exchange/users.sql
scp -i /home/kassir/.ssh/id_rsa -p kassir@IP_АДРЕС_ВАШЕЙ_МАСТЕР-КАССЫ:/var/Exchange/profiles.sql /var/Exchange/profiles.sql
psql LinCash -c "drop TABLE users"
psql LinCash -c "drop TABLE profiles"
psql LinCash < /var/Exchange/profiles.sql
psql LinCash < /var/Exchange/users.sql

Также делаем этот скрипт исполняемым:
chmod +x /var/Exchange/kassir_upload

Перед его запуском нам нужно один раз вручную законнектиться на мастер-кассу по SSH:

ssh kassir@IP_АДРЕС_ВАШЕЙ_МАСТЕР_КАССЫ

при вопросе пишем yes, далее подсоединение должно быть автоматическим без ввода каких-либо паролей. Если все ОК, то ставим его в crontab на 00:10 ежедневно:

crontab -e

добавляем:

10 00 * * * /var/Exchange/kassir_upload

Вот, собственно, и все! Ничего сложного в установке ПО DNC:Касса на Ubuntu 10.10 нет. Данный мануал подходит как для 32 так и для 64-битных систем. Надеюсь, этот материал будет кому-нибудь полезен.
Если у вас возникли какие-либо вопросы или дополнения, пишите сюда.
Последний раз редактировалось Xevyk 19 ноя 2010, 19:20, всего редактировалось 10 раз(а).
Xevyk
 
Постов: 6
Зарегистрирован: 18 ноя 2010, 15:37

Re: Подробная инструкция по установке DNC: КАССА на Ubuntu 10.10

Сообщение Alexander » 19 ноя 2010, 14:13

Благодарим за столь подробное описание Вашего внедрения.
Мы решили предоставить Вам бесплатный ключ активации (соответствующее письмо отправлено на электронку)
Кстати, в статье этот вопрос не освещён, но, по имеющейся у нас информации, на Ubuntu 10.10 для активации необходимо произвести некоторые дополнительные действия.
Alexander
 
Постов: 4955
Зарегистрирован: 16 авг 2009, 23:34
Откуда: Техподдержка ГК ДЭНСИ

Re: Подробная инструкция по установке DNC: КАССА на Ubuntu 10.10

Сообщение Xevyk » 19 ноя 2010, 14:18

Alexander писал(а):Благодарим за столь подробное описание Вашего внедрения.
Мы решили предоставить Вам бесплатный ключ активации (соответствующее письмо отправлено на электронку)
Кстати, в статье этот вопрос не освещён, но, по имеющейся у нас информации, на Ubuntu 10.10 для активации необходимо произвести некоторые дополнительные действия.

Спасибо за ключ, сейчас протестирую и отпишусь!
Xevyk
 
Постов: 6
Зарегистрирован: 18 ноя 2010, 15:37

Re: Подробная инструкция по установке DNC: КАССА на Ubuntu 10.10

Сообщение Xevyk » 19 ноя 2010, 14:47

Alexander писал(а):Благодарим за столь подробное описание Вашего внедрения.
Мы решили предоставить Вам бесплатный ключ активации (соответствующее письмо отправлено на электронку)
Кстати, в статье этот вопрос не освещён, но, по имеющейся у нас информации, на Ubuntu 10.10 для активации необходимо произвести некоторые дополнительные действия.

Действительно активировать не получилось, более подробно отписал Вам письмом. Вопрос активации не был затронут, так как наше внедрение еще не окончено и мы сейчас допиливаем Дэнси под специфику нашего бизнеса (в частности добавляем поддержку Киберплат и прорабатываем скидки) и пока ключи не приобретались. По окончанию, работ планируем приобрести активационные ключи в необходимом для нас количестве и, конечно, хотим активировать все установленное ПО. Буду рад посотрудничать в решении вопроса активации под Ubuntu 10.10. Если нужны какие логи, или поэкспериментировать на готовом рабочем месте - буду рад помочь!
Xevyk
 
Постов: 6
Зарегистрирован: 18 ноя 2010, 15:37

Re: Подробная инструкция по установке DNC: КАССА на Ubuntu 10.10

Сообщение Xevyk » 19 ноя 2010, 18:32

Проблема с активацией под Ubuntu 10.10 решена. Для корректной обработки активации необходимо добавить следующие строки в /etc/rc.local:

chmod 644 `FindHardPath`

Вышеприведенный мануал отредактирован с учетом этого исправления.
Спасибо за помощь!

P.S. Я собрал уже исправленный для Ubuntu образ ISO для установки DNC:Касса.
Могу предоставить его разработчикам для публикации.
Xevyk
 
Постов: 6
Зарегистрирован: 18 ноя 2010, 15:37

Re: Подробная инструкция по установке DNC: КАССА на Ubuntu 10.10

Сообщение Виталий » 19 ноя 2010, 19:14

Здравствуйте!
Пришлите нам ссылку на почту support@dnc-soft.ru . Мы обязательно скачаем и посмотрим.
Заранее спасибо =)
Никогда не бойся делать то, что ты не умеешь. Помни, ковчег был построен любителем. Профессионалы построили "Титаник"
Виталий
 
Постов: 48
Зарегистрирован: 14 июл 2009, 21:46
Откуда: Техподдержка ГК ДЭНСИ

Re: Подробная инструкция по установке DNC: КАССА на Ubuntu 10.10

Сообщение Xevyk » 19 ноя 2010, 20:00

Виталий писал(а):Здравствуйте!
Пришлите нам ссылку на почту support@dnc-soft.ru . Мы обязательно скачаем и посмотрим.
Заранее спасибо =)


Пожалуйста! =)
Ссылка на скачивание и небольшой лог изменений у вас в почте.
Xevyk
 
Постов: 6
Зарегистрирован: 18 ноя 2010, 15:37

Re: Подробная инструкция по установке DNC: КАССА на Ubuntu 10.10

Сообщение BigAndy » 19 ноя 2010, 23:34

, Ubuntu является одним из самых популярных дружественных пользователю дистрибутивов

Ну, разве что действительно популярных.
Поскольку в кассовой машине вообще DM можно не заводить, то на первую строчку выходит стабильность и длительность поддержки. С этим у бубунты достаточно плохо. Конечно, в части кассовой машины актуальность модулей ядра не столь важна...
BigAndy
 
Постов: 461
Зарегистрирован: 29 ноя 2009, 17:11

Re: Подробная инструкция по установке DNC: КАССА на Ubuntu 10.10

Сообщение Xevyk » 22 ноя 2010, 08:50

BigAndy писал(а):
, Ubuntu является одним из самых популярных дружественных пользователю дистрибутивов

Ну, разве что действительно популярных.
Поскольку в кассовой машине вообще DM можно не заводить, то на первую строчку выходит стабильность и длительность поддержки. С этим у бубунты достаточно плохо. Конечно, в части кассовой машины актуальность модулей ядра не столь важна...

Года 3-4 назад я бы согласился с вами, но сейчас ситуация иная и, чтобы в этом убедиться, достаточно лишь поставить последнюю LTS версию - бесплатное обновления для десктопа 3 года, для сервера 5 лет. Последняя LTS версия (10.04) по стабильности сопоставима с Debian Squeeze.
Xevyk
 
Постов: 6
Зарегистрирован: 18 ноя 2010, 15:37

Re: Подробная инструкция по установке DNC: КАССА на Ubuntu 10.10

Сообщение BigAndy » 22 ноя 2010, 21:04

достаточно лишь поставить последнюю LTS версию - бесплатное обновления для десктопа 3 года, для сервера 5 лет

Ставили и пробовали .Если сравнить с RHEL -centos (7 лет) .....

Но в применении к кассе - конечно пофигу, ибо пока железо не сдохнет, касса будет работать.
BigAndy
 
Постов: 461
Зарегистрирован: 29 ноя 2009, 17:11

След.

Вернуться в Установка ДЭНСИ: КАССы на разные дистрибутивы Linux

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1



Кто сейчас на конференции

Сейчас посетителей на конференции: 1, из них зарегистрированных: 0, скрытых: 0 и гостей: 1 (основано на активности пользователей за последние 5 минут)
Больше всего посетителей (170) здесь было 16 май 2020, 01:50

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1