Articles of apache2

Apache2 ProxyPass for Rails App Gitlab

我试图设置与Apache2的代理,以便传入的请求http://myipaddress.com去http://localhost:3000/我有Gitlab(一个Rails应用程序)运行。 以下是我在Ubuntu 10.04的Apacheconfiguration文件中所拥有的内容。 我最初可以成功访问gitlab的默认页面,但是之后通过点击其他页面来执行的任何后续请求都会转到404 NOT FOUND页面。 我可以手动input/ gitlab /在任何这些失败的redirect前,他们工作得很好。 在初始请求之后,如何在不重写每个redirect请求的情况下重写/ gitlab /之后,如何进行此项工作? ## Setup a proxy which listens on the port that gitlabh does ( from start_server.sh ) ProxyRequests Off ProxyPass /gitlab/ http://localhost:3000/ ProxyPassReverse /gitlab/ http://localhost:3000/ #DocumentRoot /home/gitlabhq/gitlabhq/public <Proxy http://localhost:3000/> Order deny,allow Allow from all </Proxy> 我明白,我可以在下面的代码,这将解决我的问题。 但是我不知道如何修改gitlab rails服务的前缀。 我真的很感激一些帮助! ProxyPass /gitlab/ http://localhost:3000/gitlab/ ProxyPassReverse /gitlab/ […]

我怎样才能用Apache实现速率限制? (每秒请求)

什么技术和/或模块可用于实现强大的速率限制(请求|字节/ IP /单位时间)在Apache?

在Ubuntu上重启Apache – 错误“无法绑定到地址0.0.0.0.80”

我是n00b – 尝试在Rackspace Cloud上的Ubuntu 9.10(Karmic Koala)上安装apache2。 我已经设置/configurationOpenSSL并安装了Apache,但是Apache不会启动。 我假设它在我的/ etc / apache2 / sites-available / ssl或/ etc / apache2 / sites-available / default文件中configuration错误) 当我尝试使用以下命令重新启动Apache时: sudo /etc/init.d/apache2 restart 我收到以下错误信息: [错误](EAI 2)名称或服务未知:无法parsing主机名* .80 – 忽略! [错误](EAI 2)名称或服务未知:无法parsing主机名* .80 – 忽略! (98)已经在使用的地址:make_sock:无法绑定到地址0.0.0.0:80没有监听套接字可用,closures无法打开日志…失败! 对于我的/ etc / apache2 / sites-available / ssl我已经使用了*:443的虚拟主机。 对于我的/ etc / apache2 / sites-available / default我已经使用了*:80的虚拟主机

在Ubuntu的虚拟主机无法正常工作

我使用这个configuration文件在/etc/apache2/site-available/mysite.local创build了一个虚拟主机: <VirtualHost *:80> ServerAdmin webmaster@localhost ServerName mysite.local DocumentRoot /var/www/mysite <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/mysite> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory> ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <Directory "/usr/lib/cgi-bin"> AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> </VirtualHost> 并在/etc/hosts : 127.0.0.1 localhost 127.0.1.3 mysite.local 但是当我去mysite.local它显示localhost […]

在digitalocean上安装PHP 7

我试图在digitalocean上使用PHP 7,但文件内的脚本将无法运行。 这是我用来安装的: sudo apt-get install php7 libapache2-mod-php7 php7-mcrypt 我可以做的PHP – 版本,我得到: PHP 7.0.8-0ubuntu0.16.04.3 (cli) ( NTS ) Copyright (c) 1997-2016 The PHP Group Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies with Zend OPcache v7.0.8-0ubuntu0.16.04.3, Copyright (c) 1999-2016, by Zend Technologies 但是当我用<?php echo "test"; ?>检查一个文件时<?php echo "test"; ?> 在浏览器上它只显示<?php echo "test"; ?> <?php echo […]

Apache'您无权访问此服务器上的xx'

