Публикации

Не уходит почта с Ubuntu 12.04 Exim4, куда копать?

У меня проблема — помогите, пожалуйста.
Есть vps-сервер Ubuntu 12.04, на нем хостятся несколько сайтиков. Сайтики на wordpress. Раньше почта для них ходила при помощи msmtp, для него был прописан Google Apps Mail аккаунт с аутентификацией и т.п.

Появилась необходимость отправлять почту с каждого сайтика отдельно, от каждого отдельного адреса. Для этого был снесен msmtp и установлен Exim4 только для отправки писем. При этом происходят чудеса — из командной строки письма уходят — при помощи
echo «This is a test.» | mail -s Testing mail@example.com
а вот при помощи
/usr/sbin/sendmail -t -i Test > Test > EOT
почта фризится и в логах Exim пишется: unroutable address, соответственно, почта не уходит.
Подскажите, пожалуйста, куда копать?

Какой правильный iptables позволит не зацикливаться при выходе через проброшенный порт?

Лежит на сервере-хосте горка KVM-гостей, гости ломятся через 80-й порт наружу, что бы получить апдейты пакетов rpm/yum..., вытянуться curl и т.д. Но все эти запросы запиливаются к локальному http­-серверу по ряду причин в iptables хост-машины:
iptables -t nat -I PREROUTING -p tcp --dport 80 -j DNAT --to-destination 10.10.10.110:80
Это выглядит как-то так:

+----------------------------+ | Debian KVM-Host | iptables -t nat -I PREROUTING -p tcp \ | eth0: 5.5.5.5 | --dport 80 -j DNAT --to-destination 10.10.10.110:80 | vmbr1: 10.10.10.1 | +--------+-------------------+ | +--------+------------+ | nginx 10.10.10.110 | +---------------------+ | | | | | | +---------------------+ | | +----| Guest1 10.10.10.123 | | | +---------------------+ | | +---------------------+ | +---| Guest1 10.10.10.122 | | +---------------------+ | +---------------------+ +---| Guest1 10.10.10.121 | +---------------------+

Допустим, дергаю я wget yandex.ru с Guest3 10.10.10.123, а у меня в nginx-прокси на 10.10.10.110 все запросы незнакомые перенаправляются на Guest2 10.10.10.122, а на нем — Plesk, и вот мне этот самый плеск сообщает, что страница по умолчанию для этого сервера… и отдает мне её. Да и сам 10.10.10.110 все попытки выйти из сети, согласно правилу хост-машины, через себя пропускает и на 10.10.10.122 взад шлет. Сами интернет-адреса правильно ресолвятся (другие порты), но кого это интересует.

Так вот, как «разлупить» мне эту ситуацию — не вразумею. Помогите, пожалуйсталюдидобрые, с таким правилом, что бы все внешние адреса !10.10.10.0/24 слались через NAT и во вне хост-машины.

nginx+php-fpm+freebsd логи

Всем привет.
После недели мучений я сдаюсь. :)
Мне нужна помощь в настройке связки nginx+php-fpm+freebsd
Конкретнее, у меня проблема с логами ошибок. Они, тупо, не пишутся.
вводные данные таковы.
freebsd 8.3-RELEASE
PHP 5.4.7 (fpm-fcgi)
nginx version: nginx/1.2.4

конфиг FPM
[global] pid = run/php-fpm.pid error_log = log/php-fpm.log log_level = notice emergency_restart_threshold = 5 emergency_restart_interval = 2 process_control_timeout = 2 daemonize = yes events.mechanism = kqueue [puser] listen = /usr/local/www/host/tmp/php-fpm.sock; listen.backlog = -1 listen.allowed_clients = 127.0.0.1 listen.owner = puser listen.group = puser listen.mode = 0666 user = puser group = puser pm = dynamic pm.max_children = 30 pm.start_servers = 2 pm.min_spare_servers = 2 pm.max_spare_servers = 5 pm.max_requests = 50 slowlog = /usr/local/www/host/logs/fpm.log.slow request_slowlog_timeout = 1s rlimit_files = 1024 rlimit_core = 0 chroot = /usr/local/www/host/ catch_workers_output = yes env[HOSTNAME] = $HOSTNAME env[TMP] = /tmp env[TMPDIR] = /tmp env[TEMP] = /tmp php_admin_value[upload_tmp_dir] = /tmp php_admin_value[cgi.fix_pathinfo] = 0 php_admin_value[date.timezone]= 'Europe/Moscow' php_admin_value[memory_limit] = 320m php_admin_value[max_execution_time] = 180
Читать дальше

