Syslog dengan Syslog-ng FreeBSD Mysql MikroTik

Februari 7, 2009

Untuk memonitor kehandalan system dan jaringan dibutuhkan sebuah sistem loging yang menampung berbagai log dari bermacam-macam mesin yang tersimpan dalam sebuah database LOG. Syslog yang saya gunakan adalah Syslog-ng yang saya install dari Ports FreeBSD. yang nantinya akan di integrasikan dengan Network yang menggunakan Mikrotik. yang perlu disiapkan untuk instalasi Syslog-ng antara lain :

1. Kopi Panas ( Tanpa SUSU )

2. Akses Internet. ( Lebih baik lagi pake BeningNET :) )

3. System OS freeBSD

Tak perlu panjang lebar sekapur sirihnya.. hehehe..

pertama-tama kita buat database dulu dari console FreeBSD dan install syslog-ng melalui ports

mysql> create database syslog;

Query OK, 1 row affected (0.00 sec)

mysql> use syslog;

Database changed

mysql> CREATE TABLE logs (

host varchar(32) default NULL,
facility varchar(10) default NULL,
priority varchar(10) default NULL,
level varchar(10) default NULL,
tag varchar(10) default NULL,
datetime datetime default NULL,
program varchar(15) default NULL,
msg text,
seq bigint(20) unsigned NOT NULL auto_increment,
PRIMARY KEY (seq), KEY host (host),
KEY program (program), KEY datetime (datetime),
KEY priority (priority), KEY facility (facility)
) TYPE=MyISAM;

Keluar Dari Mysql kemudian ketikan perintah :

cd /usr/ports/sysutyls/syslog-ng/
make && make install clean
kemudian
mkfifo /var/log/mysql.pipe

