После установки CentOS 7 приступим к ее настройке.
Для настройки системы воспользуемся подключением по SSH используя клиент PuTTy или другой SSH клиент.
Начальная настройка CentOS 7
Обновим систему:
yum -y update
Так как CentOS 7 у нас гостевая ОС ESXi 6.5, то нужно установить VMware tools:
yum install open-vm-tools
Для дальнейшего удобства установим файловый менеджер Midnight Commander:
yum -y install mc
В CentOS 7 minimal все утилиты, такие как dig, host, nslookup, теперь включены в пакет bind-utils, поэтому установим этот пакет:
yum -y install bind-utils
mcedit /etc/sysconfig/selinux
меняем значение SELINUX=enforcing на SELINUX=disabled . Сохраняем и выходим.
Для вступления изменений в силу перезагрузим ОС:
reboot
Настройка сетевого интерфейса сервера
Сервер 1С:Предприятие будет находится в пределах локальной сети и его вполне можно использовать с отключенным файрволом без большой угрозы безопасности.
Отключаем firewalld:
systemctl stop firewalld systemctl disable firewalld
В файле /etc/hosts не должно быть записей формата localhost.localdomian или относящихся к IPv6, в случае отсутствия DNS-сервера, в нем должно быть прописано четкое соответствие IP-адрес сервера – FQDN имя – короткое имя. Пример правильного файла hosts:
mcedit /etc/hosts
127.0.0.1 localhost
192.168.xxx.yyy SERVER_NAME.DOMAIN.LOCAL SERVER_NAME
Что бы новые параметры вступили в силу нужно перезагрузить сервер.
reboot
После перезагрузки имя сервера должно разрешаться в IP-адрес.
Подключение репозиториев
Для инсталляции различных пакетов ПО необходимо подключить репозитории в CentOS. Добавим популярный EPEL:
yum -y install epel-release
Настройка и синхронизация времени
Настроим время сервера. Узнать, какое время на сервере можно с помощью команды date:
date
Чтобы сменить часовой пояс на +3, воспользуемся специальной утилитой, которая входит в комплект CentOS 7:
timedatectl set-timezone Europe/Moscow
Установим утилиту для синхронизации времени chrony:
yum install -y chrony
Запускаем chrony и добавляем в автозагрузку:
systemctl start chronyd systemctl enable chronyd
Проверяем:
systemctl status chronyd date
Установка дополнительных пакетов
Добавим несколько полезных утилит, которые могут пригодиться в процессе эксплуатации сервера.
iftop показывает в режиме реального времени загрузку сетевого интерфейса:
yum -y install iftop
Диспетчер задач htop:
yum -y install htop
Установим также необходимые пакеты отсутствующие в поставке:
yum install policycoreutils-python wget bzip2 ntp net-tools unixODBC ImageMagick fontconfig-devel
Скачиваем необходимые шрифты и устанавливаем их:
wget http://li.nux.ro/download/nux/dextop/el7/x86_64/msttcore-fonts-installer-2.6-1.noarch.rpm
yum install msttcore-fonts-installer-2.6-1.noarch.rpm
Публикация общей папки
Для удобства установим Samba и добавим в автозагрузку:
yum -y install samba samba-client samba-common systemctl enable smb systemctl enable nmb
Далее создадим папку, к которую дадим общий доступ и настроим Samba:
sudo mkdir -p /home/public
mv /etc/samba/smb.conf /etc/samba/smb.conf.bak
mcedit /etc/samba/smb.conf
Настроим Samba внеся в smb.conf следующий текст:
[global]
workgroup = WORKGROUP
server string = Samba Server %v
netbios name = Server1C
security = user
map to guest = bad user
dns proxy = no
guest account = nobody
browseable = yeslog file = /var/log/samba/log.%m
max log size = 50load printers = noprinting = bsdprintcap name = /dev/null[public]
comment = FS
path = /home/public
readonly = no
guest ok = yes
public = yes
guest only = yes
writable = yes
Добавляем Samba в автозагрузку:
systemctl enable smb systemctl enable nmb
Если не отключать Firewall, то нужно добавить следующие правила:
firewall-cmd --permanent --zone=public --add-service=samba
firewall-cmd --reload
Опубликуем папку:
cd /home/public
chmod -R 0755 /home/public
chown -R nobody:nobody /home/public
Установка веб сервера
Для работы сервисов, имеющих веб интерфейс, установим веб сервер Apache:
yum install -y httpd
Добавляем apache в автозагрузку:
systemctl enable httpd
Запускаем apache в CentOS 7:
systemctl start httpd
Проверяем, запустился ли сервер:
netstat -tulnp | grep httpd
Установим PHP:
yum install -y php
Установим популярные модули для php:
yum install -y php-mysql php-mbstring php-mcrypt php-devel php-xml php-gd
Выполним перезапуск apache:
systemctl restart httpd
Базовая настройка CentOS 7 закончена
Скажите. Вы когда-нибудь пробовали на такой связке формировать этикетки со штрих кодами. Интересуют управляемые формы. Суть в том, что на сервере нужна компонента, которая «нарисует» штрих код и отправит его клиенту. Такой компоненты там нет, и при попытке распечатать любой ШК клиенту выйдет сообщение об ошибке «Ошибка подключения компоненты».
В случае сервера на винде там все понятно, а вот под центом не могу найти где взять эту компоненту и как ее поставить.
Нет, не пробовал. У меня на данный момент похожая проблема с криптопровайдером. Под линуксом криптопровайдер не цепляется, тоже вываливается ошибка подключения динамической библиотеки. Я не уверен, но в Вашем случае скорее всего проблема подключения COM объектов, которые, как я понял, не поддерживаются в Linux. Возможно надо найти обработчик под CentOS.
День добрый.
Решили проблему с криптопровайдером?
Нет, забил. В итоге из-за ЭДО пришлось сервер 1с выносить отдельно на виртуальную машину с windows 10 с более частотным процессором
А что конкретно не работало? 1С отчетность для сдачи в ФНС ФСС и прочее или что-то свое?
Да, 1С отчетность. Мне нужно было чтобы сервер раздавал эцп, чтобы сотрудники не имели физ доступа к ней, но не сложилось
Добрый день.
Для чего служат пакеты из команды
yum install policycoreutils-python wget bzip2 ntp net-tools unixODBC ImageMagick fontconfig-devel ?
Как определили их необходимость?
policycoreutils-python — инструменты для работы с selinux, но selinux обычно отрубают;
wget — консольный менеджер загрузок, в статье используется для скачивания файла;
bzip2 — консольный архиватор;
ntp — сервер времени, думаю не нужен так как установлен chrony;
net-tools — сетевые утилиты например ifconfig;
unixODBC — компоненты для доступа к данным на основе ODBC, если нужно выгрузить/загрузить данные в сторонние базы не обязательно 1С;
ImageMagick — набор инструментов для работы с изображениями, нужен в тонком клиенте и наверно в web тоже;
fontconfig-devel — для работы со шрифтами, в данном случае с майкрософтовскими.
В целом статья полезна, сам настраиваю таким способом.
Да, 1С отчетность. Мне нужно было чтобы сервер раздавал эцп, чтобы сотрудники не имели физ доступа к ней, но не сложилось
Создаётся впечатление, что все авторы, описывающие установку CentOS в качестве сервера, не владеют ситуацией. Первое, что они предлагают, отключить SELinux и Firewall. А слабо, настроить SELinux? А где открытие портов? Для работы в с ОС Windows, коих подавляющее большинство в сетях, нужна Samba, а для её работы необходимо открыть порты 137, 138, 139, 443 и 445. Для возможности соединения с сервером, через Web интерфейс, необходимо открыть порт 80. Для удалённого управления сервером необходимо настроить SSH, а для исключения возможности несанкционированного доступа к серверу, поменять порт SSH, или на худой коней открыть порт по умолчанию и сформировать надёжный пароль, или доступ по публичному ключу. Где все это??? Я даже на домашнем сервере всё это проделал и не отключал SELinux, а настроил её, включил разрешения для работы Samba и SSH, но только те, которые используются в домашней сети.
Спасибо за комментарий. Вы правы, мне этот «блог» нужен для того что бы инфа, которую я собрал в инете была под рукой и эти инструкции делал прежде всего для себя, естественно после успешного внедрения, и если здесь нет инфы о настройке защиты, значит я не нашёл нормальную инструкцию, а сам я ни разу не линуксоид. Да и в моем случае это работает в закрытом контуре сети, поэтому не стал разбираться с защитой. Если дополните будет очень хорошо!
Соглашусь. Если сервер работает только внутри сети и не смотрит наружу, то смысла настраивать все порты и SE не вижу. Больше мороки.
По моему я где-то написал, что не настраивал защиту по причине работы сервера в закрытой сети