我想在Linux / Apache2.2上build立一个虚拟主机服务器,允许多个用户设置多个网站域名,这对于商业共享主机来说是合适的。 我已经看到了一些示例(从我的angular度来看,这是一个共享的托pipe客户),允许用户将他们的Web文件存储在他们的用户主目录中,其目录与虚拟主机域相对应,例如: /home/user1/www/example1.com /home/user2/www/example2.com 而不是使用/ var / www 问题: 你如何configuration你的Apacheconfiguration文件? (不要担心DNS) 这是pipe理多个虚拟主机的最佳方式吗? 有其他人吗? 你认为我应该注意哪些安全或安全问题? 非常感谢,伙计们。 编辑:如果你只想回答问题1,请随意,因为这是我目前最紧急的,我会考虑这个问题的答案。 自发布以来,我一直为自己做,但我不相信这是最好的解决scheme,我想知道有经验的系统pipe理员将如何做到这一点。 谢谢。
我的灵魂在每一个过去的瞬间都在死亡,我尝试着去做这个设置。 我有一台Windows XP机器,其上安装了Apache 2.2.11的xampplite。 我希望能够使用公司的Active Directory(Server 2003)对用户进行身份validation。 我不能使用IIS,因为我们想运行的产品不能运行; 而且我不能使用UNIX服务器,因为我们使用该产品需要Windowsfunction。 我的第一个想法是使用mod_auth_kerb5。 这听起来像是最好的主意。 无需身份validation会很好。 问题是,我找不到一个Windows二进制文件,编译它看起来像一个痛苦的世界:首先得到MinGW / Cygwin,然后获取模块的来源,这需要Kerberos 5的来源,它们本身需要Perl ,找出所有的依赖关系,并把它们全部编译出来,真的不是什么吸引我的东西。 所以相反,作为一个弱妥协,我想我可以求助于LDAPauthentication。 但是,使用基于SSL的LDAP将不起作用,并且Apache报告如下所示的内容: [LDAP: ldap_simple_bind_s() failed][Server down] 所以我决定放弃SSL至less看看它是否工作,事实certificate它不是: [client 192.168.215.18] [4984] auth_ldap authenticate: user foobar authentication failed; URI /app/webroot/ [ldap_search_ext_s() for user failed][Operations Error] 谷歌search错误给了我几个结果,我调整我的configuration,以反映人们build议的大多数修复,但无济于事。 这是我的configuration文件: AuthType basic AuthName "Super-secret area" AuthBasicProvider ldap AuthzLDAPAuthoritative off AuthLDAPUrl "ldap://server1:3268 server2:3268 server3:3268/dc=domain,dc=ext?sAMAccountName?sub?(objectClass=*)" […]
我有一个颠覆服务器,在Apache(在WindowsXP),可以通过networking使用http访问。 我想用ssl / https来访问它。 我还没有搞乱http – > https,并可以login使用http://罚款。 但是,如果我使用https://,login失败,我得到一个“需要validation!” 401错误消息。 我想这是我的服务器(?)的configuration问题,但还没有find解决scheme。 有任何想法吗? 编辑我可以连接并通过https:// localhost确定,但不能通过IP地址通过networkinglogin。 我在创build证书时(通过makecert)放入了IP地址。 conf文件片段(如果需要,我可以添加更多): 的httpd-SSL: `VirtualHost _default_:443> # General setup for the virtual host t DocumentRoot "C:/xampp/htdocs" ServerName localhost:443 ServerAdmin webmaster@localhost ErrorLog "logs/error.log" <IfModule log_config_module> CustomLog "logs/access.log" combined </IfModule> SSLEngine on SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL #SSLCertificateFile "conf/ssl.crt/server-dsa.crt" SSLCertificateFile "conf/ssl.crt/server.crt"` httpd.conf摘录: <IfModule ssl_module> SSLRandomSeed startup builtin […]
在我的网站上(只有一个url)没有响应头发送。 我正在使用篡改数据,并且响应块是完全空的。 我正在使用nginx az apache的reverese代理。 其他请求都可以,但是这个不是。 mysite.com/site/?page=logout 如果我尝试使用端口8080(Apache)它很好。 但是奇怪的是,所有其他页面都通过nginx获得响应头。 我无法想象会有什么问题。
我已经设法在CentOS 5.5的VPS机器上安装Apache2,Passenger和Ruby on Rails。 检查一切正常,我运行在该机器的links http://localhost ,并显示正确的页面。 该应用程序存储在/var/www/webapp 。 但是,如果我试图从外面访问此页面。 例如: http://212.227.XYZ.ZZ ,我得到位于/var/www/vhosts/default/htdocs/index.html的Apache欢迎页面。 这是我的/etc/httpd/config/httpd.conf一部分: DocumentRoot "/var/www/" LoadModule passenger_module /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.2/ext/apache2/mod_passenger.so PassengerRoot /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.2 PassengerRuby /usr/local/bin/ruby <VirtualHost *:80> ServerName 212.227.XYZ.ZZ DocumentRoot /var/www/webapp/public <Directory /var/www/webapp/public> AllowOverride all Options MultiViews </Directory> </VirtualHost> 我不知道为什么如果我从外面查询服务器,然后我得到不同的网页。 我在/etc/httpd/conf/查找了configuration文件,但是我还没有find任何其他的configuration文件,但httpd.conf 。 我也试过把这个webapp放在/var/www/vhosts/default/htdocs/ ,但是我得到这个错误:“Rails应用程序无法正常启动”。 我怎么解决这个问题? 这让我疯狂。 非常感谢。
我刚刚阅读了这篇关于文件权限的有用文章 ,并且即将在我们的web服务器上实现尽可能严格的文件权限策略。 我们的情况:我们的公司内部有不同的用户通过sftp访问networking服务器,我们有一般公众访问Apache – 有时通过PHP上传文件。 我通过使用它来区分文件夹和文件。 所以根据这个阅读,这是我的计划: 所有需要上传文件的人都会有不同的用户。 但所有这些用户将属于两个组: 上传者和networking服务器 。 Apache将属于组webserver 。 目录 许可:771 所有者:用户:上传者 说明:要访问文件夹中的文件,每个人都需要具有执行权限。 只有上传者将添加/删除文件,所以他们也获得r + w权限。 web-root中的文件 许可:664 所有者:用户:上传者 说明:它们将被不同的用户上传和更改,所有者和组都需要具有w + r权限。 Web服务器只需要读取文件,只有权限。 上传的目录 许可:771 所有者:user:webserver 说明:当需要上传文件时,Apache需要能够写入这个目录。 但是我认为将所有者更改为webroot是比较安全的,从而使Apache有足够的权限(并且所有的上传者也属于这个组,并具有相同的权限),同时防止“其他人”写入这个文件夹。 上传的文件 许可:664 所有者:user:webserver 说明:上传Apache后可能需要删除文件,但是这是没有问题的,因为他们拥有文件夹的w + r权限。 所以没有必要让这个文件更容易访问组访问。 由于不是档案权限方面的专家,我的问题是这是否是对我们的情况最好的政策? 欢迎任何build议。
我在.htaccess中获得了以下代码: Options +FollowSymlinks RewriteBase /temp/test/ RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME}\.php -f RewriteRule ^about/(.*)/$ $1.php [L] RewriteRule ^(.*)/download/(.*)/(.*)/(.*)/downloadfile/$ file-download.php?product=$1&version=$2&os=$3&method=$4 [L] RewriteRule ^(.*)/download/(.*)/(.*)/(.*)/$ download-donate.php?product=$1&version=$2&os=$3&method=$4 [L] RewriteRule ^(.*)/download/(.*)/$ download.php?product=$1&version=$2 [L] RewriteRule ^subscribe/(.*)/$ subscribe-$1.php [L] RewriteRule ^subscribe/(.*)/(.*)/$ subscribe-$1.php?email=$2 [L] RewriteRule ^(.*)/screenshots/$ screenshots.php?product=$1 [L] RewriteRule ^(.*)/(.*)/$ products.php?product=$1&page=$2 [L] RewriteRule ^schedule-manager/$ products.php?product=schedule-manager&page=view [L] RewriteRule ^visual-command-line/$ products.php?product=visual-command-line&page=view [L] RewriteRule ^windows-hider/$ […]
我试图使用mod_rewrite和mod_proxy一起通过一个(假)子目录“foo”( http://example.com/foo )从不同的内部web服务器( http://webserver.internal.com/foo )提供内容)。 使用mod_proxy和ProxyPass指令我已经可以在/etc/apache2/mods-enabled/proxy.conf中使用这个configuration ProxyPass /foo http://webserver.internal.com/foo ProxyPassReverse /foo http://webserver.internal.com/foo 现在我有额外的要求来强制重写从http://example.com到https:// example.com的dynamic资源的所有请求,它们也是独立运行的,但不能与上面提到的ProxyPass规则一起使用。 看来代理configuration总是优先于重写规则。 就我的研究显示,在我的重写规则中使用mod_proxy应该像添加一样简单 RewriteCond%{REQUEST_URI} ^ / foo RewriteRule ^ / foo(。*) http://webserver.internal.com/foo $ 1 [P] 到我的重写规则和重写的URI将自动通过mod_proxy传递。 我打开了一个LogLevel为9的RewriteLog,但之后我无法看到^ / foo的匹配和下面的Proxy-RewriteRule的执行情况。 没有什么比预先代理,或任何提及的代理,甚至没有在RewriteLog中的错误条目。 我有我的apache2configuration中激活以下代理模块 proxy proxy_connect proxy_http 我试图用另一个例子来testing我的RewriteCondition – 这次匹配^ / foo并redirect到www.google.com RewriteCond %{REQUEST_URI} ^/foo RewriteRule ^(.*)$ http://www.google.com/ [R=302,L] 这是按预期工作的,在RewriteLog中有以下结果: RewriteCond:input ='/ foo'pattern ='^ / […]
我的虚拟主机服务器的用户被允许访问他们的目录,但今天我受到了攻击,有人上传文件,由用户apache在文件夹/tmp执行文件。 我怎样才能停止由用户apache上传和防止这些types的执行? 问候
我正在运行一个hostgator vps php / apache / linux / mysql 我有一个问题,我似乎无法正确诊断/修复: 有时在加载页面时,浏览器会加载页面,然后挂起10-15s,有时候会加载页面的其余部分 如果在挂起期间,我刷新页面,它加载很快 有没有不正常的负载,无论是在Apache或SQL,没有坏链接,坏的JavaScript等 我很确定这是一个服务器端的问题,但不知道从哪里开始寻找,任何指针非常赞赏。 我可以附加任何日志或configuration文件,可以帮助。