8 заметок с тегом

CentOS 6

Установка mod_rpaf в  CentOS 6

apache2 mod_rpaf

Устанавливаем модуль из репозитория ISPSystem

rpm -ivh http://download.ispsystem.com/repo/centos/release/6/x86_64/mod_rpaf-0.8.2-1.el6.x86_64.rpm


Открываем файл конфигурации модуля:

nano /etc/httpd/conf.d/mod_rpaf.conf


В строке

RPAF_ProxyIPs


дописываем свой IP, пример

<IfModule mod_rpaf.c>
  RPAF_Enable       On
  RPAF_ProxyIPs     127.0.0.1 ::1 192.168.1.100
  RPAF_Header       X-Forwarded-For
  RPAF_SetHostName  On
  RPAF_SetHTTPS     On
  RPAF_SetPort      On
</IfModule>


Релодим веб-сервер

service httpd restart

 
 Нет комментариев    3   2017   apache   CentOS   CentOS 6   httpd   rpaf

Не удается удалить почтовый домен ISPmanager Lite v5

Не удается удалить почтовый домен ISPmanager Lite v5
При удалении почтового домена от обычного пользователя и от root'а возникала ошибка "Не удалось удалить 1 элемент(-а,-ов). Для получения подробностей наведите курсор на значок ошибки в строке таблицы." В логе

tailf /usr/local/mgr5/var/ispmgr.log

я также ничего понятного мне не обнаружил

Dec 19 13:45:05 [16235:5] libmgr ERROR Error: Type: 'date' Object: 'strptime' Value: ';2017'
Dec 19 13:45:05 [16235:4] libmgr EXTINFO Thread b2be64388ff637f0 finished
Dec 19 13:45:05 [16235:3] libmgr EXTINFO Start thread 
Dec 19 13:45:05 [16235:6] core_module INFO Request [mgrctl.][root] 'elid=webmail&func=afterinstall&out=text&xset.up=on'
Dec 19 13:45:05 [16235:6] backtrace EXTINFO ??? (lib/libmgr.so.5.131.1 + 0x0) [*0x2b5928b65049]
Dec 19 13:45:05 [16235:6] backtrace EXTINFO mgr_date::AccurateDateTime::AccurateDateTime(std::string const&) (lib/libmgr.so.5.131.1 + 0x99) [*0x2b5927953fd5]
Dec 19 13:45:05 [16235:6] backtrace EXTINFO ??? (lib/libbase.so.5.131.1 + 0x0) [*0x2b592872ecde]
Dec 19 13:45:05 [16235:6] backtrace EXTINFO isp_api::InternalCall(isp_api::BaseConnection const&, isp_api::Authen const&, isp_api::Action const&) (lib/libispapi.so.5.131.1 + 0x53e) [*0x2b59278e9007]
Dec 19 13:45:05 [16235:6] backtrace EXTINFO ispcore::ProcessRequest::ProcessApi1() (lib/libbase.so.5.131.1 + 0x207) [*0x2b59278ebd78]
Dec 19 13:45:05 [16235:6] backtrace EXTINFO ispcore::ProcessRequest::operator()() (lib/libbase.so.5.131.1 + 0xf78) [*0x2b59278ecddd]
Dec 19 13:45:05 [16235:5] proc EXTINFO Run '/bin/sh -c sbin/pkginfo.sh\ show\ ispmanager-pkg-httpd' pid 16361
Dec 19 13:45:05 [16235:6] backtrace EXTINFO mgr_thread::Handle::Impl<mgr_thread::List::Impl<ispcore::ProcessRequest> >::run() (lib/libbase.so.5.131.1 + 0x4d) [*0x2b5928b0d34e]
Dec 19 13:45:05 [16235:6] backtrace EXTINFO ??? (lib/libmgr.so.5.131.1 + 0x0) [*0x2b59263a7aa1]
Dec 19 13:45:05 [16235:6] backtrace EXTINFO ??? (/lib64/libpthread.so.0 + 0x0) [*0x2b59266a5aad]
Dec 19 13:45:05 [16235:6] backtrace EXTINFO ??? (/lib64/libc.so.6 + 0x6d) [*(nil)]
Dec 19 13:45:05 [16235:6] libmgr ERROR Error: Type: 'date' Object: 'strptime' Value: ';2017'

