AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 704484
Accepted
Ex Umbris
Ex Umbris
Asked: 2015-07-09 15:49:28 +0800 CST2015-07-09 15:49:28 +0800 CST 2015-07-09 15:49:28 +0800 CST

Apache mod_perl 找不到启动脚本

  • 772

使用 Apache 2.2.15 和 mod_perl 2.0.4 运行 Centos 6.6

我正在尝试添加一个启动脚本 ( startup.pl),但似乎无法让 mod_perl 找到它。我已将配置减少到最低限度,仍然为我重现该问题。

Apache mod_perl 配置:

LoadModule perl_module modules/mod_perl.so
PerlRequire /home/web/pdxep/startup.pl
PerlSwitches -wT

的内容/home/web/pdxep/startup.pl

[jhg@perseus pdxep]$ pwd
/home/web/pdxep
[jhg@perseus pdxep]$ cat startup.pl
use lib qw(/home/web/pdxep);
1;

尝试启动 Apache 时:

[Wed Jul 08 16:13:02 2015] [error] Can't locate 
    /home/web/pdxep/startup.pl in @INC (@INC contains: 
        /usr/local/lib64/perl5 
        /usr/local/share/perl5 
        /usr/lib64/perl5/vendor_perl 
        /usr/share/perl5/vendor_perl 
        /usr/lib64/perl5 
        /usr/share/perl5 
        /etc/httpd) at (eval 2) line 1.\n
[Wed Jul 08 16:13:02 2015] [error] Can't load Perl file: 
    /home/web/pdxep/startup.pl for server perseus.jhmg.pvt:0, 
    exiting...

作为一个健全的检查来表明我已经验证了权限:

[jhg@perseus pdxep]$ ls -ld / /home /home/web /home/web/pdxep
dr-xr-xr-x. 24 root root   4096 May 26 11:18 /
drwxr-xr-x.  5 root root   4096 Jul  8 14:42 /home
drwxr-xr-x.  3 root root   4096 Jul  8 14:43 /home/web
drwxr-xr-x.  3 jhg  apache 4096 Jul  8 16:04 /home/web/pdxep
[jhg@perseus pdxep]$ ls -l /home/web/pdxep/startup.pl
-rwxr-xr-x. 1 jhg apache 33 Jul  8 16:04 /home/web/pdxep/startup.pl

同样作为健全性检查,su 到 apache 并加载启动脚本:

[jhg@perseus pdxep]$ sudo -s -u apache
bash-4.1$ cd
bash-4.1$ pwd
/var/www
bash-4.1$ perl -de0

Loading DB routines from perl5db.pl version 1.32
Editor support available.

Enter h or `h h' for help, or `man perldebug' for more help.

main::(-e:1):   0
  DB<1> require '/home/web/pdxep/startup.pl';

  DB<2> x @INC
0  '/home/web/pdxep'
1  '/usr/local/lib64/perl5'
2  '/usr/local/share/perl5'
3  '/usr/lib64/perl5/vendor_perl'
4  '/usr/share/perl5/vendor_perl'
5  '/usr/lib64/perl5'
6  '/usr/share/perl5'
7  '.'

具有该值的事实$INC[0]表明启动脚本已成功执行。

有关进一步故障排除的任何建议?

apache-2.2
  • 1 1 个回答
  • 632 Views

1 个回答

  • Voted
  1. Best Answer
    Michael Hampton
    2015-07-09T17:36:19+08:002015-07-09T17:36:19+08:00

    您启用了 SELinux,并且在其默认配置中,它不允许 Web 服务器访问用户主目录中的内容。

    要允许 Web 服务器访问用户文件,您需要设置适当的布尔值,httpd_read_user_content:

    setsebool -P httpd_read_user_content 1
    
    • 1

相关问题

  • Apache Django Mod_Wsgi - 自动重新加载应用程序

  • Apache:对多个虚拟主机使用相同的目录指令

  • Apache 上的子域不工作 - 找不到服务器

  • PHP 作为 CGI 还是 Apache 模块?

  • 避免将某些丢失的文件记录到 Apache2 错误日志中

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve