我在最新的Debian上安装了PHP 5.5.14的Apache 2.4。 根据Apache的安全提示和技巧,我已经把我的httpd.conf设置为: <Directory /> AllowOverride none Require all denied </Directory> <Directory "/var/www"> Options FollowSymLinks AllowOverride none Require all granted </Directory> 我重新启动Apache服务器并运行这个PHP代码: <?php $filename = "/etc/passwd"; $handle = fopen($filename, "r"); $contents = fread($handle, filesize($filename)); fclose($handle); echo($contents); ?> 代码获取整个/ etc / passwd文件,我认为这是一个巨大的安全问题。 现在,我一直试图通过阅读手册来解决这个问题几天,但是我还没有运气。 我会推动正确的方向,thanx。
我们最近托pipe的网站将其域名从www.domainA.com更改为www.domainB.com 我的虚拟主机文件最初看起来像这样: <VirtualHost *:80> ServerName www.domainA.com ServerAlias domainA.com DocumentRoot /sites/DomainA/webroot </VirtualHost> 在虚拟主机文件中,我添加了一个别名,显示以下内容: <VirtualHost *:80> ServerName www.domainA.com ServerAlias domainA.com ServerAlias www.domainB.com ServerAlias domainB.com DocumentRoot /sites/DomainA/webroot </VirtualHost> 这导致访问DomainB.com的用户被显示为具有全部显示domainB.com的链接的站点 当用户从www.DomainA.com访问网站时,他们在浏览器栏中查看www.DomainA.com,然后点击链接,然后在浏览器栏中查看www.DomainB.com 我希望所有访问旧域的访问者都能立即redirect到新域,我正在考虑我的select。 我需要添加到虚拟主机,以确保用户总是看到他们的浏览器栏中的新域名?
我试图彻底删除Apache2,重新启动,然后使用这个命令来安装: sudo apt-get install apache2-mpm-prefork 不过,Apache2只能在MPM中使用: root@ubuntu-vm:~# apachectl -V | grep -i mpm Server MPM: event 我需要它prefork工作,有人可以帮我吗?
我删除了这个文件000-default.conf,并把我自己的。 在默认的apache2.conf行219 IncludeOptional sites-enabled/*.conf 不过,当我重新启动Apache apache2: Syntax error on line 219 of /etc/apache2/apache2.conf: Could not open configuration file /etc/apache2/sites-enabled/000-default.conf: No such file or directory Action 'restart' failed. The Apache error log may have more information. 我拥有的是: my-pc sites-available # ls -l total 12 -rw-r–r– 1 root root 6437 Jan 7 2014 default-ssl.conf -rw-r–r– 1 root […]
在将远程服务器升级到Ubuntu 14.04(Apache 2.4)之后,我无法使用以前的格式来请求URI,而无需像在CodeIgniter这样的框架中调用文件扩展名。 当我打电话http://example.com/about我打电话about.php。 这在Ubuntu 12.04工作,但现在没有find页面。 这仍然适用于我的本地机器仍然是12.04,所以我不认为这是一个.htaccess的问题,我也不相信它是一个网站可用的文件问题。 此外,这是版本控制使用GIT所以一切都几乎相同,除了一些调用站点名称和文件path的variables。 –CORRECTION:这是一个.conf的问题,如下面在我的更新中所述。 我有a2enmod(mode_rewrite)。 但要完成,我将提供htaccess和站点可用文件; /etc/apache2/sites-avaialable/example.net.conf: <VirtualHost xxx.xxx.xxx.xxx:443> SSLEngine On SSLCertificateFile /etc/apache2/ssl/domains/example.net/example.pem SSLCertificateKeyFile /etc/apache2/ssl/domains/example.net/example.key ServerAdmin [email protected] ServerName example.net DirectoryIndex index.php index.html DocumentRoot /var/www/html/example.net/www/ <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/html/example.net/www> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory> # Log file locations LogLevel […]
这是我的虚拟主机在Apache 2.4: <VirtualHost *:80> ServerName mailcatcher.dev Alias /mailcatcher.dev.png /Users/me/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/mailcatcher-0.5.12/public/images/logo_large.png <Directory /Users/me/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/mailcatcher-0.5.12/public/images> Order allow,deny Allow from all </Directory> ErrorLog "/private/var/log/apache2/mailcatcher.dev-error_log" CustomLog "/private/var/log/apache2/mailcatcher.dev-access_log" common ProxyPass / http://127.0.0.1:1080/ ProxyPassReverse / http://127.0.0.1:1080/ </VirtualHost> 我试图让一个urlhttp://mailcatcher.dev/mailcatcher.dev.pngparsing为一个文件,并将所有其他请求转发到networking邮件界面。 据说我的configuration是好的根据apachectl -t ; 但文件没有被提供,并且在我的访问日志中显示了一个404(下图)(错误日志中没有任何内容)。 ::1 – – [18/Sep/2014:22:42:07 -0600] "GET /mailcatcher.dev.png HTTP/1.1" 404 135 我不在这里? 这应该根据规范说,别名可以parsing为文件path。
我升级我的服务器到Ubuntu 14.04.1 LTS,现在我似乎无法让我的SSL证书正常工作。 升级后,我试图启动Apache时收到错误: AH00526: Syntax error on line 11 of /etc/apache2/sites-enabled/mywebsite-ssl 第11行包括: Options Indexes +FollowSymLinks MultiViews 我已经评论了这一行,然后Apache会启动。 我去了我的服务器上的SquirrelMail和HTTPS://加载的很好,但是当我去我的实际网站与https://我有一个内部服务器错误。 我试图find错误日志中的问题,但没有logging。 我的问题 :我需要有选项索引+ FollowSymLinks MultiView为了我的SSL加载正确,如果是的话,我该怎么办有关Apache没有正确重新启动,当这一行没有注释掉?
有些混蛋攻击了我的服务器,当我看到“JYADXW”的HTTP动词GET / POST / OPTIONS通常驻留的时候,我正在读日志。 这是什么要求? 这是什么意思? malicious IP Here – – [26/Sep/2014:06:12:01 -0400] "JYADXW / HTTP/1.1" 403 520 "-" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0)"
我遇到了一个让我发疯的问题。 我从零开始安装了一个ubuntu 14.04机器,安装了一个LAMP堆栈和subversion。 我创build了一个新的文件夹/ var / www / svn并导入了我的各种SVN转储。 确保他们都被设置在svnserve.conf文件中,通过svn://可以访问,并确保passwd文件中有一个用户可以访问它。 我将自己和www-data用户添加到该目录,以确保它在互联网上可用。 为了不打扰太多的属性,我使用以下命令svnserve -d启动了svnserve。 然后,我继续添加到我的000-default.conf别名Alias /svn /var/www/svn ,重新启动apache2服务,它在浏览器中像一个魅力。 现在到我的实际问题,当我试图访问repo与tortoisesvn我得到的错误消息,没有svn在该位置。 花了很长一段时间研究之后,我发现有人提到他在使用“完整”path时能够访问它。 所以我尝试了以下svn://mydomain.com/var/www/svn ,它的工作原理… 由于别名在浏览器中运行,但不在SVN客户端,所以我非常惊讶。 有任何想法吗? 总结一下:当我使用www.example.com/svn/myrepo时,它不起作用,而当我使用www.example.com/var/www/svn/myrepo时,则可以正常工作。 全000-default.conf: <VirtualHost *:80> ServerName www.example.com ServerAlias example.com ServerAdmin [email protected] DocumentRoot /var/www/html <Directory /> Options FollowSymLinks AllowOverride All </Directory> <Directory /var/www/html/> AllowOverride All Order allow,deny allow from all </Directory> Alias /svn /var/www/svn […]
对不起,如果这是错误的stackexchange网站。 基于文档 (供参考,我也用这个博客文章 ),我有这在httpd.conf中: # Increase max size of HTTP request headers so we are sure it can hold any SPNEGO token. LimitRequestFieldSize 12392 # Load the module LoadModule auth_gss_module /apps/apache2/modules/mod_auth_gss.so # Set general log level so we get some output LogLevel debug <Directory "/var/www/secured"> Order allow,deny Allow from all AuthType GSSAPI AuthGSSServiceName HTTP AuthGSSKeytabFile […]