因此,对于我的服务器上托pipe网站的客户,我使用/ home中的标准主文件夹创build用户帐户。 我为所有的collective用户设置了一个SSH监狱,因为我真的反对使用一个单独的FTP服务器。 然后,我安装了ACL,并将acl添加到我的/etc/fstab – 都很好。 我cd到/home和chmod 700 ./* 。 在这一点上,用户不能看到其他用户主目录(耶),但Apache不能看到他们(嘘) 。 我运行了setfacl u:www-data:rx ./* 。 我也试过个别目录。 现在Apache可以再次看到网站,但所有的用户也可以。 ACL将主文件夹的权限更改为750 。 如何设置ACL以便Apache可以看到托pipe在用户家庭文件夹中的站点AND 2.用户不能在他们家外看到其他人的文件。 编辑:更多细节: chmod -R 700 ./*后输出chmod -R 700 ./* sh-3.2# chmod 700 ./* sh-3.2# ls -l total 72 drwx——+ 24 austin austin 4096 Jul 31 06:13 austin drwx——+ 8 jeremy collective 4096 Aug 3 […]
我已经编译了不同的软件(apache,postgresql,proftpd和jboss),然后安装到一个目录中(使用–prefix configure选项)。 我有这样的:/ opt / apache / opt / proftpd / opt / postgresql / opt / jboss。 我用同一个用户运行所有这些服务。 我已经这样做了,因为在权利pipe理方面我更容易(所有的服务都可以访问相同的数据目录)。 而且这是一种将我在一个目录中使用的所有服务“打包”的方法。 开始服务: apache:以root启动,并且在configuration文件中设置了以下指令:“User pol”“Group pol” postgresql:以用户“pol”开始 proftpd:以root启动,我在configuration文件中设置了以下指令:“User pol”“Group pol” jboss:以用户“pol”开始 pol用户有一个shell。 这对维护很有用。 你对这个configuration有什么看法? 我应该用不同的用户运行所有这些服务吗? 用户/服务pipe理的安全最佳实践是什么? 谢谢 !!
我正在build立一个testing服务器作为一个Web开发平台,我想尽可能地模仿一个典型的共享主机设置。 也就是说,我希望我的服务器拥有多用户FTP帐户,每个FTP帐户都链接到包含该网站的webroot的目录,并且我希望apache能够轻松地查看和pipe理这些文件。 我承认:我不太熟悉Fedora,我在家用机器上运行Ubuntu,SElinux给我一些悲伤。 我最初的计划是让每个用户的FTP进入他们的主目录,并把Web目录放在那里,但是当Apache尝试访问它的web目录以外的任何东西时,SElinux会发出一个诡计,所以这个计划是不行的。 继续这个路线是明智的,也许在用户主文件夹中安装Web目录,以便FTP仍然可以用来访问它们,即使Apache看到他们在var / www像它所期望的? 设置自定义FTP帐户并在服务器上使用单个FTP用户会更有意义吗? 什么是这样的一般行动? 我现在正在使用vsftpd来托pipenetworking目录,这就是为什么我喜欢主目录的方法(这是简单和安全的),但当然有一个更好的方法去做。 谢谢。 (我会把其他的东西,比如受限制的数据库访问等等,留给另一个post,我现在只想让FTP和apache在多用户环境中打好。) PS:为了logging,我遇到的一个问题是,如果apache没有像FTP帐户保存的那样运行,FTP创build文件时会出现权限错误,要求远程用户chmod文件来修复它。 一个合理的解决办法是在特定的组中运行apache,把所有的web用户都放在这个组中,并且默认使用FTP访问权限,让这个组读/写访问apache所期望的所有内容,但是我永远无法想象如何完成这个。 奖励积分和蛋糕,如果你知道一个解决scheme。
我有一个Apache2与PHP fastcgi设置; 我想在没有客户端注意的情况下进行configuration更改(所以没有丢失/失败的请求),所以我把haproxy放在它前面; 所以我有两个Apache2服务器运行在同一台服务器上的不同IP上,并在它们前面运行Haproxy负载平衡/故障转移。 Apache和Haproxy都有Keepalive。 当我在运行时运行/etc/init.d/apache2_1 restart或apache2ctl -k graceful -f /etc/apache2_1/apache2.conf时, 看-n 1 lynx -dump -source http:// server /test.php(里面有echo rand(1,100000);在里面) 它仍然下降一个坏网关请求。 我怎样才能防止发生? 基本上,如果我可以告诉Haproxy完成所有连接(完成意味着让他们运行)到server1,但发送所有新的server2在给定的时间点,它会工作。 另外注意; 我需要php-cgi; 与mod_php的事情更容易。 编辑; 我试过了 但是请求不会传递给备份,所以有些客户端仍然收到坏的网关。 回答本的评论; 随着cgi的优雅似乎启动所有正在进行的连接; 与mod_php曼妙工作正常; 没有停机。 Haproxy在apache出现故障时会看到(在统计屏幕中变成黄色),但是fastcgi只是在空中切断脚本; (通讯错误),通过调用exit()终止,返回代码:0(注意:mod_fcgid:process /var/www/gui/wsapi.php(13987) [2009年8月15日星期六19:00:55] [注意] mod_fcgid:进程14012进行正常关机,发送SIGTERM [2009年8月15日星期六19:00:56] [注意] mod_fcgid:process /var/www/gui/index.php(13999)退出(通讯错误),通过调用exit()终止,返回码:0 很多客户也越来越多; [2009年8月15日星期六19:05:42] [错误] [客户端xxx.xxx.xxx.xxx]脚本头过早结束:index.php 另一个迹象表明,关机没有任何优雅之处。
我有一个网站的apacheconfiguration中的以下行: Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate" 网站的一部分生成的CSV可以下载,但在IE浏览器,这行configuration目前在IE中出现以下错误: Internet Explorer cannot download admin/ from wwww.domain.com Internet Explorer was not able to open this Internet site. The requested site is either unavailable or cannot be found. Please try again later. 这是一个与IE浏览器已知的问题,是否有一个已知的修复? 或者有没有办法只在某些页面上实现caching控制? 如果我注释掉这一行,它在IE中工作正常。 我可以添加这样的东西到需要它的页面的<head>,而不是Apacheconfiguration行吗? <meta http-equiv="CACHE-CONTROL" content="NO-STORE, NO-CACHE, MUST-REVALIDATE, POST-CHECK=0, PRE-CHECK=0" />
我需要将我的Perl日志处理脚本移植到Python。 下面是一个我可以使用的Perl脚本的简单例子: #!/usr/local/bin/perl $|=1; # Use unbuffered output while(<>) { system("beep"); } 正如你可能看到的,我告诉系统在发出请求testing脚本时发出嘟嘟声。 一切工作正常,但是当我尝试这样的Python脚本: import sys import os for line in sys.stdin: os.system('beep') 一切运行,但系统不会在请求后发出哔哔声。 这里是我和我在我的apacheconfiguration文件中使用的行: CustomLog "|perl /var/web/onhit.pl" "onhit" <-OLD LINE CustomLog "|python /var/web/onhit.py" "onhit" <-NEW LINE 我在Python邮件列表上关注这封电子邮件 。 任何人有一个想法,为什么这是行不通的? 编辑:我知道这个问题有关“sys.stdin行”。 由于某些原因,它只是没有检测到任何标准input。 不过,我不知道它是我的python脚本还是我的apacheconfiguration引起的。
联盟营销人员最近开始发送我的网站奇怪的stream量。 1)访问者点击我的网站在会员的特殊位置,执行302redirect到网站的主页。 2)访问者遵循redirect到该网站的主页,在那里他们被再次送达302redirect,然后消失。 以下是日志的具体内容: www.example.com 74.197.XX.XXX – – [20/Aug/2009:16:15:28 -0400] "GET /go HTTP/1.1" 302 298 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; Zune 2.0)" www.example.com 74.197.XX.XXX – – [20/Aug/2009:16:15:28 -0400] "GET / HTTP/1.1" 302 460 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR […]
好的,我有端口80上运行的IIS和当前运行在端口19049上的Apache。现在外部端口是打开的,以允许超过80的stream量,但我想能够访问外部的Apache页面,而不必打开该端口,或指定端口在URL中。 我find的解决scheme是设置ISAPI重写filterhttp://iirf.codeplex.com/ 。 这个想法在外部我可以去www.mydomain.com/Apache,并且isapifilter将在内部为/ localhost:19049页面提供请求(以/ Apache的forms为条件),并且来回路由所有的stream量所有其他子path正确映射)。 问题是,我可以基本重写工作,即重写从page1.htm到page2.htm的请求或从page1.htm到www.google.comredirect页面。 问题是重写规则不允许将请求发送到另一个端口,redirect规则实际上只是一个301代码(很显然,/ / localhost:19049不会外部工作)。 有没有人有任何真正的解决scheme,肯定它不应该是一个简单的请求周围路由这是困难的。
我正在使用tomcat独立。 现在我看到tomcat开始使用比我预期更多的内存。 从tomcat服务静态文件可以是这样的原因? 或者可以从apache服务静态更好的内存使用。 Thx Enes
我正在重build我的本地开发configuration过程中,我正在尝试安装tomcat连接器,以便apache和tomcat互相通话。 我已经正确安装了xampp和tomcat,并通过Safari进行了validation。 我正在使用tomcat-connectors-current-src.tar.gz,解压到/ Applications / XAMPP / xamppfilescustom / tomcatconnectors,我可以configuration连接器./configure –with-apxs = / Applications / XAMPP / xamppfiles / bin / apxs然而,当我在terminal上使用“make”的时候,在这个过程的最后我会遇到一些奇怪的错误: ld:未知选项:-I / Applications / XAMPP / xamppfiles / include collect2:ld返回1退出状态ld:未知选项:-I / Applications / XAMPP / xamppfiles / include collect2:ld返回1退出状态lipo:无法打开input文件:/var/tmp//ccs5y7FI.out(没有这样的文件或目录)make [1]: * [mod_jk.la]错误1 make:* [all-recursive]错误1 我想知道如果有人知道怎么样,或者可以指向我的博客条目,讨论如何做到这一点。 我一直在寻找相当一段时间。 是的,这是我在serverfault上的第一篇文章,我想我可以被称为serverfault noob,如果我排除了任何可能需要帮助解决这个问题的信息,请让我知道。 谢谢