
23rd July 2008, 00:56
|
|
Junior Member
|
|
Join Date: Jul 2008
Posts: 5
Thanks: 0
Thanked 0 Times in 0 Posts
|
|
CGI scripts don't work. Help me please!
I use CentOs 5.2, installed like "perfect server how-to". Yesterday I decided to use cgi script and found that they wan't run.
In terminal i run simple script "hello world"
./perl.pl
and it shows me "hello"
But when I try to run it from web browser, I receive 500 error.
In logfile is message "Premature end of script Headers".
I make that perl.pl by VI in terminal, did't upload or copy it.
Please, help me.
|

23rd July 2008, 12:23
|
|
Senior Member
|
|
Join Date: Jan 2008
Location: South Africa
Posts: 1,352
Thanks: 0
Thanked 148 Times in 145 Posts
|
|
Am guessing that your script is not sending the corrent content type headers.
|

23rd July 2008, 13:52
|
|
Junior Member
|
|
Join Date: Jul 2008
Posts: 5
Thanks: 0
Thanked 0 Times in 0 Posts
|
|
Here is script:
Code:
#!/usr/bin/perl
print "Content-type: text/html\n\n";
print <<END_HTML;
<html>
<head></head>
<body>Hello, World!</body>
</html>
END_HTML
|

23rd July 2008, 14:11
|
|
Senior Member
|
|
Join Date: Jan 2008
Location: South Africa
Posts: 1,352
Thanks: 0
Thanked 148 Times in 145 Posts
|
|
okay i thought u were not printing the content header, take a look at your httpd and audit logs, i suspect selinux could be blocking the action.
|

23rd July 2008, 14:23
|
|
Junior Member
|
|
Join Date: Jul 2008
Posts: 5
Thanks: 0
Thanked 0 Times in 0 Posts
|
|
Here is httpd.cong:
Code:
ServerTokens Major
/mod/mpm_common.html#lockfile>);
ServerRoot "/etc/httpd"
TraceEnable off
PidFile run/httpd.pid
TimeOut 120
KeepAlive on
MaxKeepAliveRequests 2500
KeepAliveTimeout 15
<IfModule prefork.c>
StartServers 10
MinSpareServers 20
MaxSpareServers 30
ServerLimit 512
MaxClients 512
MaxRequestsPerChild 2500
</IfModule>
Listen *:80
LoadModule auth_basic_module modules/mod_auth_basic.so
LoadModule auth_digest_module modules/mod_auth_digest.so
LoadModule authn_file_module modules/mod_authn_file.so
LoadModule authn_alias_module modules/mod_authn_alias.so
LoadModule authn_anon_module modules/mod_authn_anon.so
LoadModule authn_dbm_module modules/mod_authn_dbm.so
LoadModule authn_default_module modules/mod_authn_default.so
LoadModule authz_host_module modules/mod_authz_host.so
LoadModule authz_user_module modules/mod_authz_user.so
LoadModule authz_owner_module modules/mod_authz_owner.so
LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
LoadModule authz_dbm_module modules/mod_authz_dbm.so
LoadModule authz_default_module modules/mod_authz_default.so
LoadModule ldap_module modules/mod_ldap.so
LoadModule authnz_ldap_module modules/mod_authnz_ldap.so
LoadModule include_module modules/mod_include.so
LoadModule log_config_module modules/mod_log_config.so
LoadModule logio_module modules/mod_logio.so
LoadModule env_module modules/mod_env.so
LoadModule ext_filter_module modules/mod_ext_filter.so
LoadModule mime_magic_module modules/mod_mime_magic.so
LoadModule expires_module modules/mod_expires.so
LoadModule deflate_module modules/mod_deflate.so
LoadModule headers_module modules/mod_headers.so
LoadModule usertrack_module modules/mod_usertrack.so
LoadModule setenvif_module modules/mod_setenvif.so
LoadModule mime_module modules/mod_mime.so
LoadModule dav_module modules/mod_dav.so
LoadModule status_module modules/mod_status.so
LoadModule autoindex_module modules/mod_autoindex.so
LoadModule info_module modules/mod_info.so
LoadModule dav_fs_module modules/mod_dav_fs.so
LoadModule vhost_alias_module modules/mod_vhost_alias.so
LoadModule negotiation_module modules/mod_negotiation.so
LoadModule dir_module modules/mod_dir.so
LoadModule actions_module modules/mod_actions.so
LoadModule speling_module modules/mod_speling.so
LoadModule userdir_module modules/mod_userdir.so
LoadModule alias_module modules/mod_alias.so
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule cache_module modules/mod_cache.so
LoadModule suexec_module modules/mod_suexec.so
LoadModule disk_cache_module modules/mod_disk_cache.so
LoadModule file_cache_module modules/mod_file_cache.so
LoadModule mem_cache_module modules/mod_mem_cache.so
LoadModule cgi_module modules/mod_cgi.so
Include conf.d/*.conf
User apache
Group apache
UseCanonicalName off
DocumentRoot /var/www/html/megafolder
<Directory />
Options Includes FollowSymLinks
AllowOverride None
</Directory>
<IfModule mod_userdir.c>
</IfModule>
DirectoryIndex index.html index.html.var index.php
<Files ~ "^\.ht">
Order allow,deny
Deny from all
</Files>
TypesConfig /etc/mime.types
DefaultType text/plain
<IfModule mod_mime_magic.c>
# MIMEMagicFile /usr/share/magic.mime
MIMEMagicFile conf/magic
</IfModule>
HostNameLookups on
ErrorLog logs/error_log
LogLevel warn
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent
CustomLog logs/access_log "combined"
ServerSignature On
Alias /icons/ "/var/www/icons/"
<Directory "/var/www/icons">
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
<IfModule mod_dav_fs.c>
# Location of the WebDAV lock database.
DAVLockDB /var/lib/dav/lockdb
</IfModule>
ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
<Directory "/var/www/cgi-bin">
AllowOverride None
Options +ExecCGI
order allow,deny
allow from all
</Directory>
IndexOptions FancyIndexing VersionSort NameWidth=* HTMLTable
AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip
AddIconByType (TXT,/icons/text.gif) text/*
AddIconByType (IMG,/icons/image2.gif) image/*
AddIconByType (SND,/icons/sound2.gif) audio/*
AddIconByType (VID,/icons/movie.gif) video/*
AddIcon /icons/binary.gif .bin .exe
AddIcon /icons/binhex.gif .hqx
AddIcon /icons/tar.gif .tar
AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv
AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip
AddIcon /icons/a.gif .ps .ai .eps
AddIcon /icons/layout.gif .html .shtml .htm .pdf
AddIcon /icons/text.gif .txt
AddIcon /icons/c.gif .c
AddIcon /icons/p.gif .pl .py
AddIcon /icons/f.gif .for
AddIcon /icons/dvi.gif .dvi
AddIcon /icons/uuencoded.gif .uu
AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl
AddIcon /icons/tex.gif .tex
AddIcon /icons/bomb.gif core
AddIcon /icons/back.gif ..
AddIcon /icons/hand.right.gif README
AddIcon /icons/folder.gif ^^DIRECTORY^^
AddIcon /icons/blank.gif ^^BLANKICON^^
DefaultIcon /icons/unknown.gif
ReadmeName README.html
HeaderName HEADER.html
IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t
AddLanguage ca .ca
AddLanguage cs .cz .cs
AddLanguage da .dk
AddLanguage de .de
AddLanguage el .el
AddLanguage en .en
AddLanguage eo .eo
AddLanguage es .es
AddLanguage et .et
AddLanguage fr .fr
AddLanguage he .he
AddLanguage hr .hr
AddLanguage it .it
AddLanguage ja .ja
AddLanguage ko .ko
AddLanguage ltz .ltz
AddLanguage nl .nl
AddLanguage nn .nn
AddLanguage no .no
AddLanguage pl .po
AddLanguage pt .pt
AddLanguage pt-BR .pt-br
AddLanguage ru .ru
AddLanguage sv .sv
AddLanguage zh-CN .zh-cn
AddLanguage zh-TW .zh-tw
LanguagePriority en ru ca cs da de el eo es et fr he hr it ja ko ltz nl nn no pl pt pt-BR sv zh-CN zh-TW
ForceLanguagePriority Prefer Fallback
AddDefaultCharset windows-1251
AddType application/x-httpd-php .php .htm .html .phtml
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
AddHandler cgi-script .cgi .pl
AddHandler server-parsed .html .htm
AddHandler type-map var
AddType text/html .shtml .html
AddOutputFilter INCLUDES .shtml .html
ErrorDocument 404 /404.php
Alias /error/ "/var/www/error/"
<IfModule mod_negotiation.c>
<IfModule mod_include.c>
AddOutputFilter Includes .html
<Directory "/var/www/error">
AllowOverride None
Options IncludesNoExec
AddOutputFilter Includes html
AddHandler type-map var
Order allow,deny
Allow from all
LanguagePriority en es de fr
ForceLanguagePriority Prefer Fallback
</Directory>
</IfModule>
</IfModule>
BrowserMatch "Mozilla/2" nokeepalive
BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0
BrowserMatch "RealPlayer 4\.0" force-response-1.0
BrowserMatch "Java/1\.0" force-response-1.0
BrowserMatch "JDK/1\.0" force-response-1.0
BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully
BrowserMatch "MS FrontPage" redirect-carefully
BrowserMatch "^WebDrive" redirect-carefully
BrowserMatch "^WebDAVFS/1.[0123]" redirect-carefully
BrowserMatch "^gnome-vfs/1.0" redirect-carefully
BrowserMatch "^XML Spy" redirect-carefully
BrowserMatch "^Dreamweaver-WebDAV-SCM1" redirect-carefully
Options ExecCGI FollowSymLinks +Includes
NameVirtualHost x.x.x.x:80
<VirtualHost x.x.x.x:80>
DocumentRoot "/var/www/html/domain.com"
ServerName domain.com
ServerAlias www.domain.com
AddHandler cgi-script .cgi
<Directory "/var/www/html/domain.com">
AllowOverride all
allow from all
Options +Indexes +FollowSymlinks
</Directory>
ScriptAlias /cgi-bin/ "/var/www/html/domain.com/cgi-bin/"
#ScriptAlias /cgi/ "/var/www/cgi-bin/"
<Directory "/var/www/html/domain.com/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog logs/domain.com-error_log
XBitHack on
</VirtualHost>
RLimitCPU 80 90
RLimitMEM 3800 4800
RLimitNPROC 80 90
ScriptLog /var/log/cgiscript.log
Here is error in domain.com-error_log
Code:
Premature end of script headers: perl4.pl
Suexec.log is empty
|

23rd July 2008, 14:26
|
|
Senior Member
|
|
Join Date: Jan 2008
Location: South Africa
Posts: 1,352
Thanks: 0
Thanked 148 Times in 145 Posts
|
|
For selinux check the file /var/log/audit/audit.log
|

23rd July 2008, 14:29
|
|
Senior Member
|
|
Join Date: Jan 2008
Location: South Africa
Posts: 1,352
Thanks: 0
Thanked 148 Times in 145 Posts
|
|
Did you set executable permissions on the script ?
Code:
chmod +x script_name
|

23rd July 2008, 14:37
|
|
Junior Member
|
|
Join Date: Jul 2008
Posts: 5
Thanks: 0
Thanked 0 Times in 0 Posts
|
|
Quote:
|
For selinux check the file /var/log/audit/audit.log
|
There is nothing interesting here. Only cron and login info.
it did't help, for scripts i tryed 755, 777 750 and other chmods. Owner of script - apache apache
Last edited by a4411; 23rd July 2008 at 14:40.
|

23rd July 2008, 20:11
|
|
Junior Member
|
|
Join Date: Jul 2008
Posts: 5
Thanks: 0
Thanked 0 Times in 0 Posts
|
|
24 hours later, problem WAS SOLVED!!!
The reason was next strings in apache config:
RLimitCPU 80 90
RLimitMEM 3800 4800
RLimitNPROC 80 90
As I commented it, all begin to works fine.
Can anyone explain me, why?
|
| Thread Tools |
|
|
| Display Modes |
Linear Mode
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT +2. The time now is 04:56.
|
|
Recent comments
1 day 4 hours ago
1 day 7 hours ago
1 day 8 hours ago
1 day 10 hours ago
1 day 11 hours ago
1 day 13 hours ago
1 day 14 hours ago
2 days 6 hours ago
2 days 7 hours ago
2 days 11 hours ago