Snort on Ubuntu Linux with webmin

Posted on 2007-11-18
Last Modified: 2013-12-16
I want to install Snort on my ubuntu linux systems Ubuntu 6.06 LTS. I usualy do a lot of the system administration with Webmin. I will like to keep it that way. The main thing is to install snort and I am having a dificult time following the instructions that are in the manual. I wonder if someone has already make this installation in Ubuntu.  any advice, Thanks, M
Question by:marceloNYC

Expert Comment

ID: 20371159
what problem do you have installing snort? (error, etc .. )

Expert Comment

ID: 20550990
did you try to run this as root?:

apt-get install snort

Author Comment

ID: 20600373
yeah I tried tghios and I am still no luck. I need a guidline like some kind of check list and steps to get this to work. I need to know the webmin part mostly. I used to get this to show in webmin as a module. I has mysql setup and the acid program. M

Expert Comment

ID: 21013185
This site looks promising -
Below is the text of the forum step by step guide to install snort on ubuntu.

I finally created a new guide for Feisty which is very similar but if anything easier.

This guide will show you how to install the IDS system snort. Have snort log to a mysql database. Then be able to access the information in that database with Base which you can access through apache. 

Most of the information from this guide I learned from Patrick Harper's Centos guide. I would recommend taking a look at it even if your installing snort on Ubuntu.

First edit /etc/apt/sources.list and Uncomment these 2 lines. (My file actually has more uncommented so I'm not sure which sources you'll actually need. If you run into problems try uncommenting more. You can always change it back when your done.)


deb breezy-updates main restricted

deb-src breezy-updates main restricted  

Next update


sudo apt-get update  

Install snort with mysql support


sudo apt-get install snort-mysql  

The ubuntu will bring up a configuration dialog and a network that you can use. I replaced this with any so it will log all traffic. Next it'll ask if you want to set snort to log to a mysql server. For now we'll say no because we haven't set mysql up yet. 

Before testing snort I'm going to go ahead and install oinkmaster and get the latest rules. Oinkmaster is a program that you can use to automatically fetch snort rules.


sudo apt-get install oinkmaster  

Now you'll need to edit the oinkmaster config file which is located /etc/oinkmaster.conf I would recommend going to and registering so you can obtain an oinkcode.



url =  



url = b9a70e2a4/snortrules-snapshot-2.3.tar.gz  

just make sure you replace 5a08f649c16a278e1012e1c84bdc8fab9a70e2a4 with your oink code. Pay attention to the version of snort your using. To find out type snort -V. My example above is version 2.3.

Now to test oinkmastser


sudo oinkmaster -o /tmp/

ls /tmp  

The -o switch is for output directory. You should see several .rules files in /tmp now.

If everything works out alright then update your snort rules


sudo oinkmaster -o /etc/snort/rules/  

A good idea is to add oinkmaster to a cron job to update your rules automaticlly. I'm a bit rusty with crons so I'm gona leave that out of this how to until I read up on them again.  

Now edit the snort config file


sudo vi /etc/snort/snort.conf  

In the begging there are a couple of variable you should check on. The default should work fine. Read over the config file, the comments provide more information about the preprocessors and other snort options.


var HOME_NET any

var RULE_PATH /etc/snort/rules  

At the very end you'll find the rules list. Here you can uncomment additional rule sets depending on what rules you want to monitor.

Nows the time to fire snort up using the snort config file.


sudo snort -c /etc/snort/snort.conf  

By default snort logs alerts to /var/log/snort/alert

To test snort I used another computer and did a scan with nmap.


sudo nmap -sS Your_IP_Address  

If you look through /var/log/snort/alert you should see some port can activity. Do a search on the file. If its empty then something is wrong.


sudo cat /var/log/snort/alert  

Now to install mysql


sudo apt-get install mysql-server  

Theres a couple of questions apt asks for and I just used the default by pressing enter a couple of times.

Edit the snort config file again so we can change where snort logs its outputs


sudo vi /etc/snort/snort.conf  

Comment out so it looks like the following. Mine was line 512.


# output log_tcpdump: tcpdump.log  

Uncomment, line 529


