The procedures for setup Awstats on a virtual
host running Apache on a Centos 6.x server can be explained as follows;
The first thing to do, off course, is installing the Awstats RPM. Login as root and do the installation of Awstats using the command:
Next, it is needed to append Awstats directives into the httpd.conf file of the server that running virtual hosting.
The httpd.conf can be accessed for editing using the command:
Add the following sections inside the corresponding <VirtualHost *:80> section of the httpd.conf
Based on the above directives, then there are several things need to be done.
To create the statistics data go to folder where the awstats.pl file is located (/usr/share/awstats/wwwroot/cgi-bin/)
Issue the command:
In order to secure the awstats page access, then a htpasswd feature is used. This will force user to have correct credential to gain access.
To Create .htpasswd file, go to the intended folder for the .htpasswd file to be stored. In this example, a folder called awstats is used. Thefore the directory must be created first, before .httpasswd is created.
Create the directory:
Go to the folder intended to be used for storing the file:
Then issued the command to create the .htpasswd file (choose appropriate username and password)
Command to create the file:
Before trying to access the awstats statistics page, restart the Apache web service, by issuing the command:
Open a browser and go to http://the.domain.com/stats/awstats/pl?config=awstats.the.domain.com.conf to access the awstats page. The system will ask for valid username and password.
Once the awstats setup is successful and can be accessed, then it is needed to add a cron job in the crontab for the awstats.pl to run periodically, i.e., every two hours. This can be done by appending the following syntax:
in the /etc/crontab file using nano or vi editor. Note that the above two lines of codes should be written in a single continuous line in the /etc/crontab file.
The first thing to do, off course, is installing the Awstats RPM. Login as root and do the installation of Awstats using the command:
yum
install awstats
Next, it is needed to append Awstats directives into the httpd.conf file of the server that running virtual hosting.
The httpd.conf can be accessed for editing using the command:
nano
/etc/httpd/conf/httpd.conf
Add the following sections inside the corresponding <VirtualHost *:80> section of the httpd.conf
## AWstats ##
#Directives to allow use of AWStats as a CGI
Alias /awstasclasses "/usr/share/awstats/wwwroot/classes/"
Alias /awstatscss "/usr/share/awstats/wwwroot/css/"
Alias /awstatsicons "/usr/share/awstats/wwwroot/icon/"
ScriptAlias /stats/ "/usr/share/awstats/wwwroot/cgi-bin/"
#
#This is to permit URL access to scripts/files in AWStats directory.
<Directory "/usr/share/awstats">
Options None
AllowOverride None
Order allow,deny
Allow from all
</Directory>
#
#This is to allow access to the cgi-bin folder
<Directory "/usr/share/awstats/wwwroot/cgi-bin">
Order allow,deny
Allow from all
</Directory>
#
#This is to force authentication when trying to access /awstats
#Using flat-file authentication.
<Location /stats>
AuthType Basic
AuthName "Login Required"
AuthUserFile /var/www/the.domain.com/awstats/.htpasswd
require valid-user
</Location>
#
# End of Awstats directives section
Based on the above directives, then there are several things need to be done.
Go to
/usr/share/awstats/wwwroot/cgi-bin/
using the
command: cd /usr/share/awstats/wwwroot/cgi-bin/
and copy
Awstas default configuration (conf) file to a new file corresponding to
the host name that would be monitored. i.e., awstats.the.domain.com.conf
.
Next, the new copied Awstats conf file is needed to be modified to
match the domain requirements. For example, it is needed to replace the
directive Host Name from the default name to the.domain.com or any
domain name used. It is also needed to define the location of Apache
(httpd) log files. In this tutorial, the location of the Apache log file
(access.log) is /var/www/the.domain.com/
. It is needed to
modify the location directives hence Awstats can fine it.
Below are the main directive parameters that needed to be changed /
modified:
LogFile="/var/www/the.domain.com/access.log"
SiteDomain=the.domain.com"
HostAliases="REGEX[^.the.domain\.com$]"
DirData="/var/www/the.domain.com/awstats/"
To create the statistics data go to folder where the awstats.pl file is located (/usr/share/awstats/wwwroot/cgi-bin/)
cd /usr/share/awstats/wwwroot/cgi-bin/
Issue the command:
./awstats.pl
-config=awstats.the.domain.com.conf -update
In order to secure the awstats page access, then a htpasswd feature is used. This will force user to have correct credential to gain access.
To Create .htpasswd file, go to the intended folder for the .htpasswd file to be stored. In this example, a folder called awstats is used. Thefore the directory must be created first, before .httpasswd is created.
Create the directory:
mkdir -p /var/www/the.domain.com/awstats/
Go to the folder intended to be used for storing the file:
cd
/var/www/the.domain.com/awstats/
Then issued the command to create the .htpasswd file (choose appropriate username and password)
Command to create the file:
htpasswd -c .htpasswd username
then type the password twice.Before trying to access the awstats statistics page, restart the Apache web service, by issuing the command:
service httpd restart
Open a browser and go to http://the.domain.com/stats/awstats/pl?config=awstats.the.domain.com.conf to access the awstats page. The system will ask for valid username and password.
Once the awstats setup is successful and can be accessed, then it is needed to add a cron job in the crontab for the awstats.pl to run periodically, i.e., every two hours. This can be done by appending the following syntax:
0 0,2,4,6,8,10,12,14,16,18,20,22 * * * root
/usr/share/awstats/wwwroot/cgi-bin/awstats.pl
-config=/usr/share/awstats/wwwroot/cgi-bin/awstats.fatek.unpatti.ac.id.conf
-update > /dev/null 2>&1
in the /etc/crontab file using nano or vi editor. Note that the above two lines of codes should be written in a single continuous line in the /etc/crontab file.
No comments:
Post a Comment