2006. 8. 1. 14:06
Openwebmail포트로업그레이드후
2006. 8. 1. 14:06 in Operation System/FreeBSD
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...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?
- 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"
- Your openwebmail scripts may have wrong owner or mode.
The permission of all openwebmail*.pl should be
mode=4555
owner=root
group=mail
- The suidperl may not have enough permission for SUID scripts.
It should owned by root with permission bits set to 4555ps: 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)
- 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:
- 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'ps: If you run './Configure' to configure the perl interactively,
d_suidsafe='undef'
then don't forget to answer 'yes' for questiond. then make, make install (make suidperl if needed)
"Do you want to do setuid/setgid emulation? "
Or you won't be able to execute openwebmail
e. if you have compiled suidperl, then chmod 4555 suidperl
if you don't have suidperl, change #!/usr/bin/suidperl tops: If you are using FreeBSD and your perl is compiled from port,
the path of your perl
(thanks to Nemo Kaiser, nemoo.AT.users.sourceforge.net)
then please note that the SUID support is disabled by defaultps: If you don't want to recompile perl, you choose to may use
since the port for perl 5.8.1
You need to do 'make -DENABLE_SUIDPERL' in making port
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:
- cd cgi-bin/openwebmail
- perl misc/tool/wrapsuid/wrapsuid.pl /fullpath/cgi-bin/openwebmail
- 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)
then your ?SpeedyCGI may be compiled without SUID support.
permission 4555
b. please be sure you are using ?SpeedyCGI 2.22 or abovec. please be sure your perl is compiled with SUID support enabled
before compiling ?SpeedyCGI
d. please refer to section "PERSISTENT RUNNING through ?SpeedyCGI" 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
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
- 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
to get more information about the error.