SCROLL

Статьи в категории «Linux»

Имеется развернутый почтовый сервер Microsoft Exchange Server 2010, который находится в бэкэнде локальной сети. На фронтэнде находится веб-сервер Apache на базе Debian 8.

В процессе развертывании GLPI 9.2.2, столкнулся с сообщением:

Run "composer install --no-dev" in the glpi tree.
To install composer please refer to https://getcomposer.org/

[stextbox id=’info’]Composer — это популярный инструмент управления зависимостями для PHP, который служит для облегчения установки и обновления зависимостей проекта. Он будет проверять, какие другие пакеты зависят от конкретного проекта и установить их для вас, используя соответствующие версии в соответствии с требованиями проекта.[/stextbox]

 

Рассмотрим как установить Composer на Debian 8 Jessie

 

Перед началом установки обновляем систему до актуального состояния:

apt-get update && sudo apt-get upgrade -y

 

Устанавливаем необходимые зависимости:

apt-get install curl php5-cli git

MediaWiki – это написанная в PHP платформа для разработки вики-сайтов. Рассмотрим установку ее на Debian 8 Jessie/Ubuntu Server 14.04 LTS.

 

[stextbox id=’warning’]В системе уже установлен стек LAMP (Linux, Apache, MySQL, PHP), инструкция как установить LAMP. Все действия будут производится под пользователем root.[/stextbox]

 

Подготовка системы

Перед началом установки обновляем систему до актуального состояния:

apt-get update && sudo apt-get upgrade -y

 

Устанавливаем необходимые зависимости:

apt-get install php5-apcu php5-intl php5-gd php5-cli -y

 

Установка MediaWiki

Скачиваем актуальную версию MediaWiki , распаковываем скачанный архив и перемещаем в каталог веб-сервера:

SSO (Single Sing-on) – позволяет пользователям вошедшим в систему не вводить пароль при авторизации на доменных сетевых ресурсах. Этот же механизм можно запросто прикрепить к Apache, что бы позволить доменным пользователям проходить аутентификацию, например на внутреннем сайте компании, не вводя имя пользователя и пароль.

 

Исходные данные:

  • Контроллер домена (DC1) на Windows Server 2012 R2, домен JAKONDA.LOCAL
  • Веб-сервер (webserver) (Apache 2.4.10) на Debian 10 Buster.

 

[stextbox id=’info’]ИНФОРМАЦИЯ. Данная статья так же применительная будет ко всем debian-like системам.[/stextbox]

 

Подготовка системы

# Обновляем информацию о репозиториях и обновляем установленные пакеты:

apt-get update && apt-get upgrade -y

 

Указываем FQDN (Fully Qualified Domain Name) имя системы, в файле /etc/hostname:

webserver.jakonda.local

Файл /etc/hosts приводим к виду таким образом, чтобы в нём была запись с полным доменным именем компьютера и с коротким именем, ссылающаяся на один из внутренних IP хоста:

127.0.0.1 localhost 
127.0.1.1 webserver.jakonda.local webserver

 

Настраиваем синхронизацию времени с контроллером домена, выполняем установку NTP, выполняем синхронизацию времени с контроллером домена:

apt-get install ntp ntpdate

ntpdate dc1.jakonda.local

[stextbox id=’info’]Более подробно о синхронизации времени на Debian можно почитать в этой статье[/stextbox]

Рассмотрим установку PHP 7.2 в Debian 8 Jessie/Ubuntu Server 14.04. Последние версии PHP, имеются в репозитории (PPA) от Ondřej Surý.

[stextbox id=’info’]ИНФОРМАЦИЯ. Ниже описанные действия так же применимы к Debian 9 Stretch[/stextbox]

 

Добавление PPA в Debian 8, 9

apt-get install apt-transport-https software-properties-common lsb-release ca-certificates -y
wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
sh -c 'echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'
apt-get update

 

Добавление PPA в Ubuntu 14.04

add-apt-repository ppa:ondrej/php
apt-get update

 

Установка PHP 7.2

Установка базовых пакетов для работы с PHP 7.2:

apt-get install php7.2 php7.2-common php7.2-cli

 

Список всех пакетов для работы с PHP 7.2:

