2006. 8. 1. 14:06

Openwebmail포트로업그레이드후

1. 아래의 그림처럼 500 Internal Server Error 와 같은 메세지가 출력된다면,
아래의 사항을 참고하라.
Q: I got "Internal server error" when running Open ?WebMail?
I got "can not do setuid" error?
I got "Software error: Can't locate etc/openwebmail.conf in @INC" error?
A: There are many possible answers...

  1. Please check if you have installed a complete set of perl 5.005 or above.
    and You have uncompressed the openwebmail-1.xx.tar.gz with proper parameter.
    It should be "tar -zxvBpf openwebmail-1.xx.tar.gz"

  2. Your openwebmail scripts may have wrong owner or mode.
    The permission of all openwebmail*.pl should be

    mode=4555
    owner=root
    group=mail

  3. The suidperl may not have enough permission for SUID scripts.
    It should owned by root with permission bits set to 4555

    ps: If you are using Suse Linux 9.0 Professional, please note that the
    permissions of suidperl is changed at each time ?SuSEconfig is run.
    To avoid having to change these permissions manually each time,
    please modify /etc/permissions.easy (or what permissions file used ever)
    to set the proper permissions.
    (thanks to dialsc.AT.t-online.de, Schaefer, Dirk Alexander)

  4. Execute openwebmail.pl from command line, if it still complains
    it could not do suid, then your perl executable was compiled without
    SUID support

    Here are the steps to recompile your perl with suid enabled:

  5. grab the perl source tar ball
    b. sh Configure -de (de means default perl config)
    c. edit config.sh and set this :
    d_dosuid='define'
    d_suidsafe='undef'

    ps: If you run './Configure' to configure the perl interactively,
    then don't forget to answer 'yes' for question
    "Do you want to do setuid/setgid emulation? "
    Or you won't be able to execute openwebmail

    d. then make, make install (make suidperl if needed)
    e. if you have compiled suidperl, then chmod 4555 suidperl
    if you don't have suidperl, change #!/usr/bin/suidperl to
    the path of your perl
    (thanks to Nemo Kaiser, nemoo.AT.users.sourceforge.net)

    ps: If you are using FreeBSD and your perl is compiled from port,
    then please note that the SUID support is disabled by default
    since the port for perl 5.8.1

    You need to do 'make -DENABLE_SUIDPERL' in making port

    ps: If you don't want to recompile perl, you choose to may use
    misc/tools/suidwrap.pl to generate C wrappers for all suid scripts.

    However, this is not recommended, as you will not be able to
    use ?SpeedyCGI with the openwebmail system.

    Here are the steps:
  6. cd cgi-bin/openwebmail
  7. perl misc/tool/wrapsuid/wrapsuid.pl /fullpath/cgi-bin/openwebmail
  8. change #!/usr/bin/suidperl to the path of your perl

    All suid scripts will be renamed to .scriptname.pl and
    the C wrapper will be generated and named as script.pl
    (thanks to Chris Heegard, heegard.AT.?NativeI.com)

    The spellcheck may not work on Solaris when using C wrappers.
    (thanks to Isam Ishaq, isam.AT.planet.edu)

  • If you are using ?SpeedyCGI, and openwebmail always shows Internal error,
    then your ?SpeedyCGI may be compiled without SUID support.
  • please be sure the speedycgi executable is owned by root with
    permission 4555
    b. please be sure you are using ?SpeedyCGI 2.22 or above
    c. please be sure your perl is compiled with SUID support enabled
    before compiling ?SpeedyCGI
    d. please refer to section "PERSISTENT RUNNING through ?SpeedyCGI"
    in readme.txt for how to compile ?SpeedyCGI.

  • If you are using ?SpeedyCGI, openwebmail seems be okay at the beginning,
    but it shows "Internal Server Error" sometimes ...

    Please check the apache log to see if there is error messages like

    "unable to open tmp file ..."

    If yes, you system may not have the savedsuid support,
    please set have_savedsuid_support to 'no' in etc/suid.conf

  • Some perl modules may be too old or not exist on your system
    1. install MIME-Base64-3.01.tar.gz or above
      b. install CGI.pm-3.05.tar.gz or above
      c. install the libnet-1.19.tar.gz or above

    ps: In most cases, you can run the './openwebmail.pl' in text terminal
    to get more information about the error.
  • 2006. 8. 1. 14:06

    Openwebmail유용한패치

    2006. 8. 1. 14:05

    Openwebmail수동설치후

    오픈웹메일 수동으로 업그레이드시
    메인페이지 출력시 HTTP 500 내부서버 오류 발생시

    답변
    Hi. I can fix the problem.

    I have to change suidperl to perl at the begining of the openwebmail-main.pl. Now it works fine.


    ->

    INSTALL OPENWEBMAIL

    The latest released or current version is available at
    http://openwebmail.com/openwebmail/

    If you are using FreeBSD and install apache with pkg_add,
    then just

    1. chmod 4555 /usr/bin/suidperl

    ps: If you are using FreeBSD and your perl is compiled from port,          then please note that the SUID support is disabled by default          since the port for perl 5.8.1          You need to do 'make -DENABLE_SUIDPERL' in making port


    Q: I got "Software error: Can't locate MIME/Base64.pm in @INC"?A: Please install the  MIME-Base64-2.12.tar.gz.Q: I got "Software error: Can't locate Text/Iconv.pm in @INC"?A: Please install the Text-Iconv-1.2.tar.gz, this is required since    openwebmail-1.80
    2. cd /usr/local/www
    tar -zxvBpf openwebmail-X.XX.tgz

    3. modify /usr/local/www/cgi-bin/openwebmail/etc/openwebmail.conf for your need.

    4. execute /usr/local/www/cgi-bin/openwebmail/openwebmail-tool.pl --init



    2. 업그레이드 후 로그인 후 아래와 같은 메세지가 나올경우
    열수 없습니다. /usr/local/www/cgi-bin/openwebmail/etc/sessions/master*-session-0.505131747573614! (Permission denied)

    I just found this information from FAQ:
    http://openwebmail.org/openwebmail/doc/faq.txt

    Q: I got "Couldn't open XXX-session-0.370606494136155!" error after login?

    A: You openwebmail-1.xx.tar.gz was uncompressed with improper parameter.
    It should be "tar -zxvBpf openwebmail-1.xx.tar.gz"
    Or you can refer to the file permission list in the end of readme.txt

    ps: you may check the permission cgi-bin/openwebmail/etc/sessions first,
    it should be owner=root, group=mail, mode=771
    2006. 8. 1. 14:05

    기본메일함(/var/mail/)위치 바꾸기

    보통 유닉스의 기본 메일함은 /var/mail에 쌓이게 된다..
    이를 특정한 위치로 옮겨서 그쪽으로 메일을 받을수 있게 해보자...

    Openwebmail 과 Postfix 를 기준으로 설명한다...

    Openwebmail의
    # vi /usr/local/www/cgi-bin-dist/openwebmail/etc/openwebmail.conf
    mailspooldir /var/mail

    위의 mailspooldir 을 원하는 위치로 지정해준다...
    mailspooldir /usr/var/mail

    두번째,postfix 의 main.cf 화일을 수정해준다.
    # vi /usr/local/etc/postfix/main.cf

    mail_spool_directory = /var/mail

    위의 디렉토리 위치를 /usr/var/mail 로변경해준다..
    mail_spool_directory = /usr/var/mail

    위와 같이 세팅해준후, postfix 를 재시작한다..

    # postfix reload

    위와 같이 한후 /var/mail/하위의 계정별 메일들을 /usr/var/mail/ 로 이동시켜준다....
    이렇게 한후, 메일 송수신 테스트를 해본다...

    그리고, 주의할점은 두가지가 있다. 보통 계정을 만들게 되면 /var/mail/ 하위에 그 계정을 위한 메일 파일이 생기게 된다.
    이를 다시 /usr/var/mail 로 옮겨준다..... 그리고 각 계정의 .cshrc 파일 부분의 set mail = (/var/mail/$USER) 부분을
    수정시켜준다....

    추신
    그리고, 아웃룩 익스프레스 연동을 위하여,
    /usr/var/mail 하위의 파일들을 아래와 같이 해준다..
    즉 각 계정마다 권한은 600 그리고 소유권과 그룹도 그 계정으로 해준다...
    이렇게 하면 아웃룩 익스프레스로도 메일을 받을수 있게 된다.
    drwxrwxr-x 3 root mail 512 Nov 18 00:45 .
    drwxr-xr-x 26 root wheel 512 Oct 12 17:21 ..
    -rw------- 1 ace18 ace18 0 Jul 1 19:58 ace18
    -rw------- 1 alias nofiles 0 Jul 1 05:04 alias
    -rw------- 1 bsdian bsdian 0 Jul 2 10:11 bsdian
    -rw------- 1 clamav clamav 0 Jul 2 20:02 clamav
    -rw------- 1 cyrus cyrus 0 Sep 20 10:50 cyrus
    -rw------- 1 dns djbdns 0 Jul 1 05:00 dns
    -rw------- 1 dnslog djbdns 0 Jul 1 05:00 dnslog
    -rw------- 1 firebird firebird 0 Jul 1 13:55 firebird
    -rw------- 1 jungkiri wheel 0 Jul 1 09:38 jungkiri
    -rw------- 1 master wheel 8989 Nov 18 00:24 master
    -rw------- 1 moniwiki moniwiki 0 Nov 5 10:36 moniwiki
    -rw------- 1 mrtg mrtg 0 Oct 8 00:18 mrtg
    -rw------- 1 myblog myblog 0 Jul 1 19:58 myblog
    -rw------- 1 mysql mysql 0 Jul 1 19:27 mysql
    -rw------- 1 passatest passatest 0 Jul 2 09:07 passatest
    -rw------- 1 postfix postfix 0 Sep 20 10:53 postfix
    -rw------- 1 qmaild nofiles 0 Jul 1 05:04 qmaild
    -rw------- 1 qmaill nofiles 0 Jul 1 05:04 qmaill
    -rw------- 1 qmailp nofiles 0 Jul 1 05:04 qmailp
    -rw------- 1 qmailq qmail 0 Jul 1 05:04 qmailq
    -rw------- 1 qmailr qmail 0 Jul 1 05:04 qmailr
    -rw------- 1 qmails qmail 0 Jul 1 05:04 qmails
    -rw------- 1 qscand qscand 0 Jul 2 20:12 qscand
    -rw------- 1 trofish trofish 0 Jul 26 22:25 trofish
    drwxr-xr-x 5 root mail 512 Sep 22 21:44 virtual
    -rw------- 1 vpopmail vchkpw 0 Jul 1 05:04 vpopmail


    ==핵심==
    '이렇게 다 해준후, vm-pop3d 의 로컬 수신 위치를 /usr/var/mailin 으로 바꾸어줘야 한다..
    기본값은 /var/mail 로 세팅되어져 있다.'
    2006. 8. 1. 14:04

    Mod_php4 설치후 PHP4-pear설치시 CLI-CGI관련에러발생시

    ===> Verifying install for pear in /usr/ports/devel/php4-pear
    This port requires the CLI or the CGI version of PHP, but you have
    already installed a conflicting PHP port without them.
    *** Error code 1

    Stop in /usr/ports/devel/php4-pear.
    *** Error code 1

    Stop in /usr/ports/archivers/pear-Archive_Tar.
    *** Error code 1

    Stop in /usr/ports/devel/pear-PEAR.
    *** Error code 1

    Stop in /usr/ports/devel/pear-Date.
    *** Error code 1

    Stop in /usr/ports/www/horde2.



    Are there any suggestions on how to update php, for horde to work, withough affecting what I have already done?

    Jon on September 14, 2004 at 1:59:05 pm MST
    Horde requires the PHP command line interface to work with pear. mod_php4 is only the web module so pear will not work with it. What you will want to do is:

    cd /usr/ports/www/mod_php4
    make deinstall clean
    cd /usr/ports/lang/php4
    make install clean

    That will remove the web module and install PHP with the CLI and the web module. All of your php extensions and configuration files should still be intact.

    I will edit the guide to make a note of this issue.