Как правильно перенести symfony 2 проект на рабочий сервер?

Вопрос в следующем, создал проект локально. Стал перемещать на хостинг, кладу все папки проекта (включая web) в public_html, в итоге получаю, что сайт работает через www.my-domain.ru/web/app.php/. А хочется www.my-domain.ru. Так же можно app.php не писать, эффект будет аналогичен, при этом при переходе по ссылкам в пределах сайта уже app.php не нужно вписывать. Локально попробовал web переименовать в public_html — взлетело. Заливаю по другому весь проект, все папки за исключением web кладу рядом с public_html на хостинге, все что было в web кидаю в public_html. www.my-domain.ru/app.php/ — работает, убираю app.php — не работает, не найден индексный файл. Делаю хитрее в .htaccess вписываю строку DirectoryIndex app.php — отлично, главная страница открывается по адресу www.my-domain.ru, но все остальные ссылки не работают, все работает если руками перед ними вписывать app.php. Собственно я так понимаю symfony при правильно работе неявно подставляет app.php, но в такой расположении папок не работает. Вопрос к знатокам, как исправить? Может я зря папки положил на одном уровне с public_html, а надо было по другому как то замапить web? Разговор идет о shared хостинге, но есть ssh консоль.

Есть ли недорогие Хранилища бэкапа по NFS (или подобные) но не фтп?

День добрый, беда такая, вдруг ни с того ни с сего поломался бэкап на фтп
выполнялось монтирование фтп каталога вот так
# curlftpfs login:passwd@backup.server.ru /mnt/backup

всё было нормально с дофига времени, и вот тут случилась беда, никак не могу победить

fuse: failed to open /dev/fuse: Permission denied

Все мануалы, весь интернет переустановка всего и вся тест с правами с группами, в общем явно что-то поломалось и никак не хочет лечиться

городить велосипед из консольных фтп клиентов уж совсем не хочется, просто хочется вылить в каталог данные и забыть…
а не выдумывать различные
ncftpput –R –v –u «username» ftp.nixcraft.biz /nixcraft/forum /tmp/phpbb
или что-то такое

#!/bin/bash lftp -u username,password ftphost

Пропажа данных и проблемы с сетью в Windows Server 2008 R2

Обнаруживаются большие проблемы с Windows Server 2008 R2. Сразу скажу — я в деле разбираюсь не очень, а кому-то разбираться нужно. Пригласить кого-то со стороны — возможности нет (глушь).

У нас стоит «сервер» (более-менее мощный компьютер, серверным оборудованием внутри и не пахнет), на котором крутится ОС (см. выше), на которой крутится сервер терминалов, в котором пользователи работают с 1С (файловой) и еще парой программ. Так же вертится SQL Server 2005 Express. Пользователей всего — не более 30. У всех (наверное) — статически прописаны IP, шлюз и DNS-сервера провайдера. Все это лежит за ADSL-модемом D-Link 2540U, на котораом проброшены порты на наш дорогой сервер — для работы снаружи.

Итак, сначала пропали ярлыки в главном меню, затем пропали часть данных на диске — это еще ладно, восстановил. Дальше — больше. Начались проблемы с сетью: после перезагрузки (до моего прихода стоял Hyper-V — неясно зачем, решил его убрать. Теперь понял, что если что-то работает, то лучше ничего не трогать) сеть перестала видеть комп по символьному имени, по IP он нормально пинговался. Но! При попытке «пингануть» кого-то с сервер, пинг выдавал, то «Общую ошибку», то «General failure», включая пинги на 127.0.0.1. Удалил роль «Маршрутизация и удаленный доступ» — сам себя он увидел, но в остальном ничего не поменялось. Что ж, поставил на карту автоопределение сетевых параметров — пинги стали доходить и уходит, сервер появился в сети. Все бы хорошо, но IP динамический, а установить статику модем не позволял из-за кривой прошивки — просто не сохраняет значения и все тут (обновлю, как найду настройки провайдера). Вернул на статику в сетевой, какими-то манипуляциями добился от пинга «Заданная сеть недоступна». Сбрасывал Arp-ы, кешы, роуты — все так же. Вернул на динамический, обновил пользователям RDP-файлы, поменял проброс портов на модеме. Вот сегодня IP сменился — и по новой… Что делать — ума не приложу. И после перезагрузки — снова пропажа файлов, на этот раз ярлыками и инсталляторами дело не обошлось, потерлись базы 1С, стал грешить на жесткий — оказалось, что это аппаратный Raid 1. Помимо него присутствуют WDC WD20EARS-00MVWB0 и WDC WD10EALX-009BA0 — подозреваю, в raid входят подобные.
Про то, что не устанавливаются обновления — я уже молчу (unknown error code 800070005).
Читать дальше