php7.2-bcmath - Bcmath module for PHP
php7.2-bz2 - bzip2 module for PHP
php7.2-cgi - server-side, HTML-embedded scripting language (CGI binary)
php7.2-cli - command-line interpreter for the PHP scripting language
php7.2-common - documentation, examples and common module for PHP
php7.2-curl - CURL module for PHP
php7.2-dba - DBA module for PHP
php7.2-dev - Files for PHP7.2 module development
php7.2-enchant - Enchant module for PHP
php7.2-fpm - server-side, HTML-embedded scripting language (FPM-CGI binary)
php7.2-gd - GD module for PHP
php7.2-gmp - GMP module for PHP
php7.2-imap - IMAP module for PHP
php7.2-interbase - Interbase module for PHP
php7.2-intl - Internationalisation module for PHP
php7.2-json - JSON module for PHP
php7.2-ldap - LDAP module for PHP
php7.2-mbstring - MBSTRING module for PHP
php7.2-mysql - MySQL module for PHP
php7.2-odbc - ODBC module for PHP
php7.2-opcache - Zend OpCache module for PHP
php7.2-pgsql - PostgreSQL module for PHP
php7.2-phpdbg - server-side, HTML-embedded scripting language (PHPDBG binary)
php7.2-pspell - pspell module for PHP
php7.2-readline - readline module for PHP
php7.2-recode - recode module for PHP
php7.2-snmp - SNMP module for PHP
php7.2-soap - SOAP module for PHP
php7.2-sodium - libsodium module for PHP
php7.2-sqlite3 - SQLite3 module for PHP
php7.2-sybase - Sybase module for PHP
php7.2-tidy - tidy module for PHP
php7.2-xml - DOM, SimpleXML, WDDX, XML, and XSL module for PHP
php7.2-xmlrpc - XMLRPC-EPI module for PHP
php7.2-xsl - XSL module for PHP (dummy)
php7.2-zip - Zip module for PHP

По-умолчанию кодировка в MySQL (5.5) сервере, установлена latin1, рассмотрим как ее изменить на utf-8. Данная инструкция применима ко всем разновидностям Linux, но выполнятся настройка будет на Debian 8 Jessie.

Для правильного функционирования доменной среды Active Directory, является корректная работа службы времени Windows (W32Time).

 

Схема работы синхронизации времени в доменной среде Active Directory:

  • Контроллер корневого домена в лесу AD, которому принадлежит FSMО-роль PDC-эмулятора, синхронизируется с внешними источниками точного времени. Он же является источником времени для всех остальных контроллеров этого домена.
  • Контроллеры дочерних доменов в AD, синхронизируют время с вышестоящих контроллеров домена AD.
  • Рядовые члены домена (сервера и рабочие станции) синхронизируют свое время с ближайшим к ним доступным контроллером домена, соблюдая топологию AD.

 

Служба времени в Windows (W32Time) не имеет графического интерфейса и настраивается из командной строки (утилита w32tm), с помощью ветки реестра HKLM\System\CurrentControlSet\Services\W32Time\Parameters и посредством Групповой политики (Group Policy Managment)

 

Для определения какому контроллеру домена принадлежит FSMО-роль PDC-эмулятора, в командной строке от Администратора, выполним команду:

netdom query FSMO

На развернутом Asterisk 13, во время звонка (входящего\исходящего) в консоли и в логах наблюдаю вывод множественных предупреждений вида:

 

[Jan 27 11:59:26] WARNING[30698][C-00000001]: ast113.c:869 sccp_wrapper_asterisk113_rtp_write: SEP10F311B61D8A: Can't send 10 type frames with SCCP write on channel SCCP/555-00000005
[Jan 27 11:59:27] WARNING[30698][C-00000001]: ast113.c:869 sccp_wrapper_asterisk113_rtp_write: SEP10F311B61D8A: Can't send 10 type frames with SCCP write on channel SCCP/555-00000005
[Jan 27 11:59:28] WARNING[30698][C-00000001]: ast113.c:869 sccp_wrapper_asterisk113_rtp_write: SEP10F311B61D8A: Can't send 10 type frames with SCCP write on channel SCCP/555-00000005
[Jan 27 11:59:28] WARNING[30698][C-00000001]: ast113.c:869 sccp_wrapper_asterisk113_rtp_write: SEP10F311B61D8A: Can't send 10 type frames with SCCP write on channel SCCP/555-00000005

 

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

Рассмотрим установку VMware Tools из командной строки Debian/Ubuntu Linux.

 

Монтируем образ компакт-диска VMware Tools, в виртуальную машину. Создаем каталог для монтирования CD-ROM, монтируем CD-ROM в каталог:

sudo mkdir /mnt/cdrom
sudo mount /dev/cdrom /mnt/cdrom

 

