Skip to main content

Creating a custom logs in apache2

In this article I try to explain how to create our own log file in apache2. Log files are there to keep records about the details of users ,time , host's IP  etc.. These details are used to analyzed about the users who visits web sites.

First of all you had to create a web site and should host in apache server.Following guidelines will help to you.According to your document root create a directories to keep your index file.
In my case I keep it /var/www/www.mypage.lk/htdocs. If you are not define custom log file to your site it will go to default place in /var/log/apache2 .And I create a log directory in side the www.mypage.lk to keep records of www.mypage.lk.

Normally log files are keep in /var/log/apache2. This is the default directory where apache log files are keep.  In this scenario I create log directory inside the www.mypage.lk directory. So my log file path will be /var/www/www.mypage.lk/logs.

go to /etc/apache2 and edit ports.conf file ( you can use an editor like vi or nano)
and change Listen 8080  (any port you can use) 
then go to the sites-available directory and create text file www.mypage.lk and It should be like this
use this command to edit $vi /etc/apache2/sites-available/www.mypage.lk . (You should first crate a file in sites-available directory)

  ------------www.mypage.lk--------------------
#
#  Example.com (/etc/apache2/sites-available/www.mypage.lk)
#

NameVirtualHost 127.0.0.1:8080
<VirtualHost 127.0.0.1:8080>
        ServerAdmin webmaster@localhost
        ServerName  www.mypage.lk
        ServerAlias www.mypage.lk

        # Indexes + Directory Root.
        DirectoryIndex index.html
        DocumentRoot /etc/www/www.mypage.lk/htdocs/

        # CGI Directory
        ScriptAlias /cgi-bin/ /var/opt/www.mypage.lk/cgi-bin/
        <Location /cgi-bin>
                Options +ExecCGI
        </Location>

        # Logfiles
    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" %T" timed-combined
    LogFormat "%T \"%r\"" mylog
        #ErrorLog  /var/opt/www.mypage.lk/logs/error.log
        CustomLog /var/opt/www.mypage.lk/logs/access.log mylog
</VirtualHost>

as I explain in previous article you should create  a symlink $ a2ensite www.mypage.lk and keep record in /etc/hosts file  as 127.0.0.1   www.mypage.lk .
Then when ever you type www.mypage.lk in browser it should shows your index file.

note : you can use any IP address and It should be a ip of apache server running.

In blue color shows what are the parameters should be recorded in log file. You can change it according to your preference. These are the some meanings of them.

%h      The remote host
%l      The remote logname (usually just "-")
%u      The authenticated user (if any)
%t      The time of the access
\"%r\"  The first line of the request
%>s     The final status of the request
%b      The size of the server's response, in bytes
\"%{Referer}i\"     The referrer URL, taken from the request's headers
\"%{User-Agent}i\"  The user agent, taken from the request's headers
 
 
In green color represent the name of each format of log. And you can create several formats by changing name. To assign each format you should give format name with relevant path to the log file. In red color represent the file path to our log file. Access.log is the log file name.



This is the record that we can see in the access.log in www.mypage.lk relevant to Log Format of  LogFormat "%T \"%r\"" mylog.

0 "GET / HTTP/1.1"
  



note : This is for apache2 in ubuntu and this may be change in other linux distributions.


Comments

Post a Comment

Popular posts from this blog

IP based vertual hosting in apache2

I think most of the people used ubuntu as their linux OS. There will be a little bit conflict when you are trying to use virtual hosting in apache2 according to centOS. In this article I will try to explain how it should done in ubuntu apache2. Anyway there is a few more things to know before you start. 1. httpd.conf  file is equal to apache2.conf in /etc/apache2/ 2. In apache2.conf includes some other conf file so that necessary settings should be done those files. e.g. changing port numbers should be done in ports.conf I will explain step by step vertual hosting using apacge2. I take /etc/var/www as a DocumentRoot any way if you want to change it, Change the default file which locate in /etc/apache2/sites-available/default file. To easy access create a folder called www.bict.lk (any choice)  and create htdocs and logs two folders inside www.bict.lk. Don't forget to create index.html file in htdocs folder. (html file which shows www.bict.lk ). These folders should b...

Variable Length Subnet Mask

I think it is better to tell the difference of Subnet Mask and Variable Length Subnet Mask(VLSM) at the beginning. As I discuss in earlier article Subnet Mask is there to split one IP address into several IP’s which can use in difference LAN’s. But the question is it limit the number of accessible hosts(computers) in each LAN.  Let takes the previous example,  192.168.5.0/26 (LAN A) can only have 62 (2^6 -2) computers(hosts). But Imagine that we need to keep 100 computers in LAB A? Now I think you can understand how Subnet Mask is questioned. The answer is Variable Length Subnet Mask. I try to discuss how we use VLSM in practice in this article. I rearrange the previous example as following. ISP given address -> 192.168.5.0 /24 LAN A -> 100  (lets think LAN A need 100 computers). LAN B ->50 LAN C -> 50 LAN D ->50 Let see how we solve this problem. 192.168.5.0 /24 is the given IP and we take one bit from host side of that IP. We can define two di...

Subnetting In Practice

Imagine that you need to make four different networks(LAN’s). Then you ask form ISP(Internet Service Provider) to four different IP’s. But each of network has less than 20 computers. So ISP will say we cannot give four IP’s and we give you one IP and Split it into four difference networks. Let see how we done it. ISP given network address: 192.168.5.0 255.255.255.0                                                                                                         ...