среда, 30 марта 2016 г.

Установка Nagios 4.1.1 на Ubuntu 14.04


Опишу установку Nagios 4.1.1, Nagios Plugins 2.1.1 NRPE 2.15 на Ubuntu 14.04 на nginx, php-fpm и fcgiwrap:

1. Установка nginx:
Обновим пакеты:
# apt-get update
# apt-get upgrade
# apt-get install build-essential

Подключим репозиторий nginx:
# cat /etc/apt/sources.list.d/nginx.list
deb http://nginx.org/packages/ubuntu/ trusty nginx
deb-src http://nginx.org/packages/ubuntu/ trusty nginx

Получим ключ репозитория nginx:
# wget http://nginx.org/keys/nginx_signing.key
# apt-key add nginx_signing.key

вторник, 29 марта 2016 г.

Debian squeeze backport репозиторий

Стал получать такую ошибку при подключении бэкпортов к Debian Squeeze:
E: Release file for http://backports.debian.org/debian-backports/dists/squeeze-backports/Release is expired (invalid since 9d 21h 41min 25s). Updates for this repository will not be applied.

Чинится просто:
# vim /etc/apt/apt.conf.d/10no--check-valid-until
Acquire::Check-Valid-Until "0";

И все.

Установка nginx на cPanel

Клиент попросил установить nginx на cPanel, краткая заметка:

# cd /usr/local/src
# wget http://nginxcp.com/latest/nginxadmin.tar
# tar xf nginxadmin.tar
# cd publicnginx
# ./nginxinstaller install
access key doesn't exist
go to WHM > Cluster/Remote Access > Setup Remote Access Key
and click on the Generate New Key button

Смена пароля cPanel

Получилось так, что зашел на сервер по SSH, а в панель попасть не могу, смена пароля в cPanel:
# /scripts/chpass root '2n_sXaJ1BM4!SG'

Однако тут получил ошибку:
ERROR: /usr/local/cpanel/scripts/realchpass
Invocation changes only the system
password and does not have any effect
on other services associated with your
cPanel account, including FTP, SSH,
WebDAV, and FrontPage.  It is strongly
encouraged for you to change the
password via the WHM & cPanel
interface. You can force a password
change through this script by setting
the environment variable
'ALLOW_PASSWORD_CHANGE=1'.

Добавим переменную:
# export ALLOW_PASSWORD_CHANGE=1

Теперь все ок:
# /scripts/chpass root '2n_sXaJ1BM4!SG'
warn [realchpass] Insecure passing of password on ARGV
Password for root has been changed

среда, 23 марта 2016 г.

Настройки подключения к базе данных CMS

Краткая заметка о том, где в каких CMS находятся настройки подключения к базе данных:
Joomla - configuration.php
WordPress - wp-config.php
Drupal 6 - site/default/settings.php
Drupal 7 - site/default/settings.php
DLE (DataLife Engine) - engine/data/dbconfig.php
Shop-script - cfg/connect.inc.php
ShopCMS - core/config/connect.inc.php
WebAsys - dblist/логин.xml, kernel/wbs.xml, temp/scdb/.settings.логин
PretaShop - config/settings.inc.php
MODx - manager/includes/config.inc.php
Bitrix - bitrix/php_interface/dbconn.php
CMS PHPShop - phpshop/inc/config.ini
CMS Opencart - config.php, admin/config.php
CMS Magento - app/etc/local.xml
ImageCMS - application/config/database.php

вторник, 22 марта 2016 г.

Установка nginx proxy

Краткая заметка по установке nginx прокси сервера, для скрытия IP-адреса backend'а (20.20.20.20), Frontend имеет IP 10.10.10.10.

Установим nginx:
# vim /etc/yum.repos.d/nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/6/$basearch/
gpgcheck=0
enabled=1

# yum install nginx
# mv /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/default.conf.bak

Не включается квота ISPmanager 4/5