output database: log, mysql, user=root password=test dbname=db host=localhost  

For this guide I'm going to use snort as my user, password and database. I would recommend you use something different, just note what it is. If you are logging to aother mysql server then change localhost to what ever ip the server is.


output database: log, mysql, user=snort password=snot dbname=snort host=localhost  

I don't know anything about mysql. I followed Patrick's guide word for word. Download snort from and extract it. Since my version of snort was 2.3.2 thats what I downloaded from Then we'll set up a database for snort.


mysql -u root

set password for root@localhost=password('PICK_A_PASSWORD');

create database snort;

grant insert,select on root.* to snort@localhost;

set password for snort@localhost=password('PASSWORD_SNORT_CONF');

grant create,delete,insert,select,update on snort.* to snort@localhost;

grant create,delete,insert,select,update on snort.* to snort;


Pay attention to the semicolons ;

Create the tables


mysql -u root -p < ~/snort-2.3.2/schemas/create_mysql snort  

Check the database


mysql -u root -p

show databases;

use snort

show tables;


You should be able to fire up snort with no problems.


sudo snort -c /etc/snort/snort.conf  

*I Updated this section and found adodb in the repository

Install apache our webserver and php with mysql & adodb


sudo apt-get install apache2 php5-mysql libphp-adodb  

Download base

Move base to /var/www, extract and delete the archive.


sudo mv base-1.2.2.tar.gz

cd /var/www

sudo tar -xvzf base-1.2.2.tar.gz

sudo rm base-1.2.2.tar.gz

mv base-1.2.2 base  

Edit the base configuration


sudo cp base/base_conf.php.dist base/base_conf.php

sudo vi base/base_conf.php  

$Base_urlpath = /base

$Dblib_path = /usr/share/adodb/;

Change line 85 and so on to match your mysql database. Such as the username, password etc.

I was expecting this to work but for some reason it didn't. I fired up firefox and went to localhost and when I clicked the folder base it kept trying to download a file. I tried restarting apache but the only thing that actually worked was a reboot. Go figure.

If you goto http://localhost/base you should see a link to the setup page. Click it and then click Setup Base AG. Now click home and Base should be up an running. 

Now in order to get the graph to work


sudo apt-get install php5-gd php-pear

sudo pear install Image_Color

pear install Image_Canvas-alpha

pear install Image_Graph-alpha  

Restart Apache and make sure snort is running


sudo /etc/init.d/apache2 restart

sudo /etc/init.d/snort start  

For some reason when I was trying to install Image_Color it was missing a dependency that was already installed. If you get the same error try the following.


sudo apt-get remove php5-gd

sudo apt-get install php5-gd  

This is my first HOWTO. Good luck & have fun.

Open in new window

U.S. Department of Agriculture and Acronis Access

With the new era of mobile computing, smartphones and tablets, wireless communications and cloud services, the USDA sought to take advantage of a mobilized workforce and the blurring lines between personal and corporate computing resources.


Author Comment

ID: 21051540
I want to be able to add the module in Webmin for snort. M

Accepted Solution

H_D_A earned 500 total points
ID: 21133685

Author Closing Comment

ID: 31409844
Thank YOU!!!!

Expert Comment

ID: 21155575
I am glad it was helpful

Featured Post

New My Cloud Pro Series - organize everything!

With space to keep virtually everything, the My Cloud Pro Series offers your team the network storage to edit, save and share production files from anywhere with an internet connection. Compatible with both Mac and PC, you're able to protect your content regardless of OS.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

It’s a strangely common occurrence that when you send someone their login details for a system, they can’t get in. This article will help you understand why it happens, and what you can do about it.
In 2017, ransomware will become so virulent and widespread that if you aren’t a victim yourself, you will know someone who is.
Sending a Secure fax is easy with eFax Corporate ( First, Just open a new email message.  In the To field, type your recipient's fax number You can even send a secure international fax — just include t…
This demo shows you how to set up the containerized NetScaler CPX with NetScaler Management and Analytics System in a non-routable Mesos/Marathon environment for use with Micro-Services applications.

920 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

17 Experts available now in Live!

Get 1:1 Help Now