<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Linux User &#187; Apache</title>
	<atom:link href="http://www.linuxuser.co.uk/category/tutorials/apache/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.linuxuser.co.uk</link>
	<description></description>
	<lastBuildDate>Tue, 07 Feb 2012 10:48:21 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Develop Apache HTTP Server Modules</title>
		<link>http://www.linuxuser.co.uk/tutorials/develop-apache-modules/</link>
		<comments>http://www.linuxuser.co.uk/tutorials/develop-apache-modules/#comments</comments>
		<pubDate>Fri, 22 Oct 2010 13:29:43 +0000</pubDate>
		<dc:creator>RussellBarnes</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[modules]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[web server]]></category>

		<guid isPermaLink="false">http://www.linuxuser.co.uk/?p=3984</guid>
		<description><![CDATA[Apache HTTP Server is one of the most iconic open source projects in human history. It's also the world’s most used and respected web server. In this tutorial you'll learn how to add your own features to it…]]></description>
			<content:encoded><![CDATA[<!--buy_online--><p><em>This article originally appeared in <a href=" http://www.linuxuser.co.uk/magazine-issues/linux-user-developer-issue-92-is-out-now/" target="_blank">issue 92</a> of <a href="http://www.linuxuser.co.uk" target="_blank">Linux User &amp; Developer</a> magazine.<a href="http://www.imagineshop.co.uk/linuxuseranddeveloper/" target="_blank"><img class="size-full wp-image-2388 alignright" title="Develop Apache HTTP Server Modules" src="http://www.linuxuser.co.uk/wp-content/uploads/2010/07/buy_online.jpg" alt="Develop Apache HTTP Server Modules" width="92" height="24" /></a> Subscribe and save more than 30% and receive our exclusive money back guarantee – click <a href="https://imagine.subscribeonline.co.uk/all-titles/linux-user-&amp;-developer?offer=WEB100">here</a> to find out more.</em></p>
<p>As of February 2010, Apache served over 54.46% of all websites and over 66% of the million busiest. It is available on a wide variety of platforms including Linux, Mac OS X, Windows and BSD. One of the key factors behind Apache HTTP Server’s success is its modular architecture. The Apache HTTP Server core is very simple and doesn’t do much. The default distribution of HTTP Server contains the core and a set of core Apache Modules that handle most of the web-server-related operations. This modular architecture presents several benefits. For example, instead of running the full server, one can enable only the modules that one will use; this way one can run the most efficient version of the HTTP Server without changing the server code. Another benefit of modular architecture is extensibility. Apache as a web server community implements a defined feature set approved by the community, but that may or may not be enough for everybody. With extensible architecture, anybody can extend Apache HTTP Server according to their needs by developing Apache modules.</p>
<p>As mentioned previously, Apache HTTP Server comes with several built-in modules. You can run the following command to find out the list of built-in (or compiled-in) modules:</p>
<pre class="brush: bash; title: ; notranslate">$ apachectl -l
</pre>
<p>Names starting from mod_ are the actual modules that we are talking about and can be disabled or enabled using the httpd.conf file.</p>
<p>The vanilla distribution (when compiled with default options) of Apache HTTP Server (2.2.16) comes with the following important modules…</p>

					<div class="adInPost">
						<script type="text/javascript">
							GA_googleFillSlot("LUD_MidPage_MPU1");
						</script>
					</div><p><em>mod_authn_file.c:</em> This provides a user authentication system using plain text files.<br />
<em>mod_authn_default.c:</em> This module provides fallback for the authentication system. If you have not configured an authentication module, this module will reject any credential provided by user.<br />
<em>mod_authz_host.c:</em> Provides group authentication based on host name or IP address<br />
<em>mod_authz_groupfile.c:</em> Provides group authentication using plain text files.<br />
<em>mod_authz_user.c:</em> Provides the base user authentication system.<br />
<em>mod_include.c:</em> Processes the server-side include files.<br />
<em>mod_filter.c: </em>This module enables smart, context-sensitive configuration of output content filters.<br />
<em>mod_log_config.c: </em>Provides logging system for client request.<br />
<em>mod_env.c:</em> Modifies the environment which is passed to CGI scripts and SSI pages.<br />
<em>mod_mime.c:</em> Provides the valid MIME type of a file that is being served.<br />
<em>mod_autoindex.c:</em> Generates directory indexes automatically, similar to the UNIX<br />
‘ls’ command.<br />
<em>mod_cgi.c:</em> Provides support for CGI scripts.<br />
<em>mod_dir.c:</em> Provides for ‘trailing slash’ redirects and serving directory index files.<br />
<em>mod_alias.c:</em> Provides mapping support for file system directory and URL redirection.<br />
<em>mod_so.c: </em>Provides support for module loading during server startup or restart.</p>
<p><strong>Developing a &#8216;Hello World&#8217; Apache Module</strong><br />
First of all perform the following steps to install Apache from source:</p>
<pre class="brush: bash; title: ; notranslate">$ wget http://mirror.cloudera.com/apache//httpd/httpd-2.2.16.tar.gz
$ tar xvfz http-*
$ cd httpd*
$ ./configure --prefix=$HOME/ludapache //This will install apache into ludapache folder in your home directory.
$ make
$ make install
</pre>
<p>By now you will have the Apache Web Server installed and configured to listen on default HTTP port, ie 80. On most of the UNIX systems, port 80 is reserved for the system web server and can only be run with root privileges. To run the web server in non-root mode we will need to make some changes to the Apache configuration file:</p>
<pre class="brush: bash; title: ; notranslate">$ &amp;lt;HTTPD Direcotry&amp;gt;/conf/httpd.conf
</pre>
<p>In the following section, change ‘Listen 80’ to ‘Listen 3322’.</p>
<pre class="brush: bash; title: ; notranslate"># Listen: Allows you to bind Apache to specific IP addresses and/or
# ports, instead of the default. See also the &amp;lt;VirtualHost&amp;gt;
# directive.
# Change this to Listen on specific IP addresses as shown below to
# prevent Apache from glomming onto all bound IP addresses.
#Listen 12.34.56.78:80
Listen 3322
</pre>
<h3 style="text-align: center;"><a href="http://www.linuxuser.co.uk/tutorials/develop-apache-modules/2/" target="_self">Continue to page 2 &#8211; building a &#8216;Hello World&#8217; module</a></h3>
<a href="http://twitter.com/LinuxUserMag" target="_blank">
                <img src="http://www.linuxuser.co.uk/wp-content/themes/linuxuser"/images/twitter_follow.png" width="160" height="60" border="2" alt="twitter follow us" />
            </a>
]]></content:encoded>
			<wfw:commentRss>http://www.linuxuser.co.uk/tutorials/develop-apache-modules/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Network security &#8211; how to prevent attacks &amp; secure your server</title>
		<link>http://www.linuxuser.co.uk/tutorials/network-security/</link>
		<comments>http://www.linuxuser.co.uk/tutorials/network-security/#comments</comments>
		<pubDate>Mon, 28 Dec 2009 07:00:02 +0000</pubDate>
		<dc:creator>RussellBarnes</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[Networks]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Features]]></category>
		<category><![CDATA[Network]]></category>
		<category><![CDATA[Swayam Prakasha]]></category>
		<category><![CDATA[web server]]></category>

		<guid isPermaLink="false">http://www.linuxuser.co.uk/?p=579</guid>
		<description><![CDATA[Swayam Prakasha explains the types of attacks that could happen over a network and their preventive measures. He also takes a look at various means of securing a web server...]]></description>
			<content:encoded><![CDATA[<!--558018-300x214--><p><strong><a href="http://www.linuxuser.co.uk/wp-content/uploads/2009/12/558018.jpg" rel="lightbox[579]"><img class="alignright size-medium wp-image-595" title="558018" src="http://www.linuxuser.co.uk/wp-content/uploads/2009/12/558018-300x214.jpg" alt="558018" width="300" height="214" /></a>Swayam Prakasha explains the types of attacks that could happen over a network and their preventive measures. He also takes a look at various means of securing a web server</strong></p>
<p><strong>Advisor:<br />
</strong>Swayam Prakasha has been working in information technology for several years, concentrating on areas such as operating systems, networking, network security, electronic commerce, internet services, LDAP and web servers. Swayam has authored a number of articles for trade publications, and he presents his own papers at industry conferences.</p>
<p>Network and information security refers to the confidence that unauthorised users cannot access the information and services available on a network. Security implies safety. It assumes data integrity, freedom from unauthorised access of resources and freedom from disruption of services. As far as security is concerned, we need to protect both physical and abstract resources, such as information. Protecting the latter is more difficult.<br />
Information security is concerned with three main areas: confidentiality (information should be available only to those who rightfully have access to it), integrity (information should be modified only by those who are authorised to do so) and availability (information should be accessible to those who need it when they need it).</p>
<p><strong>Authentication attack</strong><br />
On the internet, where data passes across intermediate routers and networks, source authentication can be easily attacked at one of the intermediate routers. For example, an impostor can gain control of a router, ‘R’, that lies between a valid client and a server. He can then alter the routes in R to direct return traffic to him and generate a request using the authorised client’s address as a source address. The server will, in this case, accept the request and send the reply to the authorized client. When it reaches R, the reply will be forwarded along the incorrect route to the impostor.</p>

					<div class="adInPost">
						<script type="text/javascript">
							GA_googleFillSlot("LUD_MidPage_MPU1");
						</script>
					</div><p>The above example illustrates the need for the server and client to not communicate with impostors. One way of ensuring this is to use the authentication mechanism (also known as IP address authentication). This is a simple security mechanism to verify identification. Here, a server is configured with a list of valid IP source addresses. And when a request arrives, the server makes sure that it’s from a valid client by matching the client’s IP address with the ones in the configured list. Only if the client is authorised does the server grant it the service requested for.</p>
<p>Another method is the public-key encryption mechanism. In this case, we will be using a pair of keys: a public key and a private key. The sender using the public key of the receiver will encrypt the message and when the receiver receives it, he decrypts it using his private key (which only he knows). Thus the sender can make sure that only the intended receiver will receive the message. The public key encryption can be used for authentication, confidentiality and integrity of the messages.</p>
<blockquote><p><strong>Top Vulnerabilities<br />
1. Default installations of operating system and applications<br />
2. Accounts with no password or weak password<br />
3. Non-existent or incomplete backup<br />
4. A large number of open ports<br />
5. Not filtering packets for correct incoming and outgoing addresses<br />
6. Non-existent or incomplete logging<br />
7. Vulnerable CGI programs<br />
8. Sendmail vulnerabilities<br />
9. BIND weaknesses</strong></p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.linuxuser.co.uk/tutorials/network-security/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Publish and manage content with DokuWiki</title>
		<link>http://www.linuxuser.co.uk/features/publish-and-manage-with-dokuwiki/</link>
		<comments>http://www.linuxuser.co.uk/features/publish-and-manage-with-dokuwiki/#comments</comments>
		<pubDate>Wed, 23 Dec 2009 07:00:54 +0000</pubDate>
		<dc:creator>RussellBarnes</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[Applications]]></category>
		<category><![CDATA[Features]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Dmitri Popov]]></category>
		<category><![CDATA[DokuWiki]]></category>
		<category><![CDATA[manage]]></category>

		<guid isPermaLink="false">http://www.linuxuser.co.uk/?p=475</guid>
		<description><![CDATA[This tutorial will help you to get started with DokuWiki and show you how to extend its functionality with plug-ins…]]></description>
			<content:encoded><![CDATA[<!--Dmitri-Popov-300x253--><!--01-300x192--><p><strong><a href="http://www.linuxuser.co.uk/wp-content/uploads/2009/12/Dmitri-Popov.jpg" rel="lightbox[475]"><img class="alignright size-medium wp-image-367" title="Dmitri Popov" src="http://www.linuxuser.co.uk/wp-content/uploads/2009/12/Dmitri-Popov-300x253.jpg" alt="Dmitri Popov" width="180" height="152" /></a>This tutorial will help you to get started with DokuWiki and show you how to extend its functionality with plug-ins…</strong></p>
<p><strong>Advisor:<br />
<em>Dmitri Popov</em></strong><br />
Dmitri has been writing exclusively about open source software for almost a decade, with a focus on productivity tools and applications.</p>
<p><strong>Resources:</strong><br />
A server with the Apache server and PHP 4.3.3 or higher<br />
The latest stable version of <a title="Dokuwiki " href="http://www.dokuwiki.org/dokuwiki " target="_blank">DokuWiki </a><br />
<a title="Tag Plugin" href="http://www.dokuwiki.org/plugin:tag" target="_blank">Tag plug-in</a><br />
<a title="DISQUS Plugin" href="http://www.dokuwiki.org/plugin:disqus" target="_blank">DISQUS plug-in </a><br />
<a title="ODT plugin" href="http://www.dokuwiki.org/plugin:odt" target="_blank">ODT plug-in</a><br />
<a title="Statistics plugin" href="http://www.dokuwiki.org/plugin:statistics" target="_blank">Statistics plug-in</a><br />
<a title="Sync plugin" href="http://www.dokuwiki.org/plugin:sync" target="_blank">Sync plug-in</a></p>
<p>DokuWiki has gradually evolved into a powerful and flexible wiki engine suitable for most tasks involving web publishing and collaborative editing. This lightweight and elegant wiki software offers a few nifty features that make it a compelling choice for individual users and work groups alike. DokuWiki doesn’t use a database back-end (all pages are stored as plain text files), which makes it significantly easier to install and maintain a wiki. It provides a flexible mechanism for managing users and their privileges. More importantly, DokuWiki’s default functionality can be extended using plug-ins, and the project’s website features hundreds of modules that can turn your wiki into pretty much anything you like: a blog engine, photo gallery, or database front-end. In other words, no matter what type of content your want to publish on the web, chances are that DokuWiki can handle it with consummate ease.</p>
<p><strong>This article originally appeared in issue 80 of <em>Linux User &amp; Developer</em> magazine. <a title="Linux User &amp; Developer back issues" href="http://www.imagineshop.co.uk/products_show.php?typeID=211" target="_blank">Back issues are still available.</a></strong></p>
<p><strong><a href="http://www.linuxuser.co.uk/wp-content/uploads/2009/12/01.jpg" rel="lightbox[475]"><img class="alignright size-medium wp-image-478" title="01" src="http://www.linuxuser.co.uk/wp-content/uploads/2009/12/01-300x192.jpg" alt="01" width="299" height="192" /></a>01     Install DokuWiki</strong><br />
Grab the latest release of DokuWiki from the project’s website, unpack the downloaded archive and rename the resulting directory to dokuwiki. Then move the dokuwiki folder into the document root of your Apache server. If you are using XAMPP, the document root is the htdocs directory.</p>

					<div class="adInPost">
						<script type="text/javascript">
							GA_googleFillSlot("LUD_MidPage_MPU1");
						</script>
					</div><p><strong>02    Install DokuWiki (continued)</strong><br />
Make the data, conf and lib/plugins directories writable by running the chmod command as root – for example: chmod -R 777 /opt/lampp/htdocs/dokuwiki/data. Point your browser to http://yourserver/dokuwiki/install.php and provide the required information. To make your DokuWiki installation more secure, enable the ACL (Access Control List) feature and grant editing rights only to registered users.</p>
<p><strong>03    Configure DokuWiki settings</strong><br />
Before you start using your wiki, you should configure DokuWiki’s settings. To do that, log in using the username and password you specified during installation, press the Admin button and click on the Configuration Settings link. This opens the Configuration Manager page containing all DokuWiki’s configuration options.</p>
<p><strong>04     Configure basic settings</strong><br />
First of all, you might want to choose the appropriate licence for your wiki’s content. Next, set the Use First Heading For Pagenames option to Always, to force DokuWiki to use the first heading in the text as the page’s title. This might sound like a minor thing, but it greatly improves the overall readability of your wiki.</p>
<p><strong>05    Disable DokuWiki actions</strong><br />
The Disable DokuWiki Actions section lets you disable certain features. For example, if you plan to use your wiki as a conventional content management system, you might want to disable the Old Revisions feature. You can also prevent users from creating accounts in your wiki by disabling the Register function.</p>
<p><strong>06    Modify editing settings</strong><br />
DokuWiki allows you to enable embedding of HTML and PHP code in wiki pages, but you have to enable this functionality manually by ticking the appropriate checkboxes in the Editing Settings section. Keep in mind, though, that according to DokuWiki’s developer, enabling this feature makes your wiki less secure.</p>
<p><strong>07     Tweak advanced settings</strong><br />
The Advanced Settings section allows you to enable and configure several useful settings, including nice URLs which format URLs in a more readable format. You can also enable the 404 error message for non-existing pages, specify the RSS feed format, as well as enable the XML-RPC interface which lets you access your wiki from external applications.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.linuxuser.co.uk/features/publish-and-manage-with-dokuwiki/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WebIssues: Track Thy Bugs</title>
		<link>http://www.linuxuser.co.uk/tutorials/webissues-track-thy-bugs/</link>
		<comments>http://www.linuxuser.co.uk/tutorials/webissues-track-thy-bugs/#comments</comments>
		<pubDate>Thu, 17 Dec 2009 07:00:34 +0000</pubDate>
		<dc:creator>RussellBarnes</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[bugs]]></category>
		<category><![CDATA[Features]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[WebIssues]]></category>

		<guid isPermaLink="false">http://www.linuxuser.co.uk/?p=523</guid>
		<description><![CDATA[Bug tracking is a crucial part of any software development process. Having an efficient bug-tracking platform is very important. Most of the bug-tracking programs available today are web only. This poses a little bit of a problem. Web-based solutions are not very good at delivering the performance of a desktop application, no matter how much Web 2.0, Web 3.0 and AJAX you add…]]></description>
			<content:encoded><![CDATA[<!--Kunal-Deo-300x265--><!--ListOfBugs--><p><em><strong><a href="http://www.linuxuser.co.uk/wp-content/uploads/2009/12/Kunal-Deo.jpg" rel="lightbox[523]"><img class="alignright size-medium wp-image-528" title="Kunal Deo" src="http://www.linuxuser.co.uk/wp-content/uploads/2009/12/Kunal-Deo-300x265.jpg" alt="Kunal Deo" width="216" height="191" /></a>WebIssues is one of the rare bug-tracking programs that combines the ease of use of a desktop application and the scalability of a web application…</strong></em></p>
<p><strong>Advisor:<br />
<em>Kunal Deo</em></strong><br />
A veteran open source developer currently leading two open source projects – WinOpen64 and KUN Wiki. Kunal is also a KDE developer who has contributed to many open source projects including KDE-Solaris, Belenix and Openmoko. He’s written numerous articles on open source, Solaris and Linux related technologies for various technical magazines around the globe. He is also writing a book, ‘Porting On Open Solaris’</p>
<p><strong>Resources:</strong><br />
<a title="WebIssues downloads" href="http://webissues.mimec.org/downloads/stable" target="_blank">WebIssues client and server packages</a><br />
This tutorial is written for 0.9.5 (Client) and 0.8.4 (Server), but can be used with other versions too.<br />
Mandatory development packages include GCC, g++, automake, make etc.<br />
Nokia Qt 4.2 or later development packages. Please note that you will need the development packages for Qt. In a few distributions, development packages are suffixed with dev or devel. For example, Fedora lists it as qt-devel. To check that you have installed the correct version of Qt, you can run the following command:<strong><br />
$ qmake -v</strong><br />
In recent versions of Fedora Linux, qmake (and other command-line tools) are packaged as qmake-qt4 . You may want to create a symbolic link to qmake in case you run into any problems.<br />
Apache Web Server and PHP Module for Apache<br />
MySQL Database Server<br />
PHP MySQL Database extension (php-mysql or php-mysqli)</p>
<p>Bug tracking is a crucial part of any software development process. Having an efficient bug-tracking platform is very important. Most of the bug-tracking programs available today are web only. This poses a little bit of a problem. Web-based solutions are not very good at delivering the performance of a desktop application, no matter how much Web 2.0, Web 3.0 and AJAX you add.</p>

					<div class="adInPost">
						<script type="text/javascript">
							GA_googleFillSlot("LUD_MidPage_MPU1");
						</script>
					</div><p>WebIssues provides a nice desktop application user experience. It is not just meant for bugs, but also provides team collaboration features that can help with software projects with large number of team members. WebIssues has a lot of features that makes the bug-tracking process very easy and intuitive. The following lists a few of the most important features of WebIssues:<br />
• Desktop-based lightweight client interface.<br />
• Reporting and data extraction facilities.<br />
• The capability for comprehensive security and rights management.</p>
<p>This tutorial is divided into the following three sections:<br />
1. Installation: In this first section we will talk about installing the WebIssues client and<br />
server components.<br />
2. Administration: This section will talk about basic administration tasks that you can do<br />
with WebIssues, such as creating a project and adding users.<br />
3. Bug Management: In this final section, we will talk about basic bug management tasks, like filing and editing a bug.</p>
<p style="text-align: center;"><a href="http://www.linuxuser.co.uk/wp-content/uploads/2009/12/ListOfBugs.jpg" rel="lightbox[523]"><img class="aligncenter size-full wp-image-530" title="WebIssues: Track Thy Bugs" src="http://www.linuxuser.co.uk/wp-content/uploads/2009/12/ListOfBugs.jpg" alt="WebIssues: Track Thy Bugs" width="532" height="343" /></a></p>
<p>So without further ado, let’s get started…</p>
<p><strong>This article originally appeared in issue 81 of<em> Linux User &amp; Developer</em> magazine.<br />
<a title="Linux User &amp; Developer back issues" href="http://www.imagineshop.co.uk/products_show.php?typeID=211" target="_blank">Back issues are available here.</a></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.linuxuser.co.uk/tutorials/webissues-track-thy-bugs/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