Столкнулся с проблемой, что на сервере с OpenVZ в контейнере не активируется дисковая квота для пользователей, в логе панели видим такую ошибку:
Mar 22 21:19:40 [961:86161] proc EXTINFO Run '/bin/sh -c setquota\ -g\ 504\ 20480000\ 20480000\ 2343750\ 2343750\ /' pid 19638
Mar 22 21:19:40 [961:86161] proc EXTINFO Process 19638 finished with status 1
Mar 22 21:19:40 [961:86161] quota ERROR Failed to set quota: 'setquota: Cannot stat() mounted device simfs: No such file or directory
setquota: Mountpoint (or device) / not found or has no quota enabled.
setquota: Not all specified mountpoints are using quota.


Фиксится очень просто.
ISPmanager 5:
# ln -s /simfs /usr/local/mgr5/simfs

ISPmanager 4:
# ln -s /simfs /usr/local/ispmgr/simfs


DirectAdmin обновить PHP с 5.3 до 5.4

Краткая заметка по обновлению:
# cd /usr/local/directadmin/custombuild
# ./build update
# ./build set php5_ver 5.4
# ./build php n

Стырено

суббота, 19 марта 2016 г.

DirectAdmin dataskq много процессов

Обратился знакомый с проблемой, что сайты перестали работать. Зашел на сервер с панелью управления DirectAdmin и увидел очень много процессов dataskq и LA 1200.
Прибил данные процессы и решил поправить крон, что бы такого более не повторялось:

Отредактируем файл /etc/cron.d/directadmin_cron:
# vim /etc/cron.d/directadmin_cron

И строку * * * * * root /usr/local/directadmin/dataskq заменим на:
* * * * * root if [ "`ps ax | grep -v grep | grep -c dataskq`" -eq 0 ]; then /usr/local/directadmin/dataskq; fi;

Теперь, перед запуском dataskq будет проверяться, нет ли других процессов.

Ссылки:
http://help.directadmin.com/item.php?id=246
http://directadminguru.com/directadmin-command-line-tasks-dataskq/
http://help.directadmin.com/item.php?id=402

понедельник, 14 марта 2016 г.

Fatal: Error in configuration file /etc/dovecot/sni.conf

Появилась ошибка на сервере с cPanel:
Запускается Dovecot Imap: doveconf: Fatal: Error in configuration file /etc/dovecot/sni.conf line 2: ssl_cert: Can't open file /var/cpanel/ssl/installed/certs/domain_com_ce349_bba83_1486628878_23fec30cbb1f26d45d0cd436432e395c.crt: No such file or directory

Такого сертификата и правда не было на сервере по указанному пути, решается ребилдом mail sni:
# /scripts/build_mail_sni --rebuild_map_file --rebuild_dovecot_sni_conf
[*] Rebuilding SNI map file for mail services...
[+] Successfully built SNI map file: /etc/mail_sni_map
[*] Rebuilding Dovecot SNI configuration file...
[+] Successfully built Dovecot SNI configuration: /etc/dovecot/sni.conf

Теперь все гуд.

суббота, 12 марта 2016 г.

Проблема с translate data yii2

Вообщем понадобилось завести сайт на yii2 и для отображения комфортной записи, когда были обновлены данные, однако вместо этого отображалось что-то вроде:
{delta, plural, =1{день} one{день} few{дня} many{дней} other{дня}}

На сервере используется панель управления CentOS Web Panel и установка производилась для одной из версий php.

Пришлось долго повозиться, но рецепт был найден:

Удаляем пакет с древней версией:
# yum remove libicu

Компилим новую версию ICU:
# yum install gcc gcc-c++ php-devel php-pear
# cd /tmp
# wget http://download.icu-project.org/files/icu4c/54.1/icu4c-54_1-src.tgz
# tar -xvf icu4c-54_1-src.tgz
# cd icu/source/
# ./configure --prefix=/opt/icu4c-54_1 && make && make install

После чего, необходимо пересобрать PHP с опцией:
 --with-icu-dir=/opt/icu4c-54_1


