nginx는 아파치와 같은 웹서버로 아파치에 비교해서 조금 더 가볍다는 장점이 있어 점점 많이 쓰고 있는 추세라고 합니다.
awstats는 웹페이지 로그 관리 프로그램이라고 할 수 있는데 해당 웹 페이지를 GUI 환경에서 확인할 수 있는 장점이 있습니다.
1. Nginx 설치하기
nginx는 최신 버전인 1.7.7로 설치할게요.
nginx를 설치하기에 앞서 라이브러리 2개를 설치해줘야합니다.
간단하게 #yum install pcre* zlib* 이렇게 해결해줍시다.
바로 시작하겠습니다.
#cd /usr/local/src
#wget http://nginx.org/download/nginx-1.7.7.tar.gz
#tar zxvf nginx-1.7.7.tar.gz
#mkdir /usr/local/nginx
#cd nginx-1.7.7
#./configure --prefix=/usr/local/nginx //prefix를 이용하면 해당 위치에 컴파일 되므로 관리가 조금 더 용이해집니다.
#make && make install
나중에 awstats 적용을 위해서 nginx.conf를 조금 수정하겠습니다.
#vi /usr/local/nginx/conf/nginx.conf
굵은 부분은 추가되거나 수정된 부분이므로 굵은 표시만 신경써서 바꿔주시면 됩니다.
server {
listen 80;
server_name localhost;
#charset koi8-r;
access_log /home/cdn/logs/cdn.access.log;
#access_log logs/host.access.log main;
location / {
root /home/awstats;
index awstats.192.168.137.111.html index.htm;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
다 해줬으면 /etc/init.d/nginx 파일을 만들어 주세요.
#vi /etc/init.d/nginx
#vi /usr/local/nginx/conf/nginx.conf
굵은 부분은 추가되거나 수정된 부분이므로 굵은 표시만 신경써서 바꿔주시면 됩니다.
server {
listen 80;
server_name localhost;
#charset koi8-r;
access_log /home/cdn/logs/cdn.access.log;
#access_log logs/host.access.log main;
location / {
root /home/awstats;
index awstats.192.168.137.111.html index.htm;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
#mkdir /home/cdn/logs // 위에 적어둔 로그가 생성될 디렉토리
#vi /etc/init.d/nginx
밑의 내용을 입력합니다.
#!/bin/sh
#
# nginx - this script starts and stops the nginx daemin
#
# chkconfig: - 85 15
# description: Nginx is an HTTP(S) server, HTTP(S) reverse \
# proxy and IMAP/POP3 proxy server
# processname: nginx
# config: /usr/local/nginx/conf/nginx.conf
# pidfile: /var/run/nginx.pid
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ "$NETWORKING" = "no" ] && exit 0
nginx="/usr/local/nginx/sbin/nginx"
prog=$(basename $nginx)
NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf"
lockfile=/var/lock/subsys/nginx
start() {
[ -x $nginx ] || exit 5
[ -f $NGINX_CONF_FILE ] || exit 6
echo -n $"Starting $prog: "
daemon $nginx -c $NGINX_CONF_FILE
retval=$?
echo
[ $retval -eq 0 ] && touch $lockfile
return $retval
}
stop() {
echo -n $"Stopping $prog: "
killproc $prog -QUIT
retval=$?
echo
[ $retval -eq 0 ] && rm -f $lockfile
return $retval
}
restart() {
configtest || return $?
stop
start
}
reload() {
configtest || return $?
echo -n $"Reloading $prog: "
killproc $nginx -HUP
RETVAL=$?
echo
}
force_reload() {
restart
}
configtest() {
$nginx -t -c $NGINX_CONF_FILE
}
rh_status() {
status $prog
}
rh_status_q() {
rh_status >/dev/null 2>&1
}
case "$1" in
start)
rh_status_q && exit 0
$1
;;
stop)
rh_status_q || exit 0
$1
;;
restart|configtest)
$1
;;
reload)
rh_status_q || exit 7
$1
;;
force-reload)
force_reload
;;
status)
rh_status
;;
condrestart|try-restart)
rh_status_q || exit 0
;;
*)
echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"
exit 2
esac
다음은 권한을 변경해주세요.
#chmod +x /etc/init.d/nginx
다음은 방화벽에 80 포트를 추가합니다.
마지막으로 nginx 시작
#/etc/init.d/nginx start
웹 브라우저로 접속 테스트를 해보고 접속이 되면 nginx는 설치 끝.
이런 방식으로 DS서버 8대에 설치합니다.
awstats를 다운로드 해주세요.
이것도 최신 버전으로 다운 받을게요.
#wget http://sourceforge.net/projects/awstats/files/AWStats/7.3/awstats-7.3.tar.gz
#tar zxvf awstats-7.3.tar.gz
#cp -r awstats-7.3 /usr/local/awstats //
#mkdir /etc/awstats
#mkdir /var/lib/awstats
#cd /usr/local/awstats/tools
#perl ./awstats_configure.pl
이렇게 마지막 줄까지 입력하면 옵션을 입력하라는 글이 나옵니다.
----- AWStats awstats_configure 1.0 (build 1.9) (c) Laurent Destailleur -----
This tool will help you to configure AWStats to analyze statistics for
one web server. You can try to use it to let it do all that is possible
in AWStats setup, however following the step by step manual setup
documentation (docs/index.html) is often a better idea. Above all if:
- You are not an administrator user,
- You want to analyze downloaded log files without web server,
- You want to analyze mail or ftp log files instead of web log files,
- You need to analyze load balanced servers log files,
- You want to 'understand' all possible ways to use AWStats...
Read the AWStats documentation (docs/index.html).
-----> Running OS detected: Linux, BSD or Unix
-----> Check for web server install
Enter full config file path of your Web server.
Example: /etc/httpd/httpd.conf
Example: /usr/local/apache2/conf/httpd.conf
Example: c:\Program files\apache group\apache\conf\httpd.conf
Config file path ('none' to skip web server setup):
> /usr/local/nginx/conf/nginx.conf // nginx 설정 파일 경로를 입력해주세요.
Your web server config file(s) could not be found.
You will need to setup your web server manually to declare AWStats
script as a CGI, if you want to build reports dynamically.
See AWStats setup documentation (file docs/index.html)
-----> Update model config file '/usr/local/awstats/wwwroot/cgi-bin/awstats.model.conf'
File awstats.model.conf updated.
-----> Need to create a new config file ?
Do you want me to build a new AWStats config/profile
file (required if first install) [y/N] ? y
-----> Define config file name to create
What is the name of your web site or profile analysis ?
Example: www.mysite.com
Example: demo
Your web site, virtual server or profile name:
> 192.168.137.111 // 도메인을 입력하라는 말인데 저는 그냥 DS1의 IP를 입력했습니다. DS2는 DS2의 IP를 입력.
-----> Define config file path
In which directory do you plan to store your config file(s) ?
Default: /etc/awstats
Directory path to store config file(s) (Enter for default):
> // 여기는 default(/etc/awstats)를 입력하기 때문에 그냥 엔터 해주세요. 저 디렉토리는 위에서 만들었습니다.
-----> Create config file '/etc/awstats/awstats.192.168.137.111.conf'
Config file /etc/awstats/awstats.192.168.137.111.conf created.
-----> Restart Web server with '/sbin/service httpd restart'
httpd: unrecognized service
-----> Add update process inside a scheduler
Sorry, configure.pl does not support automatic add to cron yet.
You can do it manually by adding the following command to your cron:
/usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=192.168.137.111
Or if you have several config files and prefer having only one command:
/usr/local/awstats/tools/awstats_updateall.pl now
Press ENTER to continue...
A SIMPLE config file has been created: /etc/awstats/awstats.192.168.137.111.conf
You should have a look inside to check and change manually main parameters.
You can then manually update your statistics for '192.168.137.111' with command:
> perl awstats.pl -update -config=192.168.137.111
You can also read your statistics for '192.168.137.111' with URL:
> http://localhost/awstats/awstats.pl?config=192.168.137.111
Press ENTER to finish...
2. Awstats 설치하기
awstats를 다운로드 해주세요.
이것도 최신 버전으로 다운 받을게요.
#wget http://sourceforge.net/projects/awstats/files/AWStats/7.3/awstats-7.3.tar.gz
#tar zxvf awstats-7.3.tar.gz
#cp -r awstats-7.3 /usr/local/awstats //
#mkdir /etc/awstats
#mkdir /var/lib/awstats
#cd /usr/local/awstats/tools
#perl ./awstats_configure.pl
이렇게 마지막 줄까지 입력하면 옵션을 입력하라는 글이 나옵니다.
----- AWStats awstats_configure 1.0 (build 1.9) (c) Laurent Destailleur -----
This tool will help you to configure AWStats to analyze statistics for
one web server. You can try to use it to let it do all that is possible
in AWStats setup, however following the step by step manual setup
documentation (docs/index.html) is often a better idea. Above all if:
- You are not an administrator user,
- You want to analyze downloaded log files without web server,
- You want to analyze mail or ftp log files instead of web log files,
- You need to analyze load balanced servers log files,
- You want to 'understand' all possible ways to use AWStats...
Read the AWStats documentation (docs/index.html).
-----> Running OS detected: Linux, BSD or Unix
-----> Check for web server install
Enter full config file path of your Web server.
Example: /etc/httpd/httpd.conf
Example: /usr/local/apache2/conf/httpd.conf
Example: c:\Program files\apache group\apache\conf\httpd.conf
Config file path ('none' to skip web server setup):
> /usr/local/nginx/conf/nginx.conf // nginx 설정 파일 경로를 입력해주세요.
Your web server config file(s) could not be found.
You will need to setup your web server manually to declare AWStats
script as a CGI, if you want to build reports dynamically.
See AWStats setup documentation (file docs/index.html)
-----> Update model config file '/usr/local/awstats/wwwroot/cgi-bin/awstats.model.conf'
File awstats.model.conf updated.
-----> Need to create a new config file ?
Do you want me to build a new AWStats config/profile
file (required if first install) [y/N] ? y
-----> Define config file name to create
What is the name of your web site or profile analysis ?
Example: www.mysite.com
Example: demo
Your web site, virtual server or profile name:
> 192.168.137.111 // 도메인을 입력하라는 말인데 저는 그냥 DS1의 IP를 입력했습니다. DS2는 DS2의 IP를 입력.
-----> Define config file path
In which directory do you plan to store your config file(s) ?
Default: /etc/awstats
Directory path to store config file(s) (Enter for default):
> // 여기는 default(/etc/awstats)를 입력하기 때문에 그냥 엔터 해주세요. 저 디렉토리는 위에서 만들었습니다.
-----> Create config file '/etc/awstats/awstats.192.168.137.111.conf'
Config file /etc/awstats/awstats.192.168.137.111.conf created.
-----> Restart Web server with '/sbin/service httpd restart'
httpd: unrecognized service
-----> Add update process inside a scheduler
Sorry, configure.pl does not support automatic add to cron yet.
You can do it manually by adding the following command to your cron:
/usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=192.168.137.111
Or if you have several config files and prefer having only one command:
/usr/local/awstats/tools/awstats_updateall.pl now
Press ENTER to continue...
A SIMPLE config file has been created: /etc/awstats/awstats.192.168.137.111.conf
You should have a look inside to check and change manually main parameters.
You can then manually update your statistics for '192.168.137.111' with command:
> perl awstats.pl -update -config=192.168.137.111
You can also read your statistics for '192.168.137.111' with URL:
> http://localhost/awstats/awstats.pl?config=192.168.137.111
Press ENTER to finish...
여기까지면 awstats config 파일이 생성이 완료 되었을 거에요.
밑에는 확인 스샷.
생성된 파일을 수정해주세요.
#vi /etc/awstats/awstats.192.168.137.111.conf
51번째 줄 근처에 LogFile="/var/log/httpd/mylog.log를 nginx에서 설정한 로그 경로로 해줍니다.
이 포스팅에서는 /home/cdn/logs/cdn.access.log로 했기 때문에 저는 이렇게 바꿀겁니다.
다음은 configure에 맞게 txt 파일 생성하기 입니다.
다음은 html 파일 생성하기 입니다. 이 html 파일은 awstats의 통계를 보여주는 페이지입니다.
진행 전에 파일의 권한을 변경해야 합니다. 그냥 하면 실행이 안되기 때문이죠.
#chmod +x /usr/local/awstats/tools/awstats_*
이제 쭈욱 진행합니다.
#/usr/local/awstats/tools/awstats_buildstaticpages.pl -update -config=couponmoa.com -lang=en -dir=/hoem/awstats(html파일 설치될 경로) -awstatsprog=/usr/local/awstats/wwwroot/cgi-bin/awstats.pl
해당 경로로 가면 html 파일들이 있을겁니다. 그러면 성공!
다음은 nginx에 awstats용 설정파일을 만들어야 합니다.
#vi /usr/local/nginx/conf/awstats
server {
listen 80;
server_name 192.168.137.111;
index awstats.192.168.137.111.html;
root /home/awstats;
#auth_basic "Administrator Login";
#auth_basic_user_file /home/awstats/.htpasswd;
location ~^/icon/ {
root /usr/local/awstats/wwwroot;
index index.html;
access_log off;
error_log off;
charset utf-9;
}
}
그리고 따로 도메인을 지정 안해줬기 때문에 테스트용으로 192.168.137.111으로 들어오면 바로 awstats 통계 화면이 나오도록 지정을 해줄게요.
nginx 설정 파일을 아래 입력된 부분 처럼 바꿔주세요. 굵은 부분만 고쳐줘도 괜찮습니다.
server {
listen 80;
server_name localhost;
#charset koi8-r;
access_log /home/cdn/logs/cdn.access.log;
location / {
root /home/awstats;
index awstats.192.168.137.111.html index.htm;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
웹 브라우저를 통해 해당 IP로 접속을 했을 때 밑의 것처럼 나오면 성공입니다.
웹 브라우저를 통해 해당 IP로 접속을 했을 때 밑의 것처럼 나오면 성공입니다.
댓글 없음:
댓글 쓰기