是否有最佳做法(出于性能原因或以其他方式)select使用虚拟主机还是重写将子域指向根目录中的文件夹? 也就是说, www.domain.com -> public_html/domain.com/ sub.domain.com -> public_html/sub.domain.com/ 以上操作可以通过设置两台虚拟主机或者使用一台虚拟主机来完成,只需设置一个重写指向正确的子目录即可。 我的问题最初涉及到Apache,但是我想知道是否有最佳的Nginx的服务器块的做法。
我试图让Apache服务器发出无效子域的自定义404错误。 以下是httpdconfiguration的相关部分: Alias /err/ "/var/www/error/" ErrorDocument 404 /err/HTTP_NOT_FOUND.html.var <VirtualHost *:80> # the default virtual host ServerName site_not_found Redirect 404 / </VirtualHost> <VirtualHost *:80> ServerName example.com ServerAlias ??.example.com </VirtualHost> 我得到的是这样的: 未find 在此服务器上找不到请求的URL /。 此外,尝试使用ErrorDocument处理请求时遇到404 Not Found错误。 我不明白为什么一个URL non-existent-subdomain.example.com产生404错误没有自定义错误,如上所示,而一个URL到eg.example.com/non-existent-file产生完整的自定义404错误。 有人可以build议这一点。 谢谢。
我们已经把我们的网站移到了一个新的服务器(Ubuntu 12.04 LTS)上,这个服务器是我用ISPConfig 3build立的。 问题: 一切工作正常,但PHP试图写入新的日志文件到现有的日志文件时,给了我一个“无法打开stream:权限被拒绝” – 警告。 我非常不安全,因为我还不熟悉Linux。 目前,我的网站上的所有文件和文件夹都拥有“client1”组的所有者“web1”。 日志目录的权限与以前相同(在旧主机上)。 我知道,Apache(和PHP?)作为自己的用户“www-data”运行,所以基本上,我必须告诉我的日志文件和文件夹,这个用户可以读/写? 我(会)试过的: 在研究的同时,我碰到了这个文章,谈到为文件所有者(web1)和apache用户(www-data)创build一个共同组。 我也发现了如下的说明: //Create new group $ sudo addgroup webdev //Change the group of your web directory: $ sudo chgrp -R webdev /var/www/ $ sudo chmod -R g+rw /var/www/ //Set the guid bit on all folders in your web directory: $ sudo find […]
我正在VPS上设置一个CentOS 6服务器。 我之前和Apache一起工作过,但我从来没有处理过CentOS 6。 我猜这只是对的? sudo yum install httpd -y sudo yum install mod_ssl -y (然后使用chkconfig将其设置为在启动时运行并开始configuration/etc/httpd/conf下的详细信息。) 还有更多吗? 什么特别的我应该知道进去? 任何我应该警惕的问题?
这是我想解决的问题。 我们有一个mercurial源代码控制服务器(Linux + Apache + mod_auth),我想configuration它,以防止LDAP(现在它是Apache的基本授权,存储在.htpasswd文件中的密码)。 我把名为“Developers”的开发者放在OU里, 'OU=Developers,DC=us,DC=domain,DC=com' 问题是我们有各种各样的项目,其中一些应该只限于某些开发者。 我可以把一个不同的OU放在开发者里面,但是我不能在同一个用户帐户中存在多个OU。 同时,我不喜欢每个用户有多个帐户(以后难以pipe理) 所以我在想是否可以授权对OU和某个逻辑组? 就像我创buildOU“开发人员”,然后创build了几个窗口组 – 比如ProjectA,projectB,projectC,并将开发人员分配给这些组。 是否有可能configurationLDAP基地DN,所以它也寻找组? 谢谢,德米特里
我与我的“testing”注册商的我的子域名指向我的服务器IP。 一切都连接,子域名工作,但它指向/ var / www / html而不是/ var / www / test 我重新启动Apache并检查日志。 我很困惑: <VirtualHost *:80> ServerName www.test.example.com ServerAlias test.example.com DocumentRoot "/var/www/test/" </VirtualHost> 请注意,这有它自己的conf文件,并且对/ var / www / test的权限是正确的 – 我还将一个带有虚拟文本的index.php放在这里。 没有运气 任何input赞赏!
我必须定制我的Apache2 suExec模块,以确保一些特殊的环境variables通过suExec传递。 如何下载源代码表单Debian软件包apache2-suexec ,修改suexec.c – > safe_env_lst ,重新编译并重新构build.deb包,以便在生产系统上展开。 我尝试了apt-get source apache2-suexec但没有在发生的apache2- *文件夹中findsuexec.c 。 改变的源代码应该是这样的: static const char *const safe_env_lst[] = { /* variable name starts with */ "HTTP_", "SSL_", /* NEW: Perl debugging variables */ "PERL5OPT=", "PERL5LIB=", "PERLDB_OPTS=", "DBGP_IDEKEY=", /* NEW: FCGI variables */ "FCGI=", "FCGI_CONNECTION=", "FCGI_RUNTIME=", "FCGI_STARTTIME=", 草稿基于: http : //static.askapache.com/httpd/support/suexec.c
假设我的www文件夹中有以下目录: private_info_1 public_info_1 private_info_2 public_info_2 是否有可能创build一个FTP用户(我使用cPanel),可以访问两个公共目录,但不是私人目录?
我已经购买了一个虚拟服务器,在这里我得到了一个非root sudo的用户。 其实我需要创build一个不是可以使用的帐户的FTP帐户,所以我创build了一个没有login的帐户就是为了这个目的。 我已经正确设置了VSFTPd,并启用了“userlist”function,以指定哪个用户被允许使用FTP。 然后,我在我的sudo-able帐户下创build了一个空目录,并且为第二个帐户授予了所有权,所以为了使它更易于理解,我们假设主帐户(我用来pipe理我的VPS的帐户)被称为ubuntu和FTP用户名为ftpuser ,我创build了一个目录/home/ubuntu/mywebsite给所有权到ftpuser:ftpuser 。 然后我上传了一个worpdress网站,默认权限是755和644.问题是Apache没有任何特权来运行网站。 我怎样才能使网站正常运行,哪个是最安全的? 我应该与其他用户运行该虚拟主机(如果可能的话)? 我应该强制FTP用户使用www-data组(如果可能的话)并使用775和664权限运行? 我该如何解决这个问题? 任何帮助表示赞赏,我想运行它使用默认权限,所以任何更新不会分解任何东西(因为权限重置)。
我是Apache的mod_rewrite新手,我有一些困难得到它做我想要的。 在我的静态目录中,我有一些JavaScript文件( .js )与2种文件名: xxxx.js这是标准的文件名 AT_xxxx.js (带有前缀的文件名),与以前的标准文件名重复,但也包含我的自定义 我想parsing每个标准请求的JavaScript文件( xxxx.js )的请求,以检查包含所有子目录的自定义文件是否存在( AT_xxxx.js )。 然后,在这种情况下,使用自定义文件而不是标准文件(也许通过内部redirect)。 我试图弄清楚这个好几个小时,但还是有一些错误。 注意:另外,我不知道如何在子目录中find自定义文件。 DocumentRoot "/data/apps/dev0/custom/my_static" <filesMatch "\\.(js)$"> Options +FollowSymLinks RewriteEngine on RewriteCond %{DOCUMENT_ROOT}/AT_$1.js -f RewriteRule ^(.*[^/])/?$ %{DOCUMENT_ROOT}/AT_$1.js [QSA,L] </filesMatch>