1

Здравствуйте!

Уважаемые администраторы, специалисты Linux. Пожалуйста, нужна Ваша помощь будущему администратору ))) !!!

Ситуация такова: Нужно поднять OTRS. Для єтого:
1. Установил CentOS
2. Настроил прокси
3. Установил и настроил Apache

На данный момент работаю над Exim!
Первая проблема: Пытаюсь переключить MTA со стандартных (postfix or sendmail) на exim, после чего удалить стандартные!
Для этого хочу использовать system-switch-mail, yum не дал возможность установить – не работает прокси. Почему – не знаю! В самом начале еще при установке Centos мной было внесено настройки для работы прокси, как результат все работало. В течении настроек по Apache и некоторых по exim - нечего не трогал в плане ДНС и ДНСР ... Вот что выдает:

[puple@ticketing ~]$ sudo wget mail.ru
[sudo] password for puple:
--2011-01-17 03:38:55--  http://mail.ru/
Распознаётся proxy-01.host.dom.com... сбой: Временный сбой в разрешении имен.
wget: невозможно распознать адрес `proxy-01.host.dom.com'

sudo wget mail.ru - использовал как проверку прокси! Неделю назад все  работало, в данном направлении не каких настроек не вносил, про что и говорил раньше ...

Что за проблема и как ее можно исправить ???

Спасибо!

2

Spartak пишет:

sudo wget mail.ru - использовал как проверку прокси! Неделю назад все  работало, в данном направлении не каких настроек не вносил, про что и говорил раньше ...

а зачем sudo? wget работает и от обычного пользователя, для wget отдельно можно настроить proxy смотреть надо в сторону wgetrc, для yum смотрим man yum, есть строчка ждля работы через proxy а так же прописываем переменные в .bash_profile =)
Что с iptables? Прокси прозрачный? В /etc/sysctl.conf значение net.ipv4.ip_forward равно 1? nslookup proxy-01.host.dom.com что скажет? а так же dig proxy-01.host.dom.com =)

It is good day to die ...
MS Windows 10
Заметки о главном...

3 (17.01.2011 09:41:46 отредактировано Spartak)

i2ks - спасибо за ответ! За 10 минут до твоего сообщения случайно увидел ошибку - внес неправильный адрес днс в /etc/sysconfig/network/ ошибся - вместо 51 написал 61 и (3 дня парился над проблемой .... )


Вот вторая проблема тепер,  с хостнеймом! В host.conf кажется, внес правильный хостнейм mail.host.dom.com как пример. Во всех остальных файлах тоже. При вводе команды hostname выводит все правильно - mail.host.dom.com, при hostname -d   host.dom.com. Но вот когда ввожу с другого комп с cmd: ping -a 192.168.71.101, выводит мой домен и еще добавляет другой как пример mail.host.dom.com.dom2.com !!! Во всех файлах изменил и добавил правильный а он мне выдает dom2.com. Откуда он это берет???

Сервер является клиентом, получает адрес по ДНСР.

4

Spartak пишет:

Во всех файлах изменил и добавил правильный а он мне выдает dom2.com. Откуда он это берет???

из кеша наверное. там bind есть? (где пинг вводите).
на дефолтных настройках bind сохраняет имя хоста сутки ЕМНИП.

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

5

Spartak пишет:

Вот вторая проблема тепер,  с хостнеймом! В host.conf кажется, внес правильный хостнейм mail.host.dom.com как пример. Во всех остальных файлах тоже. При вводе команды hostname выводит все правильно - mail.host.dom.com, при hostname -d   host.dom.com. Но вот когда ввожу с другого комп с cmd: ping -a 192.168.71.101, выводит мой домен и еще добавляет другой как пример mail.host.dom.com.dom2.com !!! Во всех файлах изменил и добавил правильный а он мне выдает dom2.com. Откуда он это берет???

Запустите system-config-network-tui и убедитесь, что имя хоста прописано правильно. Или же пропишите правильное

6 (22.01.2011 11:17:26 отредактировано Spartak)

Здравствуйте!

Нужна Ваша помощь!
Перешел к установке Courier-imap+Squirrelmail! Установил.

Пытаюсь настроить:
1. Courier-imap: (нужны минимальные настройки)

В каталоге /usr/lib/courier-imap/etc/imapd редактировал не много:
ADDRESS=127.0.0.1
PORT=143
MAILDIRPATH=Maildir
MAILDIRPATH=/var/spool/mail

В каталоге /etc/authlib/authdaemonrc редактировал:
authmodulelist="authpam"
authmodulelistorig="authpam"


2. Squirrelmail (нужны минимальные настройки)
Раньше настройки вносил через команду /usr/share/squirrelmail/config/conf.pl
Но теперь выдает:

WARNING:
  The file "config/config.php" was found, but it is for
  an older version of SquirrelMail. It is possible to still
  read the defaults from this file but be warned that many
  preferences change between versions. It is recommended that
  you start with a clean config.php for each upgrade that you
  do. To do this, just move config/config.php out of the way.

Continue loading with the old config.php [y/N]? y

Do you want me to stop warning you [y/N]?


Я решил внести настройки через   /etc/squirrelmail/config.php
Вот пример конфига (та часть куда вносил изминения):

$org_name      = "SquirrelMail";
$org_logo      = SM_PATH . 'images/sm_logo.png';
$org_logo_width  = '308';
$org_logo_height = '111';
$org_title     = "SquirrelMail $version";
$signout_page  = '';
$frame_top     = '_top';

$provider_uri     = 'http://domain.com';

$provider_name     = 'SquirrelMail';

$motd = "";

$squirrelmail_default_language = 'en_US';

$domain                 = 'domain.com';
$imapServerAddress      = '127.0.0.1';
$imapPort               = 143;
$useSendmail            = true;
$smtpServerAddress      = '127.0.0.1';
$smtpPort               = 25;
$sendmail_path          = '/usr/sbin/sendmail';
$pop_before_smtp        = false;
$imap_server_type       = 'uw';
$invert_time            = false;
$optional_delimiter     = 'detect';

$default_folder_prefix          = 'INBOX.';

Посмотрите пожалуйста - может что то еще нужно внести.

3. Нужна Ваша помощь еще в добавке SquirrelMail к Apache.
В каталоге /etc/httpd/conf/httpd.conf нужно добавить виртуальный хост на порт 8888 - но я не знаю как: вот что я сделал:
кстати Listen 80 - у меня apache в начале конфига ...

NameVirtualHost *:8888

<VirtualHost 192.168.71.101:8888> - это динам адрес моего сервера
    ServerName host.it.domain.com
    ServerAdmin qwerty@domain.com
    DocumentRoot /usr/share/squirrelmail
    </VirtualHost>

В каталоге /etc/httpd/conf.d/squirrelmail.conf было содержимое:

#
# SquirrelMail is a webmail package written in PHP.
#

Alias /webmail /usr/share/squirrelmail

я добавил:

<Directory /usr/share/squirrelmail>
Options Indexes FollowSymLinks
<IfModule mod_php4.c>
php_flag register_globals off
</IfModule>
<IfModule mod_php5.c>
php_flag register_globals off
</IfModule>
<IfModule mod_dir.c>
DirectoryIndex index.php
</IfModule>

# access to configtest is limited by default to prevent information leak
<Files configtest.php>
order deny,allow
deny from all
allow from 127.0.0.1
</Files>
</Directory>


<VirtualHost 192.168.71.101:8888>
ServerName host.it.domain.com
ServerAdmin qwerty@domain.com
DocumentRoot /usr/share/squirrelmail
</VirtualHost>

и скопировал это файл еще в /etc/squirrelmail/squirrelmail.conf

но как результат у меня не заходит по http://192.168.71.101:8888/squirrelmail/src/login.php

Сам апач по адресу http://192.168.71.101:80 - работает


Уважаемые специалисты, администраторы, кто работал с этим - помогите: подскажите что не так отредактировал и как можно детальней опишите что нужно и как ???!!!

7

В squirrelmail ввожу имя и пароль:
Выдает ошибку: ERROR: Connection dropped by IMAP server.
смотрю логи: sudo tail /var/log/maillog

Jan 24 18:49:06 ticketing imapd: Connection, ip=[::ffff:127.0.0.1]
Jan 24 18:49:06 ticketing imapd: spartak: Account's mailbox directory is not owned by the correct uid or gid
Jan 24 18:54:02 ticketing imapd: Connection, ip=[::ffff:127.0.0.1]
Jan 24 18:54:02 ticketing imapd: spartak: Account's mailbox directory is not owned by the correct uid or gid

Что это может быть ???

8

Права проверяйте

9

В Exim: сделал:
local_delivery:
    driver = appendfile
    delivery_date_add
    directory = /home/${local_part}/Maildir
    maildir_format

В Courier-imap:
MAILDIRPATH=Maildir
MAILDIRPATH=/home/${local_part}/Maildir – взял как бы с екзима путь!

Права задал все: (ну насколько я понял 777)

sudo chmod 777 /home/${local_part}/Maildir

10 (24.01.2011 20:46:49 отредактировано Hrafn)

Spartak пишет:

Jan 24 18:54:02 ticketing imapd: spartak: Account's mailbox directory is not owned by the correct uid or gid

11 (24.01.2011 20:52:06 отредактировано Spartak)

Hrafn

объясните пожалуйста что вы имеете ввиду ???

12

у каждого пользователя и группы есть свой собственный уникальный идентификатор, uid и gid соответственно...
так вот, в логи ругается, что директория почтового ящика аккаунта не обладает нужным uid или gid
кроме разрешений на запись или чтение, есть еще и такое понятие, как владелец файла

13

Hrafn, вы меня извините - за возможно глупые вопросы - я только начинаю разбираться в среде линукс!
моя директория  /home/${local_part}/Maildir
смотрю "владельцев файла"

[spartak@ticketing ~]$ ls -l
итого 284
drwxrwxr-x 3 spartak spartak   4096 Дек 20 03:13 exim
-rw-r--r-- 1 root        root        114906 Янв 17 08:21 index.html
-rw-rw-r-- 1 spartak spartak 112508 Янв 19 04:21 index.html.1
drwx------ 2 spartak spartak   4096 Янв 22 12:12 Mail
drwxrwxrwx 5 spartak spartak   4096 Янв 23 18:22 Maildir
drwxrwxr-x 7 spartak spartak   4096 Янв 21 19:08 rpm

3-4 столбец показывает что я есть владелец! Если я не прав вы меня извините пожалуйста!

14

да что ж вы извиняетесь-то ab все ж нормально, разберетесь со временем
давайте порассуждаем логически:
экзим принимает письмо и отправляет его в ящик, так?
так вот, чтобы можно было записать что-то в каталог, необходимо, чтобы у каталога были верно выставлены владелец и группа, кроме прав...
почитайте, какие права должны быть и выставьте нужные

15

Здравствуйте!

SquirrelMail Login: Ввожу имя и пароль:
ОШИБКА
Your session has expired, but will be resumed after logging in again.

log:

Jan 28 18:57:21 ticketing imapd: Connection, ip=[::ffff:127.0.0.1]
Jan 28 18:57:21 ticketing imapd: LOGIN, user=spartak, ip=[::ffff:127.0.0.1], port=[39983], protocol=IMAP
Jan 28 18:57:21 ticketing imapd: LOGOUT, user=spartak, ip=[::ffff:127.0.0.1], headers=0, body=0, rcvd=46, sent=336, time=0

подскажите, что за проблема ???


по поводу предыдущей ошибки:
Jan 24 18:54:02 ticketing imapd: spartak: Account's mailbox directory is not owned by the correct uid or gid
Отключил:
IMAP_MAILBOX_SANITY_CHECK=0

16

Spartak пишет:

Your session has expired, but will be resumed after logging in again.

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

Spartak пишет:

Jan 28 18:57:21 ticketing imapd: Connection, ip=[::ffff:127.0.0.1]
Jan 28 18:57:21 ticketing imapd: LOGIN, user=spartak, ip=[::ffff:127.0.0.1], port=[39983], protocol=IMAP
Jan 28 18:57:21 ticketing imapd: LOGOUT, user=spartak, ip=[::ffff:127.0.0.1], headers=0, body=0, rcvd=46, sent=336, time=0

ну. всё хорошо. вы вошли и сразу вышли. вопрос: вы КУДА вошли?

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

17

drBatty,

насколько я понимаю - Courier-imap должен был зайти в директорию пользователя и забрать от туда почту!
В моем случае директория была прописана аналогично как в екзиме: (как я уже писал): куда екзим присылает мне почту:

В Exim:
local_delivery:
    driver = appendfile
    delivery_date_add
    directory = /home/${local_part}/Maildir
    maildir_format
В Courier-imap:
MAILDIRPATH=/home/${local_part}/Maildir

в чем я неправ ???

18

Spartak, честно? не знаю.
ЗЫЖ я-бы во всём разобрался за 5 минут глянув логи, которые ВЫ не привели.

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

19 (29.01.2011 17:18:48 отредактировано Spartak)

а какие логи нужны???

вот я всегда смотрю сюда - sudo tail  /var/log/maillog
Jan 29 16:13:36 ticketing imapd: Connection, ip=[::ffff:127.0.0.1]
Jan 29 16:13:36 ticketing imapd: LOGIN, user=spartak, ip=[::ffff:127.0.0.1], port=[35474], protocol=IMAP
Jan 29 16:13:36 ticketing imapd: LOGOUT, user=spartak, ip=[::ffff:127.0.0.1], headers=0, body=0, rcvd=46, sent=336, time=0

???

20

Spartak пишет:

а какие логи нужны???

а вы в /var/log/ никогда не смотрели?  ah  oO

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

21

drBatty, sorry

я в линуксе вот будет скоро месяц как работаю, и учусь, я понимаю что вопросы возможно глупые ... (((  ac
насколько я сейчас знаю в в /var/log/ много логов, я использовал только несколько например те которые связаны с екзимом, или httpd, то что настраивал ... 
... ?

22

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

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

23

Spartak пишет:

но как результат у меня не заходит по http://192.168.71.101:8888/squirrelmail/src/login.php
Сам апач по адресу http://192.168.71.101:80 - работает

Я с такой штукой не сталкивался, сделал проще - вообще не поднимал виртуальный сервер. Посчитал эту сущность лишней. Обошелся просто "виртуальным" калалогом. Какая разница, что вызывать  http://192.168.71.101:8888/squirrelmail или http://192.168.71.101/squirrelmail
Кстати, наверное, в твоем случае собака зарылась в довеске /src/login.php. Попробуй запустить белку без него, так, как я написал чуть выше.

Ну и еще - до кучи. Есть такой проект RoundCube. Интерфейс весьма напоминает более привычный юзерам outlook, а не жалкую пародию на mail.ru.

24

Cruiser78, спасибо за ответ ...

та я как то на 443 порт забросил squirrelmail ... все заработало ...

У меня сейчас другая проблема, связана с Courier-imap+squirrelmail не могу залогиниться и получить почту (саму проблему описывал выше ...)
Если знаешь как ее решить - подскажи!???

25

Spartak пишет:

Your session has expired, but will be resumed after logging in again.

в php.ini время сессии увеличить, или сбросить(смотри php.ini раздел Session). плагины ни какие не подключены к белки?

It is good day to die ...
MS Windows 10
Заметки о главном...

26

нет плагины не ставил - предположил что стандартные устан. по умолчанию - мне главное принять и отправить!


Вот мой Session, посмотрите что здесь можно увеличить или сбросить:

[Session]
; Handler used to store/retrieve data.
session.save_handler = files

; Argument passed to save_handler.  In the case of files, this is the path
; where data files are stored. Note: Windows users have to change this
; variable in order to use PHP's session functions.
;
; As of PHP 4.0.1, you can define the path as:
;
;     session.save_path = "N;/path"
;
; where N is an integer.  Instead of storing all the session files in
; /path, what this will do is use subdirectories N-levels deep, and
; store the session data in those directories.  This is useful if you
; or your OS have problems with lots of files in one directory, and is
; a more efficient layout for servers that handle lots of sessions.
;
; NOTE 1: PHP will not create this directory structure automatically.
;         You can use the script in the ext/session dir for that purpose.
; NOTE 2: See the section on garbage collection below if you choose to
;         use subdirectories for session storage
;
; The file storage module creates files using mode 600 by default.
; You can change that by using
;
;     session.save_path = "N;MODE;/path"
;
; where MODE is the octal representation of the mode. Note that this
; does not overwrite the process's umask.
session.save_path = "/var/lib/php/session"

; Whether to use cookies.
session.use_cookies = 1

; This option enables administrators to make their users invulnerable to
; attacks which involve passing session ids in URLs; defaults to 0.
; session.use_only_cookies = 1

; Name of the session (used as cookie name).
session.name = PHPSESSID

; Initialize session on request startup.
session.auto_start = 0

; Lifetime in seconds of cookie or, if 0, until browser is restarted.
session.cookie_lifetime = 0

; The path for which the cookie is valid.
session.cookie_path = /

; The domain for which the cookie is valid.
session.cookie_domain =

; Handler used to serialize data.  php is the standard serializer of PHP.
session.serialize_handler = php

; Define the probability that the 'garbage collection' process is started
; on every session initialization.
; The probability is calculated by using gc_probability/gc_divisor,
; e.g. 1/100 means there is a 1% chance that the GC process starts
; on each request.

session.gc_probability = 1
session.gc_divisor     = 1000

; After this number of seconds, stored data will be seen as 'garbage' and
; cleaned up by the garbage collection process.
session.gc_maxlifetime = 1440

; NOTE: If you are using the subdirectory option for storing session files
;       (see session.save_path above), then garbage collection does *not*
;       happen automatically.  You will need to do your own garbage
;       collection through a shell script, cron entry, or some other method.
;       For example, the following script would is the equivalent of
;       setting session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes):
;          cd /path/to/sessions; find -cmin +24 | xargs rm

; PHP 4.2 and less have an undocumented feature/bug that allows you to
; to initialize a session variable in the global scope, albeit register_globals
; is disabled.  PHP 4.3 and later will warn you, if this feature is used.
; You can disable the feature and the warning separately. At this time,
; the warning is only displayed, if bug_compat_42 is enabled.

session.bug_compat_42 = 0
session.bug_compat_warn = 1

; Check HTTP Referer to invalidate externally stored URLs containing ids.
; HTTP_REFERER has to contain this substring for the session to be
; considered as valid.
session.referer_check =

; How many bytes to read from the file.
session.entropy_length = 0

; Specified here to create the session id.
session.entropy_file =

;session.entropy_length = 16

;session.entropy_file = /dev/urandom

; Set to {nocache,private,public,} to determine HTTP caching aspects
; or leave this empty to avoid sending anti-caching headers.
session.cache_limiter = nocache

; Document expires after n minutes.
session.cache_expire = 180

; trans sid support is disabled by default.
; Use of trans sid may risk your users security.
; Use this option with caution.
; - User may send URL contains active session ID
;   to other person via. email/irc/etc.
; - URL that contains active session ID may be stored
;   in publically accessible computer.
; - User may access your site with the same session ID
;   always using URL stored in browser's history or bookmarks.
session.use_trans_sid = 0

; Select a hash function
; 0: MD5   (128 bits)
; 1: SHA-1 (160 bits)
session.hash_function = 0

; Define how many bits are stored in each character when converting
; the binary hash data to something readable.
;
; 4 bits: 0-9, a-f
; 5 bits: 0-9, a-v
; 6 bits: 0-9, a-z, A-Z, "-", ","
session.hash_bits_per_character = 5

; The URL rewriter will look for URLs in a defined set of HTML tags.
; form/fieldset are special; if you include them here, the rewriter will
; add a hidden <input> field with the info which is otherwise appended
; to URLs.  If you want XHTML conformity, remove the form entry.
; Note that all valid entries require a "=", even if no value follows.
url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"

27 (03.02.2011 14:34:28 отредактировано i2ks)

в php.ini в секции [session] переменная: session.auto_start = 0 > session.auto_start = 1
Так же для корректной работы белки, надо что бы в php.ini переменная "file_uploads" была установлена в состояние "On"

It is good day to die ...
MS Windows 10
Заметки о главном...

28 (16.05.2011 16:10:59 отредактировано Spartak)

Cron.d проблема

Я создал фал с указанием когда нужно выполнить задание в формате crontab. вот содержимое файла:


#MAILTO="" ##Supresses output
MAILTO=root
###################################################################
#minute (0-59),                                                   #
#|    hour (0-23),                                                #
#|    |        day of the month (1-31),                           #
#|    |        |       month of the year (1-12),                  #
#|    |        |       |       day of the week (0-6 with 0=Sunday)#
#|    |        |       |       |       commands                   #
###################################################################
# run-parts

0       6       *       *       *       /usr/local/bin/pg_backup_rsnapshot.sh > /dev/null
0       5       *       *       *       /usr/local/bin/my_backup_rsnapshot.sh > /dev/null

ls -l pg_backup

-rw-r--r-- 1 root root  762 Май 14 21:36 pg_backup

но задание выполнятся не хочет, в логе пишет:
(*system*) WRONG FILE OWNER (/etc/cron.d/pg_backup)

права + владельцев, задал вроде правильно:

chown root:root /etc/cron.d/pg_backup
chmod 0644


в чем может быть проблема ????

P.S. когда содержимое файла pg_backup отправил в crontab root все заработало! почему не работает cron.d ???