edit configurasi syslog-ng.conf
source all {
unix-stream(“/dev/log”);
pipe(“/proc/kmsg”);
internal();
udp();
tcp();
};
destination d_mysql {
program(“/usr/bin/mysql –user=USERNAME –password=PASSWORD syslog < /var/log/mysql.pipe”);
pipe (“/var/log/mysql.pipe” template(“INSERT INTO logs (host, facility, priority, level, tag, datetime, program, msg) VALUES ( ‘$HOST’, ‘$FACILITY’, ‘$PRIORITY’, ‘$LEVEL’, ‘$TAG’, ‘$YEAR-$MONTH-$DAY $HOUR:$MIN:$SEC’,'$PROGRAM’, ‘$MSG’ );\n”) template-escape(yes));
};
log { source(all); destination(d_mysql); };

edit rc.d
syslog_ng_enable=”YES”

syslogd_enable=”NO”

Langkah selanjutnya adalah melakukan Stting Mikrotik Router/Wireless LOG diarahka ke IP syslog Server FreeBSD yang semua lognya masuk dalam database mysql. dengan log tersimpan ke database mysql akan mudah untuk memonitor log-log yang masuk dari berbagai perangkat kita.


masuk system mikrotik ( gunakan winbox aja paling mudah )

system>Loging>Action

Ganti IP remote pada ip syslog Port Gunakan defaultnya 514

system>Loging>Rules

Ganti action dengan Remote pada  Error,Info,Warning atau dipilih sesuai yang dukehendaki yang sebelumnya memory maupun disk.



Instalasi APACHE,PHP,MYSQL di FreeBSD7

Juli 27, 2008
    Tiga hal penting Untuk membangun sebuah Web Server menggunakan FreeBSD, tiga hal tersebut adalah melakukan instalasi MYSQL,APACHE dan PHP. berikut coba kita sedikit belajar instalasi menggunakan ports dari FreeBSD.

  1. Install MySQL:

    1. masuk ke direktory mysql50-server port dengan menggunakan command:
      cd /usr/ports/databases/mysql50-server
    2. Build port
      make BUILD_OPTIMIZED=yes BUILD_STATIC=yes
    3. Install mysql50 database server
      make config
      make install
    4. Buka /etc/rc.conf dengan editor misal ( ee /etc/rc.conf ) and tambahkan configurasi sebagai berikut. ( ini digunakan untuk menjalankan Mysql Database server pertama server dinyalakan )
      mysql_enable="YES"
    5. Start mysql server secara manual:
      /usr/local/etc/rc.d/mysql-server start
    6. masukanpassword untuk MySQL root user dengan perintah sbb:
      /usr/local/bin/mysqladmin -uroot password 'new-password'

      Mysql telah selesai terinstal.

  2. Install Apache22

    1. masuk ke direktory apache22 port dengan perintah sbb:
      cd /usr/ports/www/apache22
    2. masukan perintah sbb:
      make config
      make install

    3. buka file configurasi lagi /etc/rc.conf dan masukan baris script dibawah ini. ( script ini bertujuan untuk menjalankan Apache mulai awal komputer dinyalakan )
      apache22_enable="YES"
  3. Install PHP5

    1. Masuk ke direktori php5 port dengan menggunakan perintah:
      cd /usr/ports/lang/php5
    2. masukan perintah sbb:
      make config
       - PENTING : pada tapilan ini pilih Apache ( Build apache module )
         jika tidak biasanya nanti muncul error :
      httpd: Syntax error on line 104 of
      /usr/local/etc/apache22/httpd.conf: Cannot load
      /usr/local/libexec/apache22/libphp5.so into server:
      /usr/local/lib/compat/pkg/libmysqlclient.so.14: version
      libmysqlclient_14 required by /usr/local/libexec/apache22/libphp5.so
      not found
      
      selanjutnya :
      make install
    3. masuk ke php5-extentions port directory :
      cd /usr/ports/lang/php5-extentions
    4. Instalasi PHP
      make config
      - PENTING :Ojo Lali Pilih juga MYSQL ( MysQl Database Support )
      
      make install
    5. masuk Ke setting untuk php.ini :
      cp /usr/local/etc/php.ini-dist /usr/local/etc/php.ini
    6. Edit file konfigurasi untuk Apache di (/usr/local/etc/apache22/httpd.conf) and masukkan beberapa baris kode sbb:
      AddType application/x-httpd-php .php
      AddType application/x-httpd-php-source .phps
    7. Kemudian cari kode di bawah ini :
      DirectoryIndex index.html

      ganti dengan kode sbb : >( TAMBAH index.php sebagai default file )

      DirectoryIndex index.php index.html
    8. Start Apache script:
      /usr/local/etc/rc.d/apache22 start

FreeRadius Mysql FreeBSD

Juli 22, 2008

Untuk Freeradius yang saya gunakan berjalan pada sistem Operasi FreeBSD 7.1 dan Mysql 5.X

Sebagai pendukung saya menggunakan Apache 2.x dan Php 5.x dan PhpMyadmin

1. Untuk mempermudah instalasi saya menggunakan Ports dari FreeBSD yang instalasinya langsung terkoneksi dengan internet.

cd /usr/ports/net/freeradius

2. Install aplikasi ( Include Support mysql)

#make
#make install

Untuk menjalankan Freeradius Debug Mode :

#radiusd –X

You can use radtest to test an account from the command line:

Setting up the Freeradius database in MySQL

1. First, if you will run the db on your localhost, MySQL server should be installed on your machine

#mysql –u root –p

mysql>CREATE DATABASE radius;
mysql>GRANT ALL PRIVILEGES ON radius.* to ‘root’@localhost’ IDENTIFIED BY ‘myrootpassword’;
mysql>FLUSH PRIVILEGES;

2. Create a schema for the database, use the SQL script file, it can be found in /src/modules/rlm_sql/drivers/rlm_sql_mysql/db_mysql.sql where you untar’d the FreeRadius

#mysql –u root –p rootpass radius < db_mysql.sql ( lokasi tergantung )

where root and rootpass are your mysql root name and password respectively

Configuring FreeRadius to use MySQL

1.Edit /etc/raddb/sql.conf and enter the server, name and password details to connect your Mysql Server and Radius database:

# Connect info
server = “localhost”
login = “root”
password = “rootpass”

radius_db = “radius”

Query config for username, I used this:

sql_user_name = “%{User-Name}”

You will see several tables created. You just need to use one of those: radcheck. This table has the following structure:

2. Edit /etc/raddb/radiusd.conf and add a line saying “sql” to the authorize {}section and add a line saying “sql” to the accounting{} section too between ‘unix’ and ‘radutmp’

radiusd.conf will look something like this:

authorise {
preprocess
chap
mschap
#counter
#attr_filter
#eap
suffix
sql
#files
#etc_smbpasswd
}

authenticate {
authtype PAP {
pap
}
authtype CHAP {
chap
}
authtype MS-CHAP{
mschap
}
#pam
#unix
#authtype LDAP {
# ldap
#}
}

preacct {
preprocess
suffix
#files
}

accounting {
acct_unique
detail
#counter
unix
sql
radutmp
#sradutmp
}

session {
radutmp
}

Script Data di Database :

mysql> INSERT INTO radcheck (UserName, Attribute, Value) VALUES (’alamster’, ‘Password’, ‘palcomtech’);

mysql> INSERT INTO radgroupcheck (GroupName, Attribute, Value,op) VALUES (’dynamic’, ‘Auth-Type’, ‘MS-CHAP’,’= ‘);
Query OK, 1 row affected (0.00 sec)

Untuk Proteksi Koneksi Berdasar IP / Caller ID

mysql> INSERT INTO radgroupcheck (GroupName, Attribute, Value,op) VALUES (’dynamic’, ‘Calling-Station-Id’, ‘192.168.202.47’,’= ‘);
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO radgroupreply (GroupName, Attribute, op, Value) VALUES (’dynamic’, ‘Framed-IP-Address’, ‘:=’,‘192.168.10.4’); << penting
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO radgroupreply (GroupName, Attribute, op, Value) VALUES (’dynamic’, ‘Framed-Compression’, ‘:=’,‘Van-Jacobsen-TCP-IP’);
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO radgroupreply (GroupName, Attribute, op, Value) VALUES (’dynamic’, ‘Framed-Protocol’, ‘:=’, ‘PPP’);
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO radgroupreply (GroupName, Attribute, op, Value) VALUES (’dynamic’, ‘Service-Type’, ‘:=’, ‘Framed-User’);
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO radgroupreply (GroupName, Attribute, op, Value) VALUES (’dynamic’, ‘Framed-MTU’, ‘:=’, ‘1500′);
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO radgroupreply (GroupName, Attribute, op, Value) VALUES (’dynamic’, ‘X-Ascend-Assign-IP-Pool’, ‘:=’, ‘0′);
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO radgroupreply (GroupName, Attribute, op, Value) VALUES (’dynamic’, ‘X-Ascend-Maximum-Time’, ‘:=’, ‘7200′);
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO radgroupreply (GroupName, Attribute, op, Value) VALUES (’dynamic’, ‘X-Ascend-Route-IP’, ‘:=’,

‘Route-IP-Yes’);
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO radgroupreply (GroupName, Attribute, op, Value) VALUES (’dynamic’, ‘Idle-Timeout’, ‘:=’, ‘1800′);
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO usergroup (UserName, GroupName) VALUES (’alamster’,’dynamic’);
Query OK, 1 row affected (0.01 sec)


Mengenal Mysql Database

Juli 22, 2008

Database telah menjadi bagian integral dalam kehidupan manusia. Sebuah pekerjaan akan terasa berat jika tidak didukung oleh database. Sebagai contoh, keberadaan database dirasakan sangat penting dalam pekerjaan di bank, universitas, dan perpustakaan.
Contoh lainnya adalah beberapa fasilitas di internet yang tidak mungkin berjalan tanpa adanya dukungan databse, seperti search engine, e-commerce, dan website berita. Database yang berjalan dan dikendalikan di computer dinamakan database server.

Salah satu database server yang cukup dikenal saat ini adalah MySQL. Database server keluaran T.c.X datakonsultAB, sebuah perusahaan IT Swedia, ini menawarkan berbagai keunggulan dibandingkan database server lain.
Berikut ini adalah beberapa keunggulan MySQL :
- Mampu menangani jutaan user dalam aktu yang bersamaan.
- Mampu menampung lebih dari 60.000.000 record.
- Sangat cepat mengeksekusi perintah.
- Memiliki user privilege system yang mudah dan efisien.
- MySQL juga menyediakan dukungan open source
- Multi Platform
Setiap pengguna MySQL diizinkan mengubah source untuk keperuan pengembangan atau menyelaraskan spesifikasi database sesuai kebutuhan.
Dengan berbagai alasan di atas, sangat wajar jika saat ini MySQL begitu banyak digunakan sebagai database server di internet. Untuk menginstal MySQL, anda dapat mendownload source terbarunya  dari http://www.mysql.com /downloads.