Articles of apache 2.2

Ubuntu服务器每天早上9点慢

该服务器运行Ubuntu 12.04.5 LTS并用作Web服务器(apache 2.2.22)和ftp服务器(proftpd 1.3.4a)。 当这种情况发生5分钟左右,没有人可以访问网页。 (这是一个虚拟的私人服务器) 这是此时的最高命令的输出, top – 09:06:58 up 16 days, 14:29, 1 user, load average: 36.01, 23.39, 10.79 Tasks: 161 total, 38 running, 123 sleeping, 0 stopped, 0 zombie Cpu(s): 18.8%us, 56.2%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 25.0%si, 0.0%st Mem: 8171872k total, 8043880k used, 127992k free, 164308k buffers Swap: 2096124k total, 0k […]

为Apache授予访问被拒绝的自定义根文件夹

我只是安装了Ubuntu的桌面(因为我想服务器对我来说太多了,显然我是对的),我试图configuration我的Apache Web服务器,但不幸的是,它与我习惯于configuration的方式没有任何关系它在Windows上。 我安装了包lamp-server^这应该包PHP和MySQL,但我还没有到那些呢。 我安装了软件包并进入http://localhost我看到了默认的欢迎页面,至今为止还是不错的。 不过,我想将根文件夹从/var/www/html到/home/user/www/html因为我不知道给这些分区多大的空间,而且给了我更多的空间。 要做到这一点,我将不得不编辑httpd.conf但系统上没有这样的文件。 经过短暂的研究,我发现我必须编辑/etc/apache2/sites-available/000-default.conf这是一个虚拟服务器,我猜。 所以我像这样编辑它 ServerName localhost ServerAdmin webmaster@localhost DocumentRoot /home/user/www/html 我不仅继续得到这个恼人的信息 AH00558:apache2:无法可靠地确定服务器的完全限定的域名,使用127.0.1.1。 全局设置“ServerName”指令以禁止此消息 另外,当我尝试访问http://localhost时,我得到403访问被拒绝 我一直在寻找网页上的解决scheme和灯页,但我似乎无法得到正确的东西,这是非常穷困..

HAProxy / Varnish:redirect一定比例的stream量

我正在尝试为两个不同版本的网页测量单独的统计信息。 所以我需要将我的networkingstream量的一定比例redirect到不同于所请求的页面的页面(即page_1的请求的20%转到page_1.1)。 在我看来,清漆可以在本地统计stream量或请求。 我想我可以让Apache后端计算请求,插入一个自定义头,然后让Varnish发送一个重新启动到客户端,如果后端响应包含该特定的头。 任何想法或build议? 干杯, 杰里米 编辑:我忘了提及在光油前面有一个HAProxy istance,所以我在想另一个好办法做到这一点可以是: 关于HAProxy: 计数page1的请求 如果count> 80,则插入自定义标题 如果count = 100重置计数器 在清漆上 如果自定义头在请求问题客户端重新启动与page1-> page1.1重写 不知道如何用ACL,gpc0和stick-tables来做到这一点。 我正在学习寻找解决scheme:-) 一如既往,想法或build议是受欢迎的

select基于域名的SSL证书,无需单独的VHost

我正在使用具有各种顶级域名的WordPress多站点networking。 我们目前正在为他们提供一台虚拟主机: <VirtualHost *:80> ServerName example.com ServerAlias * DocumentRoot /var/www/html/example.com/public </VirtualHost> 随着Let's Encrypt今年晚些时候来临,我们希望为我们的客户提供免费的HTTPS。 使用这个服务,我们将能够自动获得每个域的证书。 我希望能够将Apacheconfiguration为在证书的特定文件夹中查找,以便在添加新证书时,我们的自动脚本不需要更改Apacheconfiguration。 <VirtualHost *:443> DocumentRoot /var/www/html/example.com/public ServerName example.com ServerAlias * SSLEngine on # This line should find the cert that corresponds to the requested domain SSLCertificateFile /etc/pki/tls/certs/*.crt SSLCertificateKeyFile /etc/pki/tls/private/example_com.key SSLCertificateChainFile /etc/pki/tls/certs/example_com.ca-bundle </VirtualHost> 可以将Apacheconfiguration为为所请求的域select正确的证书, 而不需要单独的虚拟主机或为每个虚拟主机configuration更改 ? 如果需要的话,我们可以转换Apache版本或者安装一个知名的Apache模块。

Apache WebDAV:如何设置共享的身份validation; 带日历支持(Outlook,Thunderbird,Webapp)

