Difference between revisions of "Apache"

From Alessandro's Wiki
Line 19: Line 19:
   Allow from all
   Allow from all
  </Directory>
  </Directory>
=== In Gentoo ===
=== Gentoo ===
* vado diretto alla versione 2:
* vado diretto alla versione 2:
** file di configurazione;
** file di configurazione;
Line 29: Line 29:
controllare le USE flags che ci servono e poi
controllare le USE flags che ci servono e poi
  emerge apache
  emerge apache
=== In Fedora ===
=== Fedora ===
* file di configurazione;
* file di configurazione;
  /etc/httpd/conf/httpd.conf
  /etc/httpd/conf/httpd.conf
Line 36: Line 36:
* Installarlo
* Installarlo
  yum install httpd
  yum install httpd
=== Proxy ===
* directives to have into httpd.conf or a virtual host configuration file
==== Reverse Proxy ====
<pre>
ProxyPass /foo http://foo.example.com/bar
ProxyPassReverse /foo http://foo.example.com/bar
/pre>
==== Forward Proxy ====
<pre>
ProxyRequests On
ProxyVia On
</pre>
<pre>
<Proxy *>
Order deny,allow
Deny from all
Allow from internal.example.com
</Proxy>
</pre?>


=== SSL VirtualHost ===
=== SSL VirtualHost ===

Revision as of 19:25, 7 November 2010

  • Potente server web multipiattaforma

Configurazione

Impostare ServerName!

Bandwidth

wget http://bwmod.sourceforge.net/files/mod_bw-0.7.tgz
tar zxvf mod_bw-0.7.tgz
cd mod_bw
apxs2 -i -a -c mod_bw.c

Direcoty Indexes

Per ingrandire la colonna del nome del file:

IndexOptions NameWidth=*

Aggiungere un alias per esportare una directory non nella root www:

Alias /_bin "/ciao/_linux_bin/"
<Directory "/ciao/_linux_bin/">
 Options Indexes MultiViews
 AllowOverride None
 Order allow,deny
 Allow from all
</Directory>

Gentoo

  • vado diretto alla versione 2:
    • file di configurazione;
/etc/apache2/httpd.conf
  • Directory del web default:
/var/www/localhost/htdocs
  • Installarlo:
emerge -pvtD apache

controllare le USE flags che ci servono e poi

emerge apache

Fedora

  • file di configurazione;
/etc/httpd/conf/httpd.conf
  • Directori del web default:
/var/www/html/
  • Installarlo
yum install httpd

Proxy

  • directives to have into httpd.conf or a virtual host configuration file

Reverse Proxy

ProxyPass /foo http://foo.example.com/bar
ProxyPassReverse /foo http://foo.example.com/bar
/pre>
==== Forward Proxy ====
<pre>
ProxyRequests On
ProxyVia On
<Proxy *>
Order deny,allow
Deny from all
Allow from internal.example.com
</Proxy> 
</pre?>

=== SSL VirtualHost ===

* using Gentoo distribution.

# enable '''ssl''' use flag for apache package
# edit default virtual host for a listening interface and port:
 "Listen [::]:443" 
 '''or''' "Listen 0.0.0.0:443"
 '''or''' Listen 192.168.82.82:443
# we want name based virtual hosts
 NameVirtualHost *:443


==== Generating certificate ====

* replace the "server" name with your domain name of your website.

 SRVname=server
 cd /etc/ssl/apache2
 openssl genrsa 2048 > $SRVname.key
 openssl req -new -x509 -nodes -sha1 -days 365 -key $SRVname.key > $SRVname.crt

* Repeat the last step as many virtual hosts you have to serve under an ssl connection, remember to change the SRVname variable in the code:


==== Virtual host configuration ====

* example of a basic ssl virtual host:

<pre>

<VirtualHost *:80>
        ServerName mysslvirtualhost.example.com
        ServerAlias mysslvirtualhost
        Redirect permanent / https://mysslvirtualhost.example.com/
</VirtualHost>

<VirtualHost *:443>

        DirectoryIndex index.php

# SSL 
        SSLEngine on
        SSLCertificateFile /etc/ssl/apache2/server-gallerie.crt
        SSLCertificateKeyFile /etc/ssl/apache2/server-gallerie.key

        ServerName mysslvirtualhost.example.com
        ServerAlias mysslvirtualhost

        SSLOptions StrictRequire
        SSLProtocol all -SSLv2
#
        DocumentRoot "/var/www/mysslvirtualhost/htdocs"
        <Directory "/var/www/mysslvirtualhost/htdocs">
                SSLRequireSSL
                AllowOverride All
                Order Deny,Allow
                Allow from All
        </Directory>

 CustomLog     /var/log/apache2/mysslvirtualhost.log combined
 ErrorLog      /var/log/apache2/mysslvirtualhost_error.log
 LogLevel warn

</VirtualHost>