Не проходят соединения SSL/TLS из PHP?

Сервер — VDS (Debian 6.0)

Версия PHP 5.3.16-1~dotdeb.0

Проблема:

Все попытки отправить письмо из PHP скриптов, посредством smtp.gmail.com через SSL/TLS соединение заканчиваются ошибкой.

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

PHP работает с подключенным модулем openssl

Из phpinfo:

SSL Version OpenSSL/0.9.8o

и

OpenSSL support enabled
Читать дальше

Как живет ProFTPd за NAT-ом на панели Plesk?

То, что раньше было FTP сервером 175.149.11.09 в панеле Plesk
теперь стало сервером с адресом 10.10.11.3 с проброшенным наружу портом.

MasqueradeAddress 175.149.11.09
Может это? ProFTPd этого не понять: указать в конфигах
не разрешает политика панели (до первого рестарта)

При сохранении текущих настроек и с таким правилом:
iptables -t nat -I PREROUTING -p tcp --dport 721 -j DNAT --to-destination 10.10.11.3:21
ProFTPd материться таким затейливым образом:
proftpd[12905] 127.0.0.1: fatal: Socket operation on non-socket

Как разрулить адрес, не дожидаясь обновления 8.8.8.8?

Ситуация следующая: меняем IP хостинг.площадки на Hetzner. NS — остаются те же, меняется только A-запись.
Мгновения и nameserver Hetzner отвечает правильно, но TTL обещает, что по старому адресу будут заходить еще
TTL-часов, пока не разнесется весть по интернету и не истечет тот самый TTL.

Как мне на локальной машине (WinXP) настоять на своем «разруливании» адреса?
Нужен «карманный» DNS или есть что-то типа public hetzner dns, а может какой hosts-файл?

Как настроить iptables, что бы из локальной в глобальную ходить?

Имеется один паблик IP и сеть из виртуальных машин на Debian
# network interface settings auto lo iface lo inet loopback # device: eth0 auto eth0 iface eth0 inet static address 175.219.59.209 gateway 175.219.59.193 netmask 255.255.255.224 post-up echo 1 > /proc/sys/net/ipv4/conf/eth0/proxy_arp
А вот — моя сеть в двух вариантах настройки:
auto vmbr0 iface vmbr0 inet static address 10.10.0.1 netmask 255.255.0.0 bridge_ports none bridge_stp off bridge_fd 0 post-up ip route add 10.10.0.1/24 dev vmbr0
Тут я могу себе позволить ходить в Интернет, обновлять пакеты и прочие радости грешной жизни,
но в упор не вижу своих соседей по сети 10.10.11.0/24 (все запросы уходят в интернет)

А вот в этом варианте я могу замечательно общаться с соседними машинами 10.10.11.0/24, но никакого
интернета:
auto vmbr1 iface vmbr1 inet static address 10.10.0.1 netmask 255.255.255.0 bridge_ports none bridge_stp off bridge_fd 0 post-up echo 1 > /proc/sys/net/ipv4/ip_forward post-up iptables -t nat -A POSTROUTING -s '10.10.0.0/24' -o vmbr1 -j MASQUERADE post-down iptables -t nat -D POSTROUTING -s '10.10.0.0/24' -o vmbr1 -j MASQUERADE
Вот правило, придуманное где-то между 5 и 6 часами ночи/утра:
iptables -t nat -A POSTROUTING! -d '10.10.11.0/24' -j SNAT --to-source '175.219.59.209'
Оно описывает мой внутренний порыв отсылать все пакеты с адресами вне сети 10.10.11.0/24 через NAT на eth0.

А как правильно это сделать?