I have a problem in Apache2. I changed my root directory to certain folder as in /var/www. I have php files under /html folder. Whenever I try to open any file under /html folder in web browser using link, it does not show anything.
This is how my "default" file looks like.
<VirtualHost *:80>
ServerAdmin webmaster#localhost
DocumentRoot /var/www/
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/web/html>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
#
#<Directory /var/www/web/>
#<Directory /home/jenismodi/testFolder/>
# Options Indexes FollowSymLinks MultiViews
# AllowOverride None
# Order allow,deny
# allow from all
# </Directory>
# <Directory /var/www/web/html/>
#<Directory /home/jenismodi/testFolder/>
# Options Indexes FollowSymLinks MultiViews
# 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>
ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
</VirtualHost>
Can anyone tell me what am I doing wrong here ?
Thanks.
JM
You're forgetting to read your error log.
Related
I wanted to set up a virtualhost for my apache2 running on my computer. So when I browse to: "invision.jan.pcsg" I get the page contents/folder structure from "/var/www/html/invision"
This is the virtualhost file "invision.jan.pcsg.conf" I created:
<VirtualHost invision.jan.pcsg:80>
ServerAdmin webmaster#localhost
DocumentRoot /var/www/html/invision
ServerName invision.jan.pcsg
ServerAlias hkl.mor.pcsg hkl_at.mor.pcsg
<Directory />
Options FollowSymLinks
AllowOverride FileInfo
</Directory>
<Directory /var/www/html/invision/>
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>
ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
When I browse to "invision.jan.pcsg" now, I get redirected to localhost and the "php is working"-page is displayed.
When browsing to "jan.pcsg" the folder contents of "/var/www" is displayed.
Does anyone have an idea why this happens?
I had the same issue but in my case I realized I had forgotten to enable the host .conf file.
sudo a2ensite myvhost.conf
Then I just reloaded apache and everything worked out as expected.
Change your DocumentRoot to directory where your web application ('view' if its MVC) is located.
Usually its : DocumentRoot /home/www-data/ /
I am using Ubunto.When i browse my local host i would like to see my shared directory named myproj. now when i browse it ,this is the message i receive:
Forbidden
You don't have permission to access / on this server.
I tried:
1)giving permission to anyone on this directory and changed the owner to my current user
2) changed my conf settings to below:
Can anyone help me fixing this?
my conf settings is as below:
<VirtualHost *:80>
ServerAdmin webmaster#localhost
DocumentRoot /etc/apache2/sites-available/myproj
<Directory /myproj>
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory /etc/apache2/sites-available/myproj>
Options -Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
deny None
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride All
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
In the conf you should change:
-Indexes
To:
Indexes
Then, after restarting Apache and provided that /etc/apache2/sites-available/myproj does not have an index.html or index.php as default document you can see the contents of that folder displayed in your browser.
I have a problem with my apache2, the url rewriting don't work and I don't know why...
In my phpinfo(), I have:
Loaded Modules: mod_rewrite
My .htaccess:
Options +FollowSymLinks
RewriteEngine on
RewriteRule ^test\.html$ /test.php [L]
My Apache config:
<VirtualHost>
ServerAdmin mail#gmail.com
ServerName www.site.com
ServerAlias site.com
DocumentRoot /var/www/site.com/
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory /var/www/site.com/>
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 All
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog /var/log/apache2/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/access.log combined
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride All
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
</VirtualHost>
I think my config is right, but I really don't know why my rewriting don't work... Have you an idea ?
Thanks you so much !
For this particular rule:
RewriteRule ^test\.html$ /test.php [L]
Mod_negotiation is going to try to deal with it for you. You want to turn Multiviews off if you want that to work:
Options -Multiviews
at the top of your htaccess file, or remove it from your <Directory> container:
<Directory /var/www/site.com/>
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
allow from all
</Directory>
I have installed zendserver and it is running on http://localhost:81/.
Now I have created zend framework 2 project in Apache2/htdocs/zend2 and accessing this through http://localhost:81/zend2/public.
I have to set virtual host for this like zend.local but it is not working.
In httpd.conf file
NameVirtualHost *:81
<VirtualHost *:81>
<Directory "C:\Program Files/Zend/Apache2/htdocs/zend2/public">
Options FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
DocumentRoot C:\Program Files/Zend/Apache2/htdocs/zend2/public/
ServerName zend.local
ServerAlias zend.local
</VirtualHost>
and In hosts file
127.0.0.1 zend.local
I have tried all possibilities but nothing works.
I recommend installing ubuntu for development i dont see how your doing it on windows and how it doesn’t annoy you.
try this:
make a copy of the default portion and just add ServerName Zend.local then modify the paths and that should work. You might also want to try restarting the computer that sometimes makes it work (rare occasions)
here is a copy of mine that works but its under ubuntu so it might or might not work for you.
<VirtualHost *:80>
#ZEND-{354B5BC7F803049AB79DE95C47F32B59}
Include "/usr/local/zend/etc/sites.d/zend-default-vhost-80.conf"
#ZEND-{354B5BC7F803049AB79DE95C47F32B59}
ServerAdmin webmaster#localhost
ServerName zendapp.dev
DocumentRoot /var/www/vhosts/zendapp/public
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory /var/www/vhosts/zendapp/public/>
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>
ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
</VirtualHost>
#ZEND-{90331A19916187EEA0C9B3A8FE0E1632}
Include "/usr/local/zend/etc/sites.d/globals-*.conf"
Include "/usr/local/zend/etc/sites.d/vhost_*.conf"
#ZEND-{90331A19916187EEA0C9B3A8FE0E1632}
When using Silex, I define a simple route like this:
$app->get('/hello', function() use ($app, $help){
$response = new Response(
json_encode( array("message"=>"hello") ), 400
);
return $response;
});
With: curl -X GET -i -c cookies.txt http://mysite/web/hello.
I get: {"message":"hello"}
But
With: curl -X GET -k -i -c cookies.txt https://mysite/web/hello
I get: HTTP/1.1 404 Not Found
How can I define the same route for both, http and https, based on the security context in the request ?
UPDATE1: EXTRA INFORMATION
Apache2 is configured in the following way:
default
<VirtualHost *:80>
ServerName mysite
DocumentRoot /var/www/mydev
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/mydev/>
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>
ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
default-ssl
<IfModule mod_ssl.c>
<VirtualHost _default_:443>
ServerName mysite
DocumentRoot /var/www/mydev
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/mydev/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
... Using default Apache2 configuration
SSLEngine on
# A self-signed certificate can be ...
SSLCertificateKeyFile /home/user1/ssl/server.key.insecure
...
</VirtualHost>
</IfModule>