Proxylizer/Getting Started: Difference between revisions
(One intermediate revision by the same user not shown) | |||
Line 30: | Line 30: | ||
===Proxylizer server=== | ===Proxylizer server=== | ||
====Install method 1==== | |||
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". | 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". | ||
==== Required packages ==== | ===== Required packages ===== | ||
*[http://en.wikipedia.org/wiki/Syslog-ng Syslog-ng] daemon | *[http://en.wikipedia.org/wiki/Syslog-ng Syslog-ng] daemon | ||
Line 44: | Line 45: | ||
WARNING : If you have Ubuntu syslog-ng can conflict with ubuntu-minimal package! You can remove this package. | WARNING : If you have Ubuntu syslog-ng can conflict with ubuntu-minimal package! You can remove this package. | ||
==== Web page scripts ==== | ===== Web page scripts ===== | ||
[[Proxylizer/Getting Started#Download | Download]] proxylizer archive. Create directory and extract it in web page root directory: | [[Proxylizer/Getting Started#Download | Download]] proxylizer archive. Create directory and extract it in web page root directory: | ||
<pre>sudo tar -xvzf proxylizer.tar.gz -C /var/www/</pre> | <pre>sudo tar -xvzf proxylizer.tar.gz -C /var/www/</pre> | ||
==== Permissions for directories ==== | ===== Permissions for directories ===== | ||
Change ownership of web page root directory for web server user: | Change ownership of web page root directory for web server user: | ||
Line 64: | Line 65: | ||
</pre> | </pre> | ||
====Syslog daemon==== | =====Syslog daemon===== | ||
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" : | 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" : | ||
Line 87: | Line 88: | ||
<pre>/etc/init.d/syslog-ng restart</pre> | <pre>/etc/init.d/syslog-ng restart</pre> | ||
==== MySQL user for proxylizer database ==== | ===== MySQL user for proxylizer database ===== | ||
Default user name for mysql database is root with no password. But we recomend to change it for security reasons.<br> To create new database <code>proxylizerdb</code> and user <code>proxylizer</code> with password <code>passwd</code> connect to mysql server, using command: | Default user name for mysql database is root with no password. But we recomend to change it for security reasons.<br> To create new database <code>proxylizerdb</code> and user <code>proxylizer</code> with password <code>passwd</code> connect to mysql server, using command: | ||
Line 103: | Line 104: | ||
and you will be asked to enter the mysql user's password. | and you will be asked to enter the mysql user's password. | ||
==== Scheduled scripts for forwarding records from syslog to MySQL and report generation ==== | ===== Scheduled scripts for forwarding records from syslog to MySQL and report generation ===== | ||
Create directory for script logs and set permesions: | Create directory for script logs and set permesions: | ||
Line 128: | Line 129: | ||
<pre>crontab /home/proxylizer/proxylizercrontab</pre> | <pre>crontab /home/proxylizer/proxylizercrontab</pre> | ||
===== Database and web page access configuration ===== | |||
==== Database and web page access configuration ==== | |||
When all previous settings is set. Open web browser and point it to proxylizer server. First page must be like this : | When all previous settings is set. Open web browser and point it to proxylizer server. First page must be like this : | ||
Line 144: | Line 141: | ||
Setup page is shown always when the config file <code>config_constants.php</code> is not found in the Proxylizer root directory. On successful setup the configuration is written to this file. Configuration file contains database access and web page access parameters, no [[Proxylizer/Concepts#Reports | report]] or [[Proxylizer/Concepts#IP Users | IP user]] configuration is included. | Setup page is shown always when the config file <code>config_constants.php</code> is not found in the Proxylizer root directory. On successful setup the configuration is written to this file. Configuration file contains database access and web page access parameters, no [[Proxylizer/Concepts#Reports | report]] or [[Proxylizer/Concepts#IP Users | IP user]] configuration is included. | ||
==== Mail sending configuration ==== | ===== Mail sending configuration ===== | ||
To start receive reports to email, go to [[Proxylizer/Web_Page#IP_users | IP users]] page and add user with email address, then to [[Proxylizer/Web_Page#Config | Config]] page and configure Mail server access (any SMTP account needed). | To start receive reports to email, go to [[Proxylizer/Web_Page#IP_users | IP users]] page and add user with email address, then to [[Proxylizer/Web_Page#Config | Config]] page and configure Mail server access (any SMTP account needed). | ||
====Install method 2==== | |||
[[Category:Manual]] | |||
[[Category:Proxy]] |
Revision as of 13:23, 16 February 2009
Download
You can download proxylizer archive here
Install
All the examples assume that Proxylizer server IP address is 10.1.1.2 and syslog-ng uses port 514 that is its default
The installation includes steps for setting up the following:
Mikrotik router
Web-proxy log export to remote host (Proxylizer server)
To forward logs from Mikrotik Router to Proxylizer server, open RouterOS console and type in the following commands (assuming that Proxylizer Server IP Address is 10.1.1.2):
/system logging action add name=sendToProxylizer target=remote remote=10.1.1.2:514 /system logging add topics=web-proxy action=sendToProxylizer
Note that logs are sent to port number 514, it must be equal with the port on which Syslog daemon on Proxylizer server is listening.
Proxylizer server
Install method 1
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".
Required packages
For Ubuntu issue this command to install all required packages:
sudo apt-get install syslog-ng libapache2-mod-php5 php5-cli php-pear php-db php-mail php-mail-mime php-net-smtp php5-mysql mysql-server mysql-client
WARNING : If you have Ubuntu syslog-ng can conflict with ubuntu-minimal package! You can remove this package.
Web page scripts
Download proxylizer archive. Create directory and extract it in web page root directory:
sudo tar -xvzf proxylizer.tar.gz -C /var/www/
Permissions for directories
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 -R
Set permissions to execute 3 shell script files for web server user group:
cd /var/www/proxylizer chmod ug+x checkwebproxy.sh mail_send.php webproxylogtomysql.php
Syslog daemon
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 { 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
MySQL user for proxylizer database
Default user name for mysql database is root with no password. But we recomend to change it for security reasons.
To create new database proxylizerdb
and user proxylizer
with password passwd
connect to mysql server, using command:
mysql -u root
and issue the following commands in mysql frontend:
CREATE DATABASE proxylizerdb; GRANT ALL PRIVILEGES ON proxylizerdb.* TO proxylizer@localhost IDENTIFIED BY "password" WITH GRANT OPTION; FLUSH PRIVILEGES;
If you use mysql user other than root without password, connect to mysql server, using
mysql -u usrname -p
and you will be asked to enter the mysql user's password.
Scheduled scripts for forwarding records from syslog to MySQL and report generation
Create directory for script logs and set permesions:
sudo mkdir /var/log/proxylizer sudo chown proxylizer:proxylizer /var/log/proxylizer sudo chmod u+w /var/log/proxylizer
If you want to write logs in different directory you must edit bash script "checkwebproxy.sh" and change "/var/log/proxylizer" to preferred directory.
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 * * * * * /var/www/proxylizer/mail_send.php >> /var/log/proxylizer/mail_send_log.log * * * * * /var/www/proxylizer/checkwebproxy.sh >> /var/log/proxylizer/checkwebproxy.log &
Set scheduler tasks from this file:
crontab /home/proxylizer/proxylizercrontab
Database and web page access configuration
When all previous settings is set. Open web browser and point it to proxylizer server. First page must be like this :
- DB type - for now Proxylizer supports only MySQL, in future PostgreSQL, Interbase and other data bases will be added;
- DB host - by default "localhost", i.e,. database is located on the Proxylizer server;
- DB name - by default "proxylizer", must be equal with the one set here;
- DB username and password - as you have set here;
- Webpage username and password - as you prefer;
Setup page is shown always when the config file config_constants.php
is not found in the Proxylizer root directory. On successful setup the configuration is written to this file. Configuration file contains database access and web page access parameters, no report or IP user configuration is included.
Mail sending configuration
To start receive reports to email, go to IP users page and add user with email address, then to Config page and configure Mail server access (any SMTP account needed).