Difference between revisions of "Apache httpd"

from HTYP, the free directory anyone can edit if they can prove to me that they're not a spambot
Jump to navigation Jump to search
m (moved Apache to software/Apache: disambiguation)
m (→‎Official: old URL was for all Apache projects)
 
(13 intermediate revisions by the same user not shown)
Line 1: Line 1:
 +
<hide>
 +
[[page type::article]]
 +
[[thing type::software]]
 +
[[architecture::server]]
 +
[[purpose::web server]]
 +
[[license::open source]]
 +
[[category:software]]
 +
</hide>
 
==About==
 
==About==
[[category:software]]This page is about the [[Apache]] web server. (Maybe it should be renamed "Apache web server" or "Apache HTTP Server" at some point, with "Apache" being a disambiguation page.){{seed}}
+
This page is about the [[Apache web server]] software.
 +
===Subpages===
 +
* [[/.htaccess]]
 +
* [[/mod_rewrite]]
 +
* [[/SSL]]: configuring Apache to serve [[https]] ([[secure sockets layer|SSL]])
 +
* [[/variables]]: the <code>${varname}</code> syntax in Apache's config files
 +
 
 
===Related Pages===
 
===Related Pages===
 
* [[Apache and PHP]]
 
* [[Apache and PHP]]
==Notes==
+
===useful commands===
To get SSL working with virtual hosting (or at all, really), I had to do the following:
+
* <code>[[apachectl]]</code>
* in [[apache2.conf]]:
+
** <code>apachectl configtest</code> tests the current configuration without trying to load it (which could result in Apache not running), and gives diagnostic information
# added above the "Include /etc/apache2/sites-enabled/" line:
+
* <code>[[a2enmod]] {{arg|module_name}}</code> enables a module
NameVirtualHost *:443
+
* <code>[[a2dismod]] {{arg|module_name}}</code> disables a module
# added below it:
+
* <code>[[apache2_invoke]]: just noticed this in an update, not sure what it does (something like a2enmod?)</code>
SSLProtocol -all +TLSv1 +SSLv3
+
 
SSLCertificateFile /etc/apache2/certs/server.crt
+
Enabling a module is ''usually'' just a matter of making links from the module's configuration files (sometimes there is more than one file) in <code>/mods-available</code> and putting them in <code>/mods-enabled</code>, but this is a safe and quick way to make sure that all the necessary files are linked.
SSLCertificateKeyFile /etc/apache2/certs/server.key
+
 
* in [[ports.conf]]:
+
To see all accesses to your Apache server in more-or-less real-time, run the following from your Apache logfile directory:
<IfModule mod_ssl.c>
+
<syntaxhighlight lang=bash>find . -name "*.log" | xargs tail -f</syntaxhighlight>
    # SSL name based virtual hosts are not yet supported, therefore no
+
Note that if you are using [[Virtualmin]] to configure Apache, logfiles for the domains will probably be in <code>/var/log/virtualmin</code>.
    # NameVirtualHost statement here
 
    Listen 443 https
 
</IfModule>
 
* Pick which domain to serve for [[https]] requests, and add to that site's config file:
 
<VirtualHost *:443>
 
        SSLEngine on
 
        (copy of essential stuff from <VirtualHost:*>)
 
</VirtualHost>
 
* (and finally...) Remember to forward port 443 on the router.
 
===useful diagnostics===
 
To see accesses to your Apache server in more-or-less real-time, run the following from your Apache logfile directory:
 
find . -name "*.log" | xargs tail -f
 
  
 
==Links==
 
==Links==
 
===Official===
 
===Official===
* [http://httpd.apache.org Apache HTTP Server homepage]
+
* [http://httpd.apache.org home page]
 +
** [https://cwiki.apache.org/confluence/display/HTTPD/ wiki]

Latest revision as of 15:18, 1 April 2022

About

This page is about the Apache web server software.

Subpages

Related Pages

useful commands

  • apachectl
    • apachectl configtest tests the current configuration without trying to load it (which could result in Apache not running), and gives diagnostic information
  • a2enmod <module_name> enables a module
  • a2dismod <module_name> disables a module
  • apache2_invoke: just noticed this in an update, not sure what it does (something like a2enmod?)

Enabling a module is usually just a matter of making links from the module's configuration files (sometimes there is more than one file) in /mods-available and putting them in /mods-enabled, but this is a safe and quick way to make sure that all the necessary files are linked.

To see all accesses to your Apache server in more-or-less real-time, run the following from your Apache logfile directory:

find . -name "*.log" | xargs tail -f

Note that if you are using Virtualmin to configure Apache, logfiles for the domains will probably be in /var/log/virtualmin.

Links

Official