Установка Ubuntu 12.04 x64 + Postgre 9.0.4 + 1С 8.2 + HASP и настройка


Итак, начнем.

Часть 1. Ставим Ubuntu 12.04 x64

Загружаемся с диска установки системы, выбираем язык установки Русский. Попадаем в меню выбора установки. Тут же можем сконфигурировать язык и клавиатуру клавишами F2 и F3. В обоих случаях выбираем Русский/Russian.
В меню установки выбираем Установить Ubuntu Server (выбрано по умолчанию), жмем Enter, переходим к экрану региональных установок. Выбираем страну - Российская Федерация.
Так как язык и раскладку мы уже выбрали, то нам дается только изменить переключение раскладки. Я привык использовать для этого Control+Shift, так и выбираю.
Далее идет проверка конфигурации и загрузка необходимых драйверов. Ждем.
Если в машине установлено несколько сетевых карт - нам предлагается выбрать нужный сетевой интерфейс. Выбираем, Enter. Когда установщик попытается получить настройки сети по DHCP - чтобы не ждать, жмем Отмена, затем Продолжить, и выбираем - Настроить сеть вручную.
Вводим IP адрес машины, маску сети, IP адрес шлюза, адрес(а) DNS. Если DNS несколько - вводим один DNS за другим, разделяя записи пробелами.
Далее вводим имя компьютера.

ВАЖНО! По некоторым наблюдениям, на 64-битных платформах наблюдаются глюки при работе сервера 1С на машинах, имеющих в именах сервера цифры и специальные знаки (включая дефис и подчеркивание). Я не использовал и заглавные буквы.
Вводим домен. если сервер не надо вводить в домен - пишем любое пришедшее на ум имя. Я сервер в домен не вводил, но кто знает как оно повернется в будущем, и поэтому указал имя домена правильным для своей сети. Это проще, чем потом менять домен в будущем.
Далее заводим пользователя. Имя, логин, пароль, ещё раз пароль.
Шифрование - Нет. Возможно, это без разницы, но в дальнейшем мной предполагается активно исользовать команду scp для перекачки папок и файлов между домашней директорией пользователя и другим сервером.
Выбираем свой часовой пояс.
Далее нас ведет на стадию разметки диска для установки системы.
Выбираем Авто - использовать весь диск и настроить LVM (выбрано по умолчанию).
Выбираем диск для разметки. В моем случае это один диск.
Если до этого на диске уже были размечены разделы, выйдет предупреждение об этом и предложение стереть предыдущую разметку. Отвечаем Да.
Записать изменения на диск и настроить LVM? - Да.
Размер группы томов. Используем весь объем диска, ничего не меняем, жмем Enter.
Записать изменения на диск? - Да.
Теперь установщик отформатирует разделы и установит базовую систему. А я пока заварю новую порцию кофе.
Переходим к установщику пакетов. Нас попросят ввести прокси. Если он есть, вводим согласно приведенному в установщике шаблону. Мой сервер в дальнейшем сам по себе в инет ходить не будет, поэтому я на время просто открыл в файрволле на шлюзе свободный доступ для ip моего сервера
/etc/firewall.conf на шлюзе сети:
ipfw add 00550 allow ip from 192.168.0.5 to any
ipfw add 00551 allow ip from any to 192.168.0.5
Пьем заваренный кофе, пока скачиваются файлы и идет настройка apt.
Новый экран. Автоматическое обновление пакетов безопасности - это конечно хорошо... Однако я никогда не любил той ситуации, когда десктоп, а тем более сервер, сам по себе куда-то ходит, что-то скачивает, да ещё и устанавливает. Все что нужно - я потом сам настрою по расписанию, или сделаю вручную. Поэтому - Без автоматического обновления.
Далее выбираем (или нет) предлагаемые наборы устанавливаемых пакетов. Можно выбрать OpenSSH и Samba... А можно и не выбирать. Продолжаем и идем курить.
Установить GRUB в главную загрузочную запись? У нас только одна ось, выбираем Да.
Установка завершена, диск выплюнут, жмем Enter и наблюдаем процесс перезагрузки только что собранного сервера.

Часть 2. Настраиваем сервер.