Ставим модуль intl для PHP 5.4:
# pecl download intl
# tar xvfz intl-3.0.0.tgz
# cd intl-3.0.0
# /opt/alt/php54/usr/bin/phpize
# ./configure --with-php-config=/opt/alt/php54/usr/bin/php-config
# make
# make install
# vim /opt/alt/php54/usr/php/php.d/intl.ini
extension=intl.so

# /etc/init.d/httpd restart

Полезные ссылки:
http://nitinsharma.info/linux/libicui18n-so-42-cannot-open-shared-object-file-while-enabling-multiple-php-versions-in-parallels-plesk-for-linux/
http://yiiframework.ru/forum/viewtopic.php?t=22716#p135719

четверг, 3 марта 2016 г.

ISPmanager 4 ошибка "Имя базы уже существует"

Бывает так, что в панели управления базы данных нет, но при попытке ее создания получаем ошибку "Имя базы уже существует", при этом в ispmgr.log видна ошибка:
ERROR Exception 2: 'name' already exists

Сначала проверим, есть ли данная база:
# mysql -uroot -p -e "SHOW DATABASES;" | grep database_name

Если и тут ничего нет, то смотрим так:
# mysql -uroot -p
mysql# use mysql;
mysql# SELECT Db FROM db WHERE Db = 'database_name';

Тут скорее всего и будет наша пропавшая база данных. Удалим просто эту строку:
mysql# DELETE FROM Db WHERE Db = 'database_name'; 

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

ERROR 1273 (HY000) at line 25: Unknown collation: 'utf8mb4_unicode_ci'

Частая ошибка, когда, к примеру дамп с MySQL 5.5+ пытаются влить в MySQL 5.1.

Обновить MySQL до 5.5 на CentOS 6 легко:
# rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
# rpm -Uvh https://mirror.webtatic.com/yum/el6/latest.rpm
# yum install mysql.`uname -i` yum-plugin-replace
# yum replace mysql --replace-with mysql55w

стырено

вторник, 1 марта 2016 г.

Установка модуля nginx ngx_pagespeed на CentOS 6

Клиенту с CentOS 6 и ISPmanager 5 понадобилось установить модуль nginx pagespeed.
Краткая заметка по установке:

Установим зависимости, свежий gcc:
# rpm --import https://linux.web.cern.ch/linux/scientific6/docs/repository/cern/slc6X/i386/RPM-GPG-KEY-cern
# wget -O /etc/yum.repos.d/slc6-devtoolset.repo https://linux.web.cern.ch/linux/scientific6/docs/repository/cern/devtoolset/slc6-devtoolset.repo
# yum install devtoolset-2-gcc-c++ devtoolset-2-binutils

# PS_NGX_EXTRA_FLAGS="--with-cc=/opt/rh/devtoolset-2/root/usr/bin/gcc"

Установка GitLab 7.4 на CentOS 6

В основе моей установки была запись:
https://github.com/gitlabhq/gitlab-recipes/tree/master/install/centos

Однако, во время установки были некоторые НО.

1. Для работы с Percona необходимо установить не mysql-devel, а:
# yum install Percona-Server-devel-56

2. И установка GitLab Shell, там ошибка с версией.
Вместо:
# sudo -u git -H bundle exec rake gitlab:shell:install[v2.1.0] REDIS_URL=unix:/var/run/redis/redis.sock RAILS_ENV=production


Ошибка при импорте MySQL дампа с полем VARCHAR > 255

Понадобилось импортнуть дамп, где в таблице было такое поле и движок MyISAM:
  `title` varchar(400) NOT NULL
ENGINE=MyISAM AUTO_INCREMENT=33525 DEFAULT CHARSET=utf8;

Однако столкнулся с такой ошибкой:
ERROR 1071 (42000) at line 1817: Specified key was too long; max key length is 1000 bytes

Решил проверить, поможет ли уменьшение поля title до 255:
  `title` varchar(255) NOT NULL

И вуаля дамп загрузился, однако - это плохой вариант ибо могут потеряться данные.

После поисков в интернете решил попробовать поменять ENGINE на InnoDB и получил ошибку:
ERROR 1709 (HY000) at line 1817: Index column size too large. The maximum column size is 767 bytes.