Proxylizer/Getting Started: Difference between revisions
No edit summary |
|||
Line 101: | Line 101: | ||
</pre> | </pre> | ||
Put two scripts in cron sheduler. First create crontab file for web server system user | Put two scripts in cron sheduler. First create crontab file for web server system user | ||
<pre> | <pre> | ||
nano /home/proxylizer/proxylizercrontab | nano /home/proxylizer/proxylizercrontab | ||
</pre> | |||
and copy these lines. | |||
<pre> | |||
SHELL=/bin/sh | SHELL=/bin/sh | ||
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin | PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin |
Revision as of 11:24, 7 January 2009
Install
All the examples assume that Proxylizer server IP address is 10.1.1.2;
The installation includes steps for setting up the following:
- Web page scripts
- Permissions for directories
- Syslog deamon
- Web server with PHP and PHP-Pear
- MySQL database server
- MySQL user created for proxylizer database
- Scripts/daemons forwarding records from syslog to MySQL
- Scheduled scripts for report generation
Mikrotik router
Web-proxy log export to remote host
TODO
Proxylizer server
All the examples assume that web page root directory is "/var/www/proxylizer", web server user is "www-data", Proxylizer server system user is "proxylizer" and .pipe file destination/name is "/home/proxylizer/mysql.pipe".
Web page scripts
TODO
Permissions for directories
Open console. Change ownership of web page root directory for web server user
chown proxylizer:www-data /var/www/proxylizer -R
Set write permissions to web page root directory for web server user
chmod g+w /var/www/proxylizer
Set permissions to execute 3 shell script files for web server user group.
cd /var/www/proxylizer chmod g+x checkwebproxy.sh mail_send.php webproxylogtomysql.php
Syslog daemon
Install syslog-ng daemon.
apt-get install syslog-ng
WARNING : If you have Ubuntu OS syslog-ng can conflict with ubuntu-minimal package! You can remove this package.
Change syslog-ng config to receive logs from Mikrotik router and put them into mysql.pipe file. Open /etc/syslog-ng/syslog-ng.conf and add these lines next to "#destinations"
destination d_mysql { #file("/var/log/proxy.log"); pipe("/home/proxylizer/mysql.pipe" template("$HOST $YEAR-$MONTH-$DAY $HOUR:$MIN:$SEC $MSG\n") template-escape(yes)); }; log { source(net); destination(d_mysql); };
And this line next to "#sources"
source net { udp(); }
Create pipe file.
mkfifo /home/proxylizer/mysql.pipe
Set destination of .pipe file in /var/www/proxylizer/webproxylogtomysql.php. At the beginning of the file you must change variable value in the line
$MYSQL_PIPE = "/home/proxylizer/mysql.pipe";
restart syslog
/etc/init.d/syslog-ng restart
Web server with PHP and PHP-Pear
Install web server (we recommend Apache2), PHP5, PHP5-cli and PHP-Pear : DB, Mail, Mail_Mime and Net_SMTP packages.
apt-get install libapache2-mod-php5 php5-cli php-pear php-db php-mail php-mail-mime php-net-smtp
MySQL database server
Install MySQL database server.
apt-get install mysql-server mysql-client
MySQL user created for proxylizer database
Default user name for mysql database is root with no password. But we recomend to change it for security reasons.
Connect to mysql server and create new database and user.
mysql -u root create database proxylizerdb; grant all privileges on proxylizerdb.* to proxylizer@localhost identified by "password" with grant option; flush privileges;
Scripts/daemons forwarding records from syslog to MySQL
Start php script, that will read from mysql.pipe file, and insert records in database.
/var/www/proxylizer/webproxylogtomysql.php
Scheduled scripts for report generation
mkdir /var/log/proxylizer chown proxylizer:proxylizer /var/log/proxylizer chmod u+w /var/log/proxylizer
Put two scripts in cron sheduler. First create crontab file for web server system user
nano /home/proxylizer/proxylizercrontab
and copy these lines.
SHELL=/bin/sh PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin * * * * * cd /var/www/proxylizer/ && ./mail_send.php >> /var/log/mail_send_log.log * * * * * /var/www/proxylizer/checkwebproxy.sh >> /var/log/checkwebproxy.log &
Set scheduler tasks from this file
crontab proxylizercrontab