--------------060108050801010103040105
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
I have this on my new server:
<VirtualHost *:80>
SuexecUserGroup brasto brasto
ServerName flfn.org
ServerAlias www.flfn.org
ServerAdmin admin [at] flfn.org
DocumentRoot /home/brasto/www/flfn
<Directory /home/brasto/www/flfn>
Options Indexes FollowSymLinks
AllowOverride All
</Directory>
CustomLog /var/log/httpd/brasto/flfn/access_log combined
ErrorLog /var/log/httpd/brasto/flfn/error_log
# Next three lines I'll want after fixing rewrite problem:
# RewriteEngine On
# RewriteCond %{HTTP_HOST} !^flfn\.org$ [NC]
# RewriteRule ^(.*)$ http://flfn.org$1 [R=301,L]
</VirtualHost>
Don't try to see the issue on FLFN.org since the site is still on my old
server. I access it by modifying /etc/hosts with the new IP until the
site is working. I have mod rewrite installed, and I can verify it by
uncommenting the last three lines of that vhost. That rewrite works
just fine. However, if I install Wordpress or Drupal and try to turn on
friendly urls, they create a .htaccess file with these lines:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !=/favicon.ico
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
</IfModule>
With that the whole site seems to work except I can't go to
http://flfn.org/ . If I ask for http://flfn.org/index.php it works.
All friendly URLs work. In the .htaccess file, if I comment out every
line except 'RewritEngine on' I still have the same problem, and can't
request http://flfn.org/ without index.php. If I move the .htaccess
file and put those lines in the vhost config, I get a browser error but
nothing in the server error logs (not the vhost error logs or the
default error logs). Here's what I get in the browser with the
..htaccess info added to the vhost:
Bad Request
Your browser sent a request that this server could not understand.
Apache/2.2.3 (CentOS) Server at flfn.org Port 80
Here's what I get in the vhost error logs when I request http://flfn.org
without /index.php:
[Wed Feb 24 15:05:50 2010] [error] [client 67.182.203.21] Options
FollowSymLinks or SymLinksIfOwnerMatch is off which implies that
RewriteRule directive is forbidden: /home/brasto/www/flfn/, referer:
http://flfn.org/admin/reports/status
As you can see, I have Options FollowSymLinks set in the vhost. The
..htaccess file also has Options +FollowSymLinks in it.
I've sent this same thing to the Utah PHP Users group and so far haven't fixed it. Here's some of what's been done there:
Yes, I've tried SymLinksIfOwnerMatch. It didn't make a difference.
All files are owned by brasto:apache.
Yes, DirectoryIndex has index.php as a server default, and even when I put it in the vhost, it didn't resolve the issue. Note that if I comment out all rules and conditions and the only line in the .htaccess file is "RewriteEngine on" the problem occurs.
One person asked if PHP has mod rewrite compiled in. I said:
I'm not sure:
# php -i | grep modules
extension_dir => /usr/lib64/php/modules => /usr/lib64/php/modules
# ls /usr/lib64/php/modules
curl.so json.so pdo_mysql.so sqlite.so xsl.so
dom.so mbstring.so pdo.so wddx.so zip.so
fileinfo.so mysqli.so pdo_sqlite.so xmlreader.so
gd.so mysql.so phar.so xmlwriter.so
that seems to tell me no. However phpinfo() tells me it's loaded. I
put it here:
http://chsalumni.net/phpinfo.php
At least until this is resolved.
In case of a DNS issue, I have duplicated the issue, this time with a Wordpress-driven site, with http://chsalumni.net (on the same new server) since I can bear it having the issue for a little while until we can hopefully resolve it. Here's the vhost and .htaccess file:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
Once again, if I comment out every line except RewriteEngine On, I have
the same problem (with or without wrapping it in <IfModule
mod_rewrite.c>). The vhost is almost identical:
<VirtualHost *:80>
SuexecUserGroup brasto brasto
ServerName chsalumni.net
ServerAlias www.chsalumni.net chs91.org www.chs91.org
ServerAdmin admin [at] chsalumni.net
DocumentRoot /home/brasto/www/chsalumni
<Directory /home/brasto/www/chsalumni>
Options Indexes FollowSymLinks
AllowOverride All
</Directory>
CustomLog /var/log/httpd/brasto/chsalumni/access_log combined
ErrorLog /var/log/httpd/brasto/chsalumni/error_log
# RewriteEngine On
# RewriteCond %{HTTP_HOST} !^chsalumni\.net$ [NC]
# RewriteRule ^(.*)$ http://chsalumni.net$1 [R=301,L]
</VirtualHost>
Again, if I turn on Rewrite Engine using the vhost and use the rule and
condition that are commented out right now, they work fine, but if I try
to use the rules and conditions in the .htaccess file within the vhost,
I get the bad request error, with nothing in the error logs anywhere.
With the .htaccess as it is and vhost as it is, I still get these
entries in the logs when requesting http://chsalumni.net :
tail -f /var/log/httpd/brasto/chsalumni/*
<snip to when page refresh occurs>
==> /var/log/httpd/brasto/chsalumni/access_log <==
67.182.203.21 - - [24/Feb/2010:23:38:48 -0700] "GET / HTTP/1.1" 403 5043
"http://chsalumni.net/wp-admin/options-permalink.php" "Mozilla/5.0 (X11;
U; Linux x86_64; en-US; rv:1.9.1.6) Gecko/20091201 SUSE/3.5.6-1.1.1
Firefox/3.5.6"
==> /var/log/httpd/brasto/chsalumni/error_log <==
[Wed Feb 24 23:38:48 2010] [error] [client 67.182.203.21] Options
FollowSymLinks or SymLinksIfOwnerMatch is off which implies that
RewriteRule directive is forbidden: /home/brasto/www/chsalumni/,
referer: http://chsalumni.net/wp-admin/options-permalink.php
==> /var/log/httpd/brasto/chsalumni/access_log <==
67.182.203.21 - - [24/Feb/2010:23:38:48 -0700] "GET /icons/apache_pb.gif
HTTP/1.1" 200 2326 "http://chsalumni.net/" "Mozilla/5.0 (X11; U; Linux
x86_64; en-US; rv:1.9.1.6) Gecko/20091201 SUSE/3.5.6-1.1.1 Firefox/3.5.6"
67.182.203.21 - - [24/Feb/2010:23:38:48 -0700] "GET
/icons/powered_by_rh.png HTTP/1.1" 200 1213 "http://chsalumni.net/"
"Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.6) Gecko/20091201
SUSE/3.5.6-1.1.1 Firefox/3.5.6"
This site I can leave broken for longer, so I'll leave it this way
hoping we can find a solution soon. Of course, FollowSymLinks is set,
though I have not tested SymLinksIfOwnerMatch on this site like I did
the other.
Finally, somone asked for the perms on the doc root directory and other config files in conf.d:
/home/brasto > ls -al www/
total 79836
drwsrwsr-x 16 brasto apache 4096 Feb 24 09:20 .
<snip>
For config files:
# ls -al /etc/httpd/conf.d/
total 36
drwxr-xr-x 2 root root 4096 Feb 13 12:18 .
drwxr-xr-x 4 root root 4096 Feb 16 15:24 ..
-rw-r--r-- 1 root root 674 Nov 20 10:26 php.conf
-rw-r--r-- 1 root root 566 Nov 12 16:47 proxy_ajp.conf
-rw-r--r-- 1 root root 392 Nov 12 16:47 README
-rw-r--r-- 1 root root 9677 Nov 12 16:47 ssl.conf
-rw-r--r-- 1 root root 298 Feb 12 22:58 welcome.conf
The only thing I found that might be related is welcome.conf, which
probably explains why I get the page served that I do for the 403. It
only has this (commented lines excluded):
<LocationMatch "^/+$">
Options Indexes
ErrorDocument 403 /error/noindex.html
</LocationMatch>
Thank you all for your help.
Brandon
--------------060108050801010103040105
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 7bit
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body text="#000000" bgcolor="#ffffff">
<pre wrap="">I have this on my new server:
<VirtualHost *:80>
SuexecUserGroup brasto brasto
ServerName flfn.org
ServerAlias <a class="moz-txt-link-abbreviated"
href="http://www.flfn.org">www.flfn.org</a>
ServerAdmin <a class="moz-txt-link-abbreviated"
href="mailto:admin [at] flfn.org">admin [at] flfn.org</a>
DocumentRoot /home/brasto/www/flfn
<Directory /home/brasto/www/flfn>
Options Indexes FollowSymLinks
AllowOverride All
</Directory>
CustomLog /var/log/httpd/brasto/flfn/access_log combined
ErrorLog /var/log/httpd/brasto/flfn/error_log
# Next three lines I'll want after fixing rewrite problem:
# RewriteEngine On
# RewriteCond %{HTTP_HOST} !^flfn\.org$ [NC]
# RewriteRule ^(.*)$ <a class="moz-txt-link-freetext"
href="http://flfn.org$1">http://flfn.org$1</a> [R=301,L]
</VirtualHost>
Don't try to see the issue on FLFN.org since the site is still on my old
server. I access it by modifying /etc/hosts with the new IP until the
site is working. I have mod rewrite installed, and I can verify it by
uncommenting the last three lines of that vhost. That rewrite works
just fine. However, if I install Wordpress or Drupal and try to turn on
friendly urls, they create a .htaccess file with these lines:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !=/favicon.ico
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
</IfModule>
With that the whole site seems to work except I can't go to
<a class="moz-txt-link-freetext" href="http://flfn.org/">http://flfn.org/</a> . If I ask for <a
class="moz-txt-link-freetext" href="http://flfn.org/index.php">http://flfn.org/index.php</a> it works.
All friendly URLs work. In the .htaccess file, if I comment out every
line except 'RewritEngine on' I still have the same problem, and can't
request <a class="moz-txt-link-freetext" href="http://flfn.org/">http://flfn.org/</a> without index.php. If I move the .htaccess
file and put those lines in the vhost config, I get a browser error but
nothing in the server error logs (not the vhost error logs or the
default error logs). Here's what I get in the browser with the
..htaccess info added to the vhost:
Bad Request
Your browser sent a request that this server could not understand.
Apache/2.2.3 (CentOS) Server at flfn.org Port 80
Here's what I get in the vhost error logs when I request <a
class="moz-txt-link-freetext" href="http://flfn.org">http://flfn.org</a>
without /index.php:
[Wed Feb 24 15:05:50 2010] [error] [client 67.182.203.21] Options
FollowSymLinks or SymLinksIfOwnerMatch is off which implies that
RewriteRule directive is forbidden: <i class="moz-txt-slash"><span
class="moz-txt-tag">/</span>home/brasto/www/flfn<span
class="moz-txt-tag">/</span></i>, referer:
<a class="moz-txt-link-freetext"
href="http://flfn.org/admin/reports/status">http://flfn.org/ admin/reports/status</a>
As you can see, I have Options FollowSymLinks set in the vhost. The
..htaccess file also has Options +FollowSymLinks in it.
I've sent this same thing to the Utah PHP Users group and so far haven't fixed it. Here's some of what's been done there:
Yes, I've tried SymLinksIfOwnerMatch. It didn't make a difference.
All files are owned by brasto:apache.
Yes, DirectoryIndex has index.php as a server default, and even when I put it in the vhost, it didn't resolve the issue. Note that if I comment out all rules and conditions and the only line in the .htaccess file is "RewriteEngine on" the problem occurs.
One person asked if PHP has mod rewrite compiled in. I said:
I'm not sure:
# php -i | grep modules
extension_dir => /usr/lib64/php/modules => /usr/lib64/php/modules
# ls /usr/lib64/php/modules
curl.so json.so pdo_mysql.so sqlite.so xsl.so
dom.so mbstring.so pdo.so wddx.so zip.so
fileinfo.so mysqli.so pdo_sqlite.so xmlreader.so
gd.so mysql.so phar.so xmlwriter.so
that seems to tell me no. However phpinfo() tells me it's loaded. I
put it here:
<a class="moz-txt-link-freetext" href="http://chsalumni.net/phpinfo.php">http://chsalumni.net/phpinfo.php</a>
At least until this is resolved.
In case of a DNS issue, I have duplicated the issue, this time with a Wordpress-driven site, with <a class="moz-txt-link-freetext" href="http://chsalumni.net">http://chsalumni.net</a> (on the same new server) since I can bear it having the issue for a little while until we can hopefully resolve it. Here's the vhost and .htaccess file:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
Once again, if I comment out every line except RewriteEngine On, I have
the same problem (with or without wrapping it in <IfModule
mod_rewrite.c>). The vhost is almost identical:
<VirtualHost *:80>
SuexecUserGroup brasto brasto
ServerName chsalumni.net
ServerAlias <a class="moz-txt-link-abbreviated"
href="http://www.chsalumni.net">www.chsalumni.net</a> chs91.org <a
class="moz-txt-link-abbreviated" href="http://www.chs91.org">www.chs91.org</a>
ServerAdmin <a class="moz-txt-link-abbreviated"
href="mailto:admin [at] chsalumni.net">admin [at] chsalumni.net</a>
DocumentRoot /home/brasto/www/chsalumni
<Directory /home/brasto/www/chsalumni>
Options Indexes FollowSymLinks
AllowOverride All
</Directory>
CustomLog /var/log/httpd/brasto/chsalumni/access_log combined
ErrorLog /var/log/httpd/brasto/chsalumni/error_log
# RewriteEngine On
# RewriteCond %{HTTP_HOST} !^chsalumni\.net$ [NC]
# RewriteRule ^(.*)$ <a class="moz-txt-link-freetext"
href="http://chsalumni.net$1">http://chsalumni.net$1</a> [R=301,L]
</VirtualHost>
Again, if I turn on Rewrite Engine using the vhost and use the rule and
condition that are commented out right now, they work fine, but if I try
to use the rules and conditions in the .htaccess file within the vhost,
I get the bad request error, with nothing in the error logs anywhere.
With the .htaccess as it is and vhost as it is, I still get these
entries in the logs when requesting <a class="moz-txt-link-freetext"
href="http://chsalumni.net">http://chsalumni.net</a> :
tail -f <i class="moz-txt-slash"><span class="moz-txt-tag">/</span>var/log/httpd/brasto/chsalumni<span
class="moz-txt-tag">/</span></i>*
<snip to when page refresh occurs>
==> /var/log/httpd/brasto/chsalumni/access_log <==
67.182.203.21 - - [24/Feb/2010:23:38:48 -0700] "GET / HTTP/1.1" 403 5043
<a class="moz-txt-link-rfc2396E"
href="http://chsalumni.net/wp-admin/options-permalink.php">" http://chsalumni.net/wp-admin/options-permalink.php"</a> "Mozilla/5.0 (X11;
U; Linux x86_64; en-US; rv:1.9.1.6) Gecko/20091201 SUSE/3.5.6-1.1.1
Firefox/3.5.6"
==> /var/log/httpd/brasto/chsalumni/error_log <==
[Wed Feb 24 23:38:48 2010] [error] [client 67.182.203.21] Options
FollowSymLinks or SymLinksIfOwnerMatch is off which implies that
RewriteRule directive is forbidden: <i class="moz-txt-slash"><span
class="moz-txt-tag">/</span>home/brasto/www/chsalumni<span
class="moz-txt-tag">/</span></i>,
referer: <a class="moz-txt-link-freetext"
href="http://chsalumni.net/wp-admin/options-permalink.php">h ttp://chsalumni.net/wp-admin/options-permalink.php</a>
==> /var/log/httpd/brasto/chsalumni/access_log <==
67.182.203.21 - - [24/Feb/2010:23:38:48 -0700] "GET /icons/apache_pb.gif
HTTP/1.1" 200 2326 <a class="moz-txt-link-rfc2396E"
href="http://chsalumni.net/">"http://chsalumni.net/"</a> "Mozilla/5.0 (X11; U; Linux
x86_64; en-US; rv:1.9.1.6) Gecko/20091201 SUSE/3.5.6-1.1.1 Firefox/3.5.6"
67.182.203.21 - - [24/Feb/2010:23:38:48 -0700] "GET
<i class="moz-txt-slash"><span class="moz-txt-tag">/</span>icons/powered_by_rh.png HTTP/1.1" 200 1213 "<a class="moz-txt-link-freetext" href="http://chsalumni.net">http://chsalumni.net</a><span
class="moz-txt-tag">/</span></i>"
"Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.6) Gecko/20091201
SUSE/3.5.6-1.1.1 Firefox/3.5.6"
This site I can leave broken for longer, so I'll leave it this way
hoping we can find a solution soon. Of course, FollowSymLinks is set,
though I have not tested SymLinksIfOwnerMatch on this site like I did
the other.
Finally, somone asked for the perms on the doc root directory and other config files in conf.d:
<i class="moz-txt-slash"><span class="moz-txt-tag">/</span>home/brasto > ls -al www<span
class="moz-txt-tag">/</span></i>
total 79836
drwsrwsr-x 16 brasto apache 4096 Feb 24 09:20 .
<snip>
For config files:
# ls -al <i class="moz-txt-slash"><span class="moz-txt-tag">/</span>etc/httpd/conf.d<span
class="moz-txt-tag">/</span></i>
total 36
drwxr-xr-x 2 root root 4096 Feb 13 12:18 .
drwxr-xr-x 4 root root 4096 Feb 16 15:24 ..
-rw-r--r-- 1 root root 674 Nov 20 10:26 php.conf
-rw-r--r-- 1 root root 566 Nov 12 16:47 proxy_ajp.conf
-rw-r--r-- 1 root root 392 Nov 12 16:47 README
-rw-r--r-- 1 root root 9677 Nov 12 16:47 ssl.conf
-rw-r--r-- 1 root root 298 Feb 12 22:58 welcome.conf
The only thing I found that might be related is welcome.conf, which
probably explains why I get the page served that I do for the 403. It
only has this (commented lines excluded):
<LocationMatch "^/+$">
Options Indexes
ErrorDocument 403 /error/noindex.html
</LocationMatch>
Thank you all for your help.
Brandon
</pre>
</body>
</html>
--------------060108050801010103040105--