Распаковываем дистрибутив VMware Tools

tar xzvf /mnt/cdrom/VMwareTools-x.x.x-xxxx.tar.gz -C /tmp/

[stextbox id=’warning’]Примечание: x.x.x-xxxx — это версия дистрибутива VMware Tools, версия может отличатся в зависимости от вашей версии продукта VMware.[/stextbox]

В качестве памятки по работе с MySQL посредством командной строки, буду вести список наиболее полезных и часто используемых команд MySQL. (Список будет дополнятся по мере необходимости)

Разберем как установить Subversion 1.9.7 из исходников на Debian 8 Jessie.

 

Подготовка системы

Перед началом установки обновляем систему до актуального состояния:

sudo apt-get update && sudo apt-get upgrade -y

Добавляем системного пользователя (subversion), который будет владельцем репозитория и от него будет запускаться демон (SVN):

sudo adduser subversion --system --shell /sbin/nologin --group --disabled-password --home /var/svn

Назначаем права доступа к папке для размещения репозиториев (SVN):

sudo chown -R subversion:subversion /var/svn
sudo chmod -R 770 /var/svn

Устанавливаем необходимые зависимости:

sudo apt-get install gcc build-essential libaprutil1 libaprutil1-dev zlib1g zlib1g-dev libserf-1-1 libserf-dev -y

Рассмотрим как выполнить базовую настройку SIP АТС — Asterisk. В примере будет использоваться Asterisk 13 (как установить его можно ознакомится тут). Так же в примере будут рассмотрены основные моменты в настройке, для понимания принципа как все устроено.

(Статья в процессе написания и будет дополнятся)

 

Техническое задание

  1. Настройка внутренних номеров, настройка sip-транков выданных провайдером.
  2. Настройка маршрутизации звонков, с возможностью совершать внутренние звонки и внешние звонки, а так же принимать входящие извне звонки.

 

Настройка внутренних номеров (sip.conf)

Прежде чем начать, выполним резервное копирование файла конфигурации /etc/asterisk/sip.conf:

cp /etc/asterisk/sip.conf /etc/asterisk/sip.conf.backup

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

 

Если у вас система с GUI, то переходим в терминал (Ctrl + Alt + F2) (для того чтобы вернутся обратно в GUI, нажимаем Ctrl + Alt + F7) авторизовываемся и выполняем следующие действия:

 

Задаем новый пароль пользователя:

passwd jakonda

Монтируем зашифрованный каталог:

ecryptfs-mount-private

Задаем контрольную фразу, аналогичную заданному паролю пользователя:

ecryptfs-rewrap-passphrase .ecryptfs/wrapped-passphrase

Работая с Linux системами, иногда возникает необходимость запрета обновления какого либо пакета.

 

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

 

Рассмотрим несколько способов, реализации запрета на обновления пакета, в ОС Debian 8 Jessie.

 

Запрет используя dpkg

Для запрета на обновления пакета, выполняем команду:

sudo echo 'имя_пакета hold' | sudo dpkg --set-selections

 

Для разрешения на обновления пакета, выполняем команду:

sudo echo 'имя_пакета install' | sudo dpkg --set-selections

 

Чтобы посмотреть все статус пакетов в системе, выполняем команду:

sudo dpkg --get-selections | grep 'имя_пакета'

Данная статья будет мне памяткой, как добавлять пользователей, изменять, удалять пользователей в консольном режиме Debian 8 Jessie.

 

Добавление пользователя

Пользователь создается командой useradd:

sudo useradd username

 

Полезные ключи используемые при создании пользователя:

-m (--create-home) Создать домашний каталог. По-умолчанию домашний каталог не создается.
-M (--no-create-home) Не создавать домашний каталог.
-d (--home-dir HOME_DIR) Указать расположение домашнего каталога.
-N (--no-user-group) Не создавать группу с таким же именем, как имя пользователя.
-g (--gid GROUP) Название или ID первичной группы пользователя.
-G (--groups GROUPS) Указать список дополнительных групп для пользователя.
-p (--password PASSWORD) Задание пароль пользователя.
-s (--shell SHELL) Указание оболочки пользователя (прим. /bin/bash). По-умолчанию /bin/sh.
-c (--comment COMMENT) Добавить комментарий к пользователю.

 

Изменение пользователя

Изменить пользователя можно командой usermod (прим. добавление пользователя в группу):

sudo usermod -a -G www-data jakonda

 

Изменить пароль пользователю можно при помощи утилиты passwd:

sudo passwd jakonda