我正在使用Ubuntu 12.04和Apache(他们都是新的),我想添加一个新的虚拟目录,所以我修改文件/etc/apache2/sites-available/default ,添加以下内容: Alias /docs/ "/home/kk/workspace/javascript/maplib/" <Directory "/home/kk/workspace/javascript/maplib/"> Options Indexes MultiViews FollowSymLinks AllowOverride None </Directory> 然后在浏览器中打开url http://localhost/docs/ ,我得到以下消息: You don't have permission to access /docs/ on this server. 那么我认为这可能是由文件/文件夹权限造成的。 因此,我通过以下方式为所有用户添加read热点: sudo chmod a+r /home/kk/workspace/javascript/maplib/ 然后我跑 ls -ld ~/workspace/javascript/maplib/ 我得到这个: drwxr–r– 14 kk kk 4096 Mar 11 08:36 /home/kk/workspace/javascript/maplib/ 正如你可以看到每个用户shold有目录的read权限,但没有任何改变(我也得到403消息)。 然后我试图find/var/www的权限,我得到: drwxr-xr-x 2 root root 4096 […]

PHP:包含内含的文件

我必须彻底解决这个问题。 我目前正在开发一个4年的项目,用PHP编写,并在Apache服务器上运行。 我们是一个约40人的团队,我们每个人都使用首选的操作系统,所以我们有Windows,Mac和Linuxes运行这个代码。 我是那些喜欢Ubuntu的人。 无论如何,每次我克隆这个项目,我必须修改代码的一部分,所以它可以在我的机器上工作,因为以下旧的include / require问题: 所以假设我有以下文件和目录: root/ | index.php | framework/ | index.php | framework.php | config.php 总结: root/index.php确实require('framework/index.php') root/framework/index.php确实require('../config.php')和require('framework.php') 很显然,上面的代码在第一个require给了我一个错误,因为它在root文件夹所在的目录中查找config.php 。 是的,我知道我们应该使用像define('ROOT_DIR', path)一些常量或使用dirname(__DIR__)里面的要求。 我的问题是, 这个代码在这里的某些机器 (包括运行Ubuntu LTS的生产服务器) 上完美运行,所以相信这个错误是由于Apache或PHP的configuration 。 我必须在本地运行这个代码来进行开发,但是include和require太多了,他们不会让我改变所有的原始项目的require所以它包含dirname(__DIR__)或者其他的任何东西它,因为它被认为是不必要的。 所以,请不要build议我对预先require呼叫做任何事情。 我需要知道如何更改PHP(或者另一个服务的)configuration,所以当它需要文件时,它会检查它们是否与需要这些文件的脚本有关,而不是关于启动这个require链的第一个脚本。 也许这是不相关的,但是每次我在我的Ubuntu LTS 14.04上重新安装Apache2和PHP5时,它的默认configuration是这样的,这个代码不会运行。 我的一个同事使用Windows(以前运行8.1,现在运行10),从来没有这个问题,就像在Windows中显然是XAMP或WAMP,或者他使用的默认configuration都允许这个代码工作一样。 请帮忙。 提前致谢。

如何在一台服务器上使用两种不同的PHP版本

我在一台服务器上有两个网站,但是一个网站的PHP版本必须是5.2.17,另一个必须是5.5+。 我在Apache2和PHP上使用Ubuntu 14.04.2 LTS。 我已经安装了PHP 5.5(通过apt-get )和5.2.17(通过源代码安装)。 有人可以告诉我如何为每个指定的网站configuration和使用不同的PHP版本? 谢谢。

Access-Control-Allow-Origin标题不起作用

即使我已经在我的.htaccess文件中添加了这个: Header add Access-Control-Allow-Origin "*" 而这在我的Apacheconfiguration:(内部和外部) <Files ~ "\.(gif|jpe?g|png|js|json|xml)$"> Header set Access-Control-Allow-Origin "*" </Files> 它仍然不起作用! 当我得到DIRECTORY它确实给了我想要的标题,但只要我下载一个特定的文件头无处可寻! 它能有多难?

无法find我的php.ini文件的“扩展”部分,在Apache 2.0中,它在哪里?

我试图在我的Ubuntu,Apache 2,php框中添加对GD扩展的支持。 然而,我的php.ini文件似乎不是大多数版本的INI文件相同,它们似乎是没有;扩展注释或他们的占位符。 这是怎么回事? 他们是一个新的位置或添加扩展的新方法? 我不知所措,我只find了2个php.ini文件。 一个用于Apache 2,一个用于命令行界面。 最后,我问这个问题,因为正常修复的错误未定义的偏移量:1在第50行的images.php致命错误:调用未定义的函数imagecreatefrompng()in […] functions.php on 309行不起作用。