Проблема была в том, что на данном сервере производилась миграция с ISPmanager v4 на ISPmanager v5 (используемая ОС на сервере CentOS 6 64 bit) и от "предка" остался почтовый сервер postfix, который не очень хорошо таки работает на 5ой версии панели. Очень часто возникают проблемы с таблицей пользователей, правами на ящики - муть одним словом. Использовать API панели для удаления почтового домена - об этом я не подумал сразу и решил стрелять по воробьям из пушки. Хотя тут это было дозволено, клиент согласился изменить почтовый сервер с postfix на exim с удалением всех почтовых доменов и ящиков. Сперва я пробовал обновить саму панель - вдруг баг и обнова поможет, но нет. Апдейт меня не спас, но зато появилась свежая версия панели:

yum update ispmanager-*

И перезапускаем панельку

/usr/local/mgr5/sbin/mgrctl -m ispmgr exit

Дальше я решил аккуратно сносить пакеты которые мешают системе, аккуратно потому, что может как понестись по зависимостям...будет плохо :-) Выполнил следующие действия без вреда здоровью пациента:

yum remove ispmanager-pkg-dovecot

С зависимостями соглашаемся и удаляем - там нет ничего эдакого. Далее сносим dovecot

yum remove dovecot

Тут также проблем нет, соглашаемся. А вот самое интересное - сносить postfix таким образом не рекомендую - слишком много хочет удалять по зависимостям. Поэтому поумерим свой аппетит. Далее все просто - переходим в панель управления в раздел Возможности - Почтовый сервер (SMTP/POP3/IMAP) и выбираем нужный список пакетов. В моем случае это был exim, dovecot, opendkim, roundcube. После у меня все что нужно поднялось и заработало. раздел  Почтовые домены был девственно пуст, но это было и к лучшему. Не считаю данный способ правильным, т.к. все же не опробовал через api решить, но зато помогло и может претендовать на вариант решения данной проблемы.

ISPmanager v5 Lite проблема с подключением по  FTP Handshake failed (40)

ISPmanager v5 Lite проблема с подключением по  FTP Handshake failed (40)
После долгого запоя перерыва, возобновляю публикацию заметок. В черновиках скопилась куча всего, но лень было аккуратно все разобрать и структурировать, но надо! Один из клиентов после установки ISPmanager v5 Lite на CentOS 6 64 bit  столкнулся со следующей проблемой при подключении к  FTP- серверу В FileZilla красовались следующие ошибки

Статус:    Соединение установлено, ожидание приглашения...
Статус:    Инициализирую TLS...
Ошибка:    От сервера получено TLS оповещение: Handshake failed (40)
Ошибка:    Невозможно подключиться к серверу
Статус:    Ожидание повтора...

В качестве FTP- сервера по дефолту был proftpd. В его логе были найдены признаки преступления:

tailf /var/log/proftpd/tls.log 

Oct 27 12:40:30 mod_tls/2.4.2[25607]: using default OpenSSL verification locations (see $SSL_CERT_DIR environment variable)
Oct 27 12:40:30 mod_tls/2.4.2[25607]: TLS/TLS-C requested, starting TLS handshake
Oct 27 12:40:30 mod_tls/2.4.2[25607]: unable to accept TLS connection: protocol error: 
 (1) error:1408A0C1:SSL routines:SSL3_GET_CLIENT_HELLO:no shared cipher