Если при выборе устанавливаемых конфигураций были выбраны OpenSSH - можем сразу смело переходить на удаленную работу в терминале. Загружаем на своем компе putty и подключаемся к серверу созданным при установке пользователем. Если нет - ставим сервер ssh.
Логинимся локально пользователем.
Далее есть два варианта. Вариант первый - воспользоваться интерактивным установщиком
sudo tasksel
C ним мы уже встречались на этапе установки сервера, выбираем OpenSSH, ставим.
Вариант второй, всё делаем сами.
#Обновляем базу пакетов
sudo apt-get update
#устанавливаем ssh сервер
sudo apt-get install openssh-server
После этого стартуем сервер ssh командой
sudo service ssh start


Отступление. При выполнении первой же команды мы увидим много-много белых квадатиков. Это русские символы, и нам надо вернуть их на место. Для этого введем команду
sudo dpkg-reconfigure console-setup
Не пугайтесь, что в открывшемся интерактивном окне вы снова видите много квадратиков и ничего не можете прочитать - просто жмите всё время Enter соглашаясь с предлагаемыми вариантами - вы получите правильную установку для консоли. Можете проверить, запустив ту же команду ещё раз, заодно посмотрите, что же за установки вы выбрали: utf-8, комбинированный - латинский,  славянская кириллица, греческий, Fixed, 16.
Перезагружаем сервер командой
sudo shutdown -r +0
(или без sudo - комбинацией Ctrl+Alt+Del) и идем за терминал на своем рабочем ноутбуке.
Добавление. После перезагрузки локально на сервере вместо кириллических символов снова будут квадратики, однако при заходе удаленно в консоль русские символы будут отображаться корректно, что нам и надо. Часто ли вы садитесь за сам сервер? Я всё делаю через терминал putty.

Часть 3. Удаленная настройка сервера.
Нам нужен mc - поставим его
sudo apt-get install mc
(если вам влом постоянно набирать sudo, или предстоит много установок - введите сначала команду sudo -i).
Установим необходимые зависимости для установки 1С сервера:
sudo -i

apt-get install imagemagick libgsf-1-114 ttf-mscorefonts-installer t1utils libt1-5 unixodbc
Далее нам нужен пакет ttf2pt1, однако в репозитории мы его не найдем, поэтому воспользуемся  любезно предоставленной сайтом http://interface31.ru ссылкой. Выйдем из под рута и создадим директорию, перейдем в неё и скачаем пакет, после чего установим
exit
mkdir ~/1c-download
cd ~/1c-download
wget "http://interface31.ru/tech_it/files/1c/ttf2pt1_3.4.4-1.3_amd64.deb"
dpkg -i *.deb
Многие на этом месте советуют подготовить большое количество симлинков, так как 1с любит искать библиотеки не там, где им положено быть, но мы на том этапе пойдем другим путем, поэтому пока оставим.

Часть 4. Устанавливаем HASP.
Качаем всегда под своим пользователем (не под рутом), чтобы в папки с файлами вы имели доступ всегда, и пусть они будут только в одной домашней директории.
mkdir ~/HASP
cd ~/HASP
wget "ftp://ftp.etersoft.ru/pub/Etersoft/HASP/last/x86_64/Ubuntu/12.04/*.deb"
устанавливаем
dpkg -i haspd_*.deb
Пробуем запустить командой
sudo /etc/init.d/haspd start
и получаем ошибку в виде
Running aksusbd... /etc/init.d/haspd: 219: /etc/init.d/haspd: aksusbd: not found [FAILED]
Я долго бился, стараясь победить этот главный затык всей установки, и вот в результате какой композитный вариант решения мной был найден.
При установке пакета все файлы из пакета размещаются по своим местам, но на самом деле этого мало. Поэтому выполним следующие шаги:
(взято отсюда: ubuntu-favorite-os.blogspot.ru)
скопировать aksusbd.debian в папку /etc/init.d/, переименовать его в aksusbd и сделать исполняе­мым (владелец – root с правами r-w-x, группа – root с правами r-w-x, для остальных права r-x);
теперь в этой же папке необходимо создать два файла: hasplm и winehasp, и сделать их испол­няемыми; содержание этих файлов будет абсолютно таким же, что и aksusbd, только во всех стро­ках параметр aksusbd нужно заменить на hasplm и winehasp соответственно.
создать симлинки с именами @S90aksusbd, @S90hasplm и @S90winehasp в каталогах /etc/rc2.d/, /etc/rc3.d/, /etc/rc4.d/ и /etc/rc5.d/
запустить драйвера по очереди:
/etc/init.d/aksusbd start
/etc/init.d/hasplm start
/etc/init.d/winehasp start
После успешного запуска AksUSBD в логе событий /var/log/messages должно появиться сообще­ние...