我正在寻找一种方法来通过Linux Debian服务器共享不同平台的日历,该服务器使用WebDAV (mod_dav,mod_dav_fs)支持运行Apache 2.2.16。 到目前为止,我用于目录的基本authentication过程。 问题是支持这种authentication方法的唯一软件是雷电与雷电附加。 Outlook和不同的networking日历都无法访问。 Apache身份validation设置如下所示: <Directory "/var/www/calendar/"> Dav on ForceType text/plain Require user test Options +Indexes AuthType Basic AuthName "WebDAV" AuthUserFile /etc/apache2/htpasswd/calendar.htpasswd require valid-user </Directory> 如何通过适当的身份validation来保护WebDAV并确保不同的软件支持?

是否可以确定性地跟踪端口80如何转发以及configuration在给定系统上的位置?

有没有一种方法可以确定或追踪在运行Ubuntu 14.04 LTS的系统上如何设置端口转发configuration,其中有一个NodeJS服务正在运行,并以某种方式接受通过端口80的连接,虽然服务本身在端口8080上运行,鉴于端口80连接清楚地表明Apache正在处理(请参阅下面的详细信息)? 我试图在系统上使用lsof -i :80 ,而根据lsof ,80端口上没有进程。有趣的是, ubuntu@ip-***-**-**-***:~$ sudo netstat -anp | grep apache tcp6 0 0 :::80 :::* LISTEN 10197/apache2 我确定它位于/etc/apache2/apache2.conf并且找不到任何VirtualHostlogging, ProxyPass或其他任何types的东西,我已经深入Apacheconfiguration。 我也检查了iptables -L以防万一。 httpry或类似的东西有助于找出端口转发configuration和运行的进程负责端口转发?

PHP应用程序的环境variables

一个PHP应用程序需要我设置几个环境variables,如数据库凭证,SMTP服务器等。 variables的例子包括: FOO_DATABASE_URL=mysql://user:pass@host:3306/dbname FOO_SMTP_SERVER=smtp://user:pass@host:25 FOO_FILE_PATH=/var/www/foo FOO_URL_HOST=example.org FOO_URL_PATH=/foo 哪里可以设置这些variables? 最初我尝试在~/.profile设置它们,但是我意识到我并不是Apache运行的用户,所以这是行不通的。 我find了/etc/environment但我不确定这是否适合设置它们。 目前这里只有PATH 。 如果我只在这里设置,我需要在输出前面添加行吗? 该文档指出ENV文件应该在生产中避免,以最大限度地提高性能。 如果可能的话,我也想避免使用Apache的PassEnv和PassEnv指令。 我的生产服务器是CentOS,但是我想知道如何在Linux Mint和Ubuntu上做到这一点,即使我目前使用ENV文件进行开发。

如何validationSSL密码顺序正在执行?

我正在运行Apache 2.2.31,我正在尝试完成正向保密工作。 使用Qualys SSL实验室显示除了IE以外,几乎所有的东西都使用可以使用前向保密的密码。 我已经validationSSLHonorCipherOrder设置为在Apacheconfiguration上,但我想知道是否有一种方法来外部testing密码顺序执行 。 SSLLabs按照首选项顺序列出支持的密码,并且它与configuration文件中指定的内容相匹配

是否有可能限制每个“用户代理”在htaccess中的连接?

假设我的目标是通过“Mozilla”(firefox)用户代理同时限制访问我的网站的用户数量,是否可以在apache 2.2中执行? 我正在考虑使用以下方面的内容: RewriteCond %{HTTP_USER_AGENT} "mozilla" [NC] 和 MaxClients 0 但是我不知道(如果可能的话)如何使这两个规则一起工作?

用Apache VirtualHost保护Webmin

我试图设置我的webmin实例的地址https://webmin.example.com,但我得到一个内部服务器错误(500)。 任何想法为什么? 这是我的Apacheconfiguration: <VirtualHost *:443> ServerName webmin.example.com ServerAlias webmin.example.com <Proxy *> Order deny,allow Allow from all </Proxy> ProxyRequests Off ProxyPreserveHost On ProxyPass / https://127.0.0.1:10000/ ProxyPassReverse / https://127.0.0.1:10000/ SSLEngine on SSLCertificateFile /etc/apache2/ssl/server.pem SSLCertificateKeyFile /etc/apache2/ssl/server.key </VirtualHost> 这里是日志文件的内容: [ssl:error] [pid 21593] [remote 127.0.0.1:10000] AH01961: SSL Proxy requested for webmin.example.com:443 but not enabled [Hint: SSLProxyEngine] [proxy:error] [pid 21593] AH00961: […]