SCROLL

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

Рассмотрим установку 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

Рассмотрим установку стека LAMP (Linux, Apache, MySQL, PHP) на Debian 8 Jessie.

 

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

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

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

 

Установка Apache

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

apt-get install apache2-mpm-prefork

 

Для проверки, в браузере открываем http://192.168.1.2 (адрес моей системы), и на экране отобразится стандартная страница Apache.

На развернутом 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

Иногда все мы сталкиваемся с ситуацией передачи файлов с сервера, на сервер. Легко, удобно и безопасно это делать через ssh.

 

В Linux системах в состав пакета openssh входит утилита scp, а в Windows есть аналогичная утилита pscpкоторая входит в состав пакета инструментов PuTTY.

 

 

Пример использования SCP на Linux системах

Скачать файл с удаленного сервера на локальный:

scp root@192.168.1.10:/root/file.tar.gz /opt
scp -P 22 root@192.168.1.10:/root/file.tar.gz /opt

[stextbox id=’info’]В командах выше мы указали cкачать файл file.tar.gz находящийся в директории /root на удаленном сервере под пользователем root с IP адресом 192.168.1.10 в папку /opt. И вариант скачивания с указанием порта ssh, в случае, если на сервере изменен стандартный порт ssh.[/stextbox]

 

Загрузить файл на удаленный сервер:

scp file.tar.gz root@192.168.1.10:/root
scp -P 22 file.tar.gz root@192.168.1.10:/root

[stextbox id=’info’]В командах выше мы указали закачать файл file.tar.gz находящийся в текущей директории на удаленный сервер под пользователем root с IP адресом 192.168.1.10 в папку /root. И вариант загрузки с указанием порта ssh. Это необходимо в случае, если на сервере изменен стандартный порт ssh.[/stextbox]

 

 

Пример использования PSCP на Windows системах

Запускаем командную строку и переходим в папку, где находится программа pscp.exe и копируемый файл.

 

Скачать файл на локальную сервер:

pscp.exe root@192.168.1.10:/home/user/file.tar.gz .
pscp.exe -P 22 root@192.168.1.10:/home/user/file.tar.gz .

[stextbox id=’info’]В командах выше мы указали cкачать файл file.tar.gz находящийся в директории /root на удаленном сервере под пользователем root с IP адресом 192.168.1.10 в папку /opt. И вариант скачивания с указанием порта ssh, в случае, если на сервере изменен стандартный порт ssh.[/stextbox]

 

Загрузить файл на удаленный сервер:

pscp.exe file.tar.gz root@192.168.1.10:/root
pscp.exe -P 22 file.tar.gz root@192.168.1.10:/root

[stextbox id=’info’]В командах выше мы указали закачать файл file.tar.gz находящийся в текущей директории на удаленный сервер под пользователем root с IP адресом 192.168.1.10 в папку /root. И вариант загрузки с указанием порта ssh. Это необходимо в случае, если на сервере изменен стандартный порт ssh.[/stextbox]

 

Вот так легко можно скачать или загрузить на сервер файл.

Рассмотрим как сбросить забытый/утерянный пароль от root в MySQL. Рассмотрим варианты сброса пароля под Windows и Unix системах.

Разберем как выполнить установку Asterisk 13 в связке с FreePBX 13 и с поддержкой протокола SCCP на Debian 8 Jessie/Ubuntu 14.04 Trusty Tahr.

 

Переходим в режим работы под root:

sudo su

 

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

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

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

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

apt-get install -y build-essential linux-headers-`uname -r` openssh-server apache2 mysql-server mysql-client bison flex php5 php5-curl php5-cli php5-mysql php-pear php5-gd curl sox libncurses5-dev libssl-dev libmysqlclient-dev mpg123 libxml2-dev libnewt-dev sqlite3 libsqlite3-dev pkg-config automake libtool autoconf git unixodbc-dev uuid uuid-dev libasound2-dev libogg-dev libvorbis-dev libcurl4-openssl-dev libical-dev libneon27-dev libsrtp0-dev libspandsp-dev libmyodbc -y

Перезагружаем систему:

reboot

После перезагрузки, не забываем снова войти под root.

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

Наткнулся недавно на такую замечательную программу Festival. Данная утилита является синтезатором речи, а именно с помощью нее можно заставить ваш ПК читать тексты, записывать прочтенный текст в звуковой файл. Мне показалась данная программа интересной и я решил разобрать как установить ее на Ubuntu 14.04 Trusty Tahr.

 

Собирать я решил из исходников и последнюю версию на данный момент 2.4. В репозиториях Ubuntu 14.04 Trusty Tahr находится версия 2.1. Так же разобрал как заставить Festival говорить по-русски.

 

Создаем временный каталог, куда будем скачивать необходимые файлы для сборки Festival

sudo mkdir /usr/src/temp

Переходим в созданный каталог

cd /usr/src/temp

Скачиваем архивы сборки Festival

sudo wget http://jakondo.ru/wp-content/uploads/file-manager/Festival/speech_tools-2.4-release.tar.gz
sudo wget http://jakondo.ru/wp-content/uploads/file-manager/Festival/festival-2.4-release.tar.gz
sudo wget http://jakondo.ru/wp-content/uploads/file-manager/Festival/festlex_CMU.tar.gz
sudo wget http://jakondo.ru/wp-content/uploads/file-manager/Festival/festlex_OALD.tar.gz
sudo wget http://jakondo.ru/wp-content/uploads/file-manager/Festival/festlex_POSLEX.tar.gz

Распаковываем скачанные архивы

sudo tar -zxvf speech_tools-2.4-release.tar.gz -C /usr/src/
sudo tar -zxvf festival-2.4-release.tar.gz -C /usr/src/
sudo tar -xvf festlex_CMU.tar.gz -C /usr/src/
sudo tar -xvf festlex_OALD.tar.gz -C /usr/src/
sudo tar -xvf festlex_POSLEX.tar.gz -C /usr/src/

Разберем как настраивать систему оповещений в Zabbix. По-умолчанию в системе Zabbix, предусмотрено несколько видов оповещения событий, это Email, Jabber, SMS.

 

Рассмотрим как настроить Email оповещения. Заходим на Zabbix-сервер и переходим Администрирование (Administration) — Способы оповещений (Media types). Нажимаем на Email.

 

Рассмотрим как установить и настроить Zabbix-агенты для наблюдения за системами ОС Windows и Linux. По данной статье у меня развернут Zabbix-сервер 3.2.5, соответственно все агенты будут устанавливаться версии 3.2.

 

Установка Zabbix-агента на ОС Windows

Скачиваем с оф. сайта Zabbix-агента для Windows систем.