Что сказать... Мне это не помогло. Удаляем всё, что было наворочено, и идем дальше. Промучившись ещё немного и перечитав Wiki от Etersoft о необходимости использования пакета ia32-libs, я направил свои усилия на установку этого пакета. sudo apt-get install оказалось в этом случае плохим помощником, так как постоянно получал сообщения о том, что есть зависимости, но они не будут обработаны/установлены, так как пакеты сломаны/битые. Попытка установить зависимости вручную не привели к результату.
Поэтому я пошел на страницу пакета ia32-libs в репозитории, откуда и скачал сам пакет. Пробуем установить его через dpkg, и получаем кучу неудовлетворенных зависимостей, которые в принципе и перечислены на странице пакета.
Устраняем нерешенные зависимости: sudo apt-get install каждый из перечисленных пакетов по одному. Почему по одному? Потому что с пакетом lib32v4l-0 имеем странность: он необходим для установки пакета ia32-libs, но при установке lib32v4l-0 получаем сообщение, что установка этого пакета заменяется установкой пакета ia32-libs, естественно с неудачей в результате.
И вот где произошло чудо? Я не знаю. Попробую разобраться, когда буду устанавливать второй такой же сервер. Но я попробовал запустить /etc/init.d/haspd start и... hasp старотовал! Мое естество было в шоке, однако я несколько раз делал хаспу stop/start, а потом и перезагрузил сервер -  hasp встал, и встал хорошо. На том и порешим.

Добавлю здесь, что можно подправить список репов, использовав замечательный сервис Ubuntu Sources List Generator
и положить результат в /etc/apt/sources.list

Часть 5. Устанавливаем PostgreSQL 9.0.4

Тут много читано и перечитано, скорее по незнанию и неопытности. На этот раз ставил по официальному Wiki, и установка прошла без проблем. Предварительно делаем небольшую подготовку - пишем в файл /etc/sysctl.conf:
kernel.shmall=134217728
kernel.shmmax=134217728

Сохраним файл и применим настройки:

sysctl -p

Единственное добавление - удаляем пакет со словом seltaaddon - он нам не нужен. Также после установки пакетов postgre при запуске apt-get -f install может вылезти сообщение о неразрешенной зависимости с пакетом lib32v4l-0 и об удалении пакета ia32-libs. Скрепя сердце, я сказал да, после чего еще раз поставил все пакеты postgre (так как из-за вышеуказаннгго не был установлен contrib) и ещё раз - apt-get -f install
Затем проверил работу hasp и запуск сервера postgre - результат - всё ОК!

В заключении отключаем обновление для пакетов PostgreSQL.

echo "libpq5.2-9.0eter" hold | dpkg --set-selections
echo "postgre-etersoft9.0" hold | dpkg --set-selections
echo "postgre-etersoft9.0-server" hold | dpkg --set-selections
echo "postgre-etersoft9.0-contrib" hold | dpkg --set-selections


Уточнить названия установленных пакетов можно командой
dpkg --get-selections | grep postgre
dpkg --get-selections | grep libpq

Часть 6. Устанавливаем 1С 8.2 x64

Начнем с файла /etc/hosts, для того чтобы 1с-ка правильно создала свои конфиги из него нужно убрать любое упоминание об IPv6.

Продолжение следует...Пока могу отослать к предыдущей статье по переустановке сервера 1с, так как принцип тот же - http://avpodusov-art-code.blogspot.com/2012/07/1-unix.html

Комментарии

Популярные сообщения из этого блога

Обратный звонок в CS-Cart 4.3.x

Обновление сервера 1С:Предприятие на UNIX платформе

CS-Cart: Модули. [AVP] Дополнение для Детектора изменений ядра