Oct 27 12:40:30 mod_tls/2.4.2[25607]: TLS/TLS-C negotiation failed on control channel
Oct 27 12:40:35 mod_tls/2.4.2[25608]: using default OpenSSL verification locations (see $SSL_CERT_DIR environment variable)
Oct 27 12:40:35 mod_tls/2.4.2[25608]: TLS/TLS-C requested, starting TLS handshake
Oct 27 12:40:35 mod_tls/2.4.2[25608]: unable to accept TLS connection: protocol error: 
 (1) error:1408A0C1:SSL routines:SSL3_GET_CLIENT_HELLO:no shared cipher
Oct 27 12:40:35 mod_tls/2.4.2[25608]: TLS/TLS-C negotiation failed on control channel

Решение было найдено на оф.форуме 
1. Генерируем сертификат для TLS шифрования. Если используем кошерный сертификат (к примеру Let's Encrypt вполне подойдет), то данный пункт пропускаем.

openssl req -x509 -nodes -newkey rsa:2048 -keyout /etc/pki/tls/certs/proftpd.pem -out /etc/pki/tls/certs/proftpd.pem -days 1825


2. В конфиге - /etc/proftpd.conf раскомментируем строки:

TLSEngine                   on
#TLSRequired                on
TLSRSACertificateFile       /etc/pki/tls/certs/proftpd.pem
TLSRSACertificateKeyFile    /etc/pki/tls/certs/proftpd.pem
TLSCipherSuite              ALL:!ADH:!DES
TLSOptions                  NoCertRequest
TLSVerifyClient             off
TLSLog                      /var/log/proftpd/tls.log


Примечание: Если вы указали опцию TLSRequired on, то для подключения к FTP возможен только доступ с использованием TLS (другие пользователи с старыми FTP клиентами не поддерживающими TLS подключиться не смогут); но закомментировав эту опцию или установим значение в TLSRequired off к FTP можно будет подключаться и используя TLS и обычным способом. 3. Далее перезапускаем proftpd и радуемся жизни

service proftpd restart

Также, в теории эту проблему можно обойти создав в FileZilla обычное подключение без шифрования

UPD от 9 апреля 2018:

Можно вообще отключить TLS закомментировав строку

TLSEngine                   on

[Errno 14] PYCURL ERROR 22 — «The requested URL returned error: 404 Not Found»

При установке/обновлении какого-либо пакета в CentOS 6 отображает ошибку:

Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: centos.ip-connect.vn.ua
 * epel: mirror.uni-trier.de
 * extras: centos.hitme.net.pl
 * remi: mirror.23media.de
 * remi-php54: mirror.23media.de
 * remi-safe: mirror.23media.de
 * updates: centos.ip-connect.vn.ua
http://centos.ip-connect.vn.ua/6.4/os/x86_64/repodata/repomd.xml: [Errno 14] PYCURL ERROR 22 - "The requested URL returned error: 404 Not Found"
Trying other mirror.
http://centos.itt-consulting.com/6.4/os/x86_64/repodata/repomd.xml: [Errno 14] PYCURL ERROR 22 - "The requested URL returned error: 404 Not Found"
Trying other mirror.
http://centos.slaskdatacenter.com/6.4/os/x86_64/repodata/repomd.xml: [Errno 14] PYCURL ERROR 22 - "The requested URL returned error: 404 Not Found"
Trying other mirror.
http://ftp.colocall.net/pub/centos/6.4/os/x86_64/repodata/repomd.xml: [Errno 14] PYCURL ERROR 22 - "The requested URL returned error: 404 Not Found"
Trying other mirror.


Решение достаточно простое. Если установлен репозиторий rpmforge то отрубаем его к чертям:

cd /etc/yum.repos.d/
mkdir off
mv rpmforge.repo /etc/yum.repos.d/
mv mirrors-rpmforge* /etc/yum.repos.d/


Очищаем метаданные

yum clean all

И вуаля, проблема с [Errno 14] PYCURL ERROR 22 - "The requested URL returned error: 404 Not Found" элементарно решена
 1 комментарий    3   2017   CentOS 6   Error   PYCURL   yum

Ошибка: Can’t reconfig DNS server. Make sure DNS service started and right configure ISPmanager v4 Lite

После удаления почтового домена может возникнуть ошибка "Can't reconfig DNS server. Make sure DNS service started and right configure" Поправить можно следующим образом для CentOS/RedHat 6:

rndc-confgen -a
chmod 0644 /etc/rndc.key

Далее перезапускаем сервис

service named restart

   

Скрипт блокировки «лишних» поисковых роботов

Достаточно часто роботы различных поисковиков создают повышенную нагрузку на сервер (да-да, такие бывают кроме Google, Yandex, Bing, Yahoo), доводя LA до огромных значений. В данной статье приведен скрипт для создания записи в .haccess сайта для панели управления ISPmanager. Им очень удобно пользоваться, если сайтов десятки. Собственно вот сам скрипт:

#!/bin/bash
#spisok
ls /var/www/*/data/www/*/.htaccess > /tmp/HDdsfs.txt
for i in $(cat /tmp/HDdsfs.txt); do
cat >> $i << "EOF"
#Blokirovka botov
SetEnvIfNoCase User-Agent JS-Kit bad_bot
SetEnvIfNoCase User-Agent PostRank bad_bot
SetEnvIfNoCase User-Agent Python-urllib bad_bot
SetEnvIfNoCase User-Agent UnwindFetchor bad_bot
SetEnvIfNoCase User-Agent facebookexternalhit bad_bot
SetEnvIfNoCase User-Agent TweetmemeBot bad_bot
SetEnvIfNoCase User-Agent Butterfly bad_bot
SetEnvIfNoCase User-Agent MFE_expand bad_bot
SetEnvIfNoCase User-Agent Java bad_bot
SetEnvIfNoCase User-Agent Summify bad_bot
SetEnvIfNoCase User-Agent MetaURI bad_bot
SetEnvIfNoCase User-Agent FlipboardProxy bad_bot
SetEnvIfNoCase User-Agent ScribdReader bad_bot
SetEnvIfNoCase User-Agent RockMelt bad_bot
SetEnvIfNoCase User-Agent InAGist bad_bot
SetEnvIfNoCase User-Agent NING bad_bot
SetEnvIfNoCase User-Agent TweetedTimes bad_bot
SetEnvIfNoCase User-Agent PaperLiBot bad_bot
SetEnvIfNoCase User-Agent Library bad_bot
SetEnvIfNoCase User-Agent Ezooms bad_bot
SetEnvIfNoCase User-Agent strawberryj bad_bot
SetEnvIfNoCase User-Agent Scooper bad_bot
SetEnvIfNoCase User-Agent Ahrefs bad_bot
SetEnvIfNoCase User-Agent Spider bad_bot
SetEnvIfNoCase User-Agent None bad_bot
SetEnvIfNoCase User-Agent EventMachine bad_bot
SetEnvIfNoCase User-Agent aiHitBot bad_bot
SetEnvIfNoCase User-Agent SolomonoBot bad_bot
SetEnvIfNoCase User-Agent SearchBot bad_bot
SetEnvIfNoCase User-Agent Wget bad_bot
SetEnvIfNoCase User-Agent Crawler bad_bot
SetEnvIfNoCase User-Agent bing bad_bot
SetEnvIfNoCase User-Agent Semrush bad_bot
SetEnvIfNoCase User-Agent MJ12 bad_bot
SetEnvIfNoCase User-Agent PWeBot bad_bot
SetEnvIfNoCase User-Agent LinksManager.com_bot bad_bot
SetEnvIfNoCase User-Agent SputnikBot bad_bot
SetEnvIfNoCase User-Agent SputnikBot/2.3 bad_bot

Order Allow,Deny
Allow from all
Deny from env=bad_bot

#Blokirovka botov

EOF
done
rm -f /tmp/HDdsfs.txt

В строках

SetEnvIfNoCase User-Agent SputnikBot/2.3 bad_bot


указано какие юзерагенты блокировать. Поэтому кто-то добавит/удалит свое - в списке есть "роботы" facebook и twitter, поэтому кому они нужны - удалите данные записи.
Ранее Ctrl + ↓