일단 geoDB를 다운로드 하고 저장해준다음

$ wget ftp://ftp.mrunix.net/pub/webalizer/geodb/geodb-latest.tgz

$ tar -xvf geodb-latest.tgz

$ sudo mkdir /usr/share/GeoDB

$ sudo mv GeoDB.dat /usr/share/GeoDB/

webalizer의 설정을 변경!

$ sudo vi /etc/webalizer/webalizer.conf

GeoDB           yes

GeoDBDatabase   /usr/share/GeoDB/GeoDB.dat 

그리고 실행하면 나온다.

$ sudo webalizer 



---

7a. Why does the country section show only 100% unresolved?

Most likely because your web server is not doing name lookups and simply logging IP addresses. In order to determine the top level domain of the remote site, the program needs a resolved hostname, not an IP address. The simple fix is to just turn on name lookups on your web server so it starts logging names. Otherwise, you can pre-process your logs with something like the logresolve program supplied with apache or similar utilities, or you can use the Webalizers built in DNS lookup code (see 7b below). Another alternative is to enable the geolocation services, which will lookup the geographic location of IP addresses. You can use either the Webalizers native geolocation support (GeoDB) which supports both IPv4 and IPv6 addresses, or optionally, GeoIP support from MaxMind Inc. While geolocation support will give you accurate country information, other aspects of the analysis may suffer, such as search string analysis (which depends on resolved hostnames to identify the various search engines).


7b. My Server doesn't do name lookups. Will The Webalizer?

Yes. The Webalizer fully supports both IPv4 and IPv6 reverse DNS lookup support. See the DNS.README file for additional information. If you don't enable hostname lookups on your web server, or use the geolocation services provided by The Webalizer, you will get '100% Unresolved/Unknown' country totals. This is because your log files only have IP addresses and not names. While it is recommended that you let your web server handle the DNS lookups, DNS support can be used for those sites where DNS resolution is not an option.


[링크 : http://www.webalizer.org/faq.html]


The webalizer has the ability to perform reverse DNS lookups,  and

fully supports both IPv4 and IPv6 addressing schemes.  This document

attempts to explain how it works, and some things that you should be

aware of when using the DNS lookup features.


Note: The Reverse DNS feature may be enabled or disabled at compile

      time.  DNS lookup code is enabled by default.  You can run The

      Webalizer using the '-vV' command line options to determine what

      options are enabled in the version you are using. 

[링크 : ftp://ftp.mrunix.net/pub/webalizer/DNS.README]

[링크 : http://www.webalizer.org/webalizer.1.html]

[링크 : ftp://ftp.mrunix.net/pub/webalizer/geodb/]


$ webalizer -vV

Webalizer V2.23-08 (Linux 4.4.38-v7+ armv7l) locale

Copyright 1997-2013 by Bradford L. Barrett

Mod date: 26-Aug-2013  Options: DNS/GeoDB GeoIP

Default GeoDB dir : /usr/share/GeoDB

Default config dir: /etc/webalizer



+

GeoIP 라는게 있어서 켜봤는데 차이가 없어서 다시 보니 GeoDB가 설정되면 GeoIP는 무시된다. 라네?

# The GeoIP option enables or disables the use of geolocation

# services provided by the GeoIP library (http://www.maxmind.com),

# if available.  Values may be 'yes' or 'no, with 'no' being the

# default.  Note: if GeoDB is enabled, then this option will have

# no effect (GeoDB will be used regardless of this setting).


#GeoIP no


# GeoIPDatabase specifies an alternate database filename to use by the

# GeoIP library.  If an absolute path is not given as part of the name

# (ie: starts with a leading '/'), then the name is relative to the

# default output directory. This option should not normally be needed.


#GeoIPDatabase /usr/share/GeoIP/GeoIP.dat 


GeoIP의 경우에는 패키지로 관리되니, 

수작업으로 GeoDB 업데이트 할바에는 GeoIP를 활성화 해주는게 나을지도 모르겠다.

$ apt-file search GeoIP

geoip-database: /usr/share/GeoIP/GeoIP.dat

geoip-database: /usr/share/GeoIP/GeoIPv6.dat

geoip-database-contrib: /usr/share/GeoIP/GeoIP.dat

geoip-database-contrib: /usr/share/GeoIP/GeoIPASNum.dat

geoip-database-contrib: /usr/share/GeoIP/GeoIPASNumv6.dat

geoip-database-contrib: /usr/share/GeoIP/GeoIPv6.dat

geoip-database-contrib: /usr/share/GeoIP/GeoLiteCity.dat

geoip-database-contrib: /usr/share/GeoIP/GeoLiteCityv6.dat

geoip-database-extra: /usr/share/GeoIP/GeoIPASNum.dat

geoip-database-extra: /usr/share/GeoIP/GeoIPCity.dat 


+

[링크 : https://www.siteground.com/tutorials/geoip/]

[링크 : https://www.maxmind.com/download/geoip/api/php-20120410/geoip.inc]

Posted by 구차니

float 보단 decimal(11,2) 이런식으로 소수점 지원하는 10진수가 무난하려나?


[링크 : http://stackoverflow.com/questions/13030368/best-data-type-to-store-money-values-in-mysql]

[링크 : https://dev.mysql.com/doc/refman/5.7/en/fixed-point-types.html]

'프로그램 사용 > mysql & mariaDB' 카테고리의 다른 글

db designer  (0) 2017.03.14
데이터베이스 구조 버전관리  (0) 2017.02.13
mysql 다국어 문자길이  (0) 2017.02.06
mysql select case insensitive  (0) 2017.02.06
mysql event (schedule)  (0) 2017.02.05
Posted by 구차니

utf8에서 char(20) 이면

한영 구분 없이 20자인가?

그러고 보면 dbms에서 null문자는 빼고 처리하나보네?


문자열 중간에 null 넣으면 어떻게 되려나 궁금하네 ㅋㅋㅋ


[링크 : http://www.phpschool.com/gnuboard4/bbs/board.php?bo_table=tipntech&wr_id=64686]

[링크 : https://dev.mysql.com/doc/refman/5.7/en/string-literals.html]

Posted by 구차니

char형은 문자열이라 대소문자 구분하지 않고

binary형은 대소문자를 구분한다

[링크 : https://dev.mysql.com/doc/refman/5.7/en/case-sensitivity.html]


collate를 이용해 대소문자 구분여부를 변경할수있다

그리고 _cs는 case sensitive collation

_ci는 case insensitive collation의 접미인듯

[링크 : http://stackoverflow.com/questions/3936967/mysql-case-insensitive-select]

'프로그램 사용 > mysql & mariaDB' 카테고리의 다른 글

mysql 통화관련 변수타입  (0) 2017.02.07
mysql 다국어 문자길이  (0) 2017.02.06
mysql event (schedule)  (0) 2017.02.05
mysql 테이블 내 일정 문자열 치환하기  (0) 2017.01.26
mysql 암호화 방법들...?  (0) 2017.01.16
Posted by 구차니

대충 요약하면..

event 라는 mysql 내의 기능을 쓰거나

cron등으로 mysql에 sql을 사용해서 강제로 구동하거나

둘중에 하나?


[링크 : http://stackoverflow.com/questions/9621355/how-to-schedule-a-mysql-query]





[링크 : https://dev.mysql.com/doc/refman/5.5/en/create-event.html]

Posted by 구차니

역시 결론은.. 꺼부기가 최고야 -_-!

$ svn list file:///home/pi/repo@2 --verbose 


$ svn help list

list (ls): List directory entries in the repository.

usage: list [TARGET[@REV]...]


  List each TARGET file and the contents of each TARGET directory as

  they exist in the repository.  If TARGET is a working copy path, the

  corresponding repository URL will be used. If specified, REV determines

  in which revision the target is first looked up.


  The default TARGET is '.', meaning the repository URL of the current

  working directory.


  With --verbose, the following fields will be shown for each item:


    Revision number of the last commit

    Author of the last commit

    If locked, the letter 'O'.  (Use 'svn info URL' to see details)

    Size (in bytes)

    Date and time of the last commit


Valid options:

  -r [--revision] ARG      : ARG (some commands also take ARG1:ARG2 range)

                             A revision argument can be one of:

                                NUMBER       revision number

                                '{' DATE '}' revision at start of the date

                                'HEAD'       latest in repository

                                'BASE'       base rev of item's working copy

                                'COMMITTED'  last commit at or before BASE

                                'PREV'       revision just before COMMITTED

  -v [--verbose]           : print extra information

  -R [--recursive]         : descend recursively, same as --depth=infinity

  --depth ARG              : limit operation by depth ARG ('empty', 'files',

                             'immediates', or 'infinity')

  --incremental            : give output suitable for concatenation

  --xml                    : output in XML

  --include-externals      : include externals definitions


Global options:

  --username ARG           : specify a username ARG

  --password ARG           : specify a password ARG

  --no-auth-cache          : do not cache authentication tokens

  --non-interactive        : do no interactive prompting (default is to prompt

                             only if standard input is a terminal device)

  --force-interactive      : do interactive prompting even if standard input

                             is not a terminal device

  --trust-server-cert      : accept SSL server certificates from unknown

                             certificate authorities without prompting (but only

                             with '--non-interactive')

  --config-dir ARG         : read user configuration files from directory ARG

  --config-option ARG      : set user configuration option in the format:

                                 FILE:SECTION:OPTION=[VALUE]

                             For example:

                                 servers:global:http-library=serf 


[링크 : http://svnbook.red-bean.com/en/1.7/svn.tour.history.html]

'프로그램 사용 > Version Control' 카테고리의 다른 글

git 공부..  (2) 2017.04.25
git-svn 관련글  (0) 2017.04.25
svn hook encv  (0) 2016.12.30
svn commit email - python / synology  (0) 2016.12.30
svn diff 결과물 컬러로 보기  (0) 2016.12.30
Posted by 구차니
프로그램 사용/vi2017. 2. 1. 20:38

메모장에서

shift - end

ctrl - c,v를 자주쓰다보니

vi에서는 yy만 시용해서 복사하고 지우다 보니 영 불편했는데

고민을 해보니 처음,끝 이동을 연결해서 쓰면 될거 같기도 하네?!


y% 지금부터 끝까지 복사

y^ 처음부터 지금까지 복사


[링크 : http://stackoverflow.com/.../how-to-copy-from-current-position-to-end-of-line-in-vi]

'프로그램 사용 > vi' 카테고리의 다른 글

vi buffer window tab 차이점?  (0) 2017.02.11
vi 창 분할해서 보기  (0) 2017.02.10
vi 단어 단위 이동  (0) 2017.02.01
vi syntax highlight 선택하기  (0) 2017.01.03
vimdiff 사용법  (0) 2016.11.17
Posted by 구차니
프로그램 사용/vi2017. 2. 1. 20:28

메모장이나 notepad++에서 빠르게 이동하려고

ctrl - ←,→ 으로 이동을 했는데 vi에서도 비슷하게 존재는 하는데.. 조금 아쉽네?


단어 단위로 이동

bb ww


[링크 : http://soooprmx.com/wp/archives/2777]

'프로그램 사용 > vi' 카테고리의 다른 글

vi 창 분할해서 보기  (0) 2017.02.10
vi 현재 위치에서 끝까지 복사  (0) 2017.02.01
vi syntax highlight 선택하기  (0) 2017.01.03
vimdiff 사용법  (0) 2016.11.17
vi 스크롤  (0) 2016.11.10
Posted by 구차니

지인 회사 사이트가 이전하면서

도메인이 바뀌었는데.. 망할 XE 엔진에서 이미지 URL을 상대경로가 아닌 절대경로로 넣어놓는건지

게시글 이미지가 죄다 깨졌네 -_-


그래서 게시글에서 이전 도메인을 새로운 도메인으로 일괄 변경하는 방법 검색중..


[링크 : http://egloos.zum.com/blrun/v/11039330]

[링크 : http://sir.kr/qa/35885]

[링크 : http://blog.freezner.com/archives/578]

'프로그램 사용 > mysql & mariaDB' 카테고리의 다른 글

mysql select case insensitive  (0) 2017.02.06
mysql event (schedule)  (0) 2017.02.05
mysql 암호화 방법들...?  (0) 2017.01.16
mysql prepare + execute 와 query 차이점  (0) 2017.01.15
mysql mariadb 호환성  (0) 2017.01.12
Posted by 구차니
프로그램 사용/apache2017. 1. 23. 15:13

라즈베리에서 아파치 돌리는데 기본으로 mod_deflate가 활성화 되어 있는 것으로 보이네..

[링크 : http://extrememanual.net/4252]


아래는 제대로 압축을 수행중인지 확인하는 링크

gzip 확인은 실패하네.. 머지?

[링크 : http://tecadmin.net/how-to-enable-gzip-compression-on-apache/]

    [링크 : https://checkgzipcompression.com/]

    [링크 : http://www.whatsmyip.org/http-compression-test/]


+

ssl 적용해놨지만 인증서가 사설이라 --no-check-certificate를 해줘야 받아온다. ㅠㅠ

아무튼 받아온걸 file로 확인해보면 압축된 녀석 흐음..

$ wget --no-check-certificate --header="Accept-Encoding: gzip" https://localhost/php_test/phpinfo.php

--2017-01-23 15:40:12--  https://localhost/php_test/phpinfo.php

Resolving localhost (localhost)... ::1, 127.0.0.1

Connecting to localhost (localhost)|::1|:443... connected.

WARNING: The certificate of ‘localhost’ is not trusted.

WARNING: The certificate of ‘localhost’ hasn't got a known issuer.

The certificate's owner does not match hostname ‘localhost’

HTTP request sent, awaiting response... 200 OK

Length: 24808 (24K) [text/html]

Saving to: ‘phpinfo.php’


phpinfo.php                  100%[===============================================>]  24.23K  --.-KB/s   in 0.007s


2017-01-23 15:40:12 (3.63 MB/s) - ‘phpinfo.php’ saved [24808/24808] 


$ file phpinfo.php

phpinfo.php: gzip compressed data, from Unix


[링크 : https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-mod_deflate-on-ubuntu-14-04]

[링크 : https://forum.ivorde.com/wget-error-error-the-certificate-of-is-not-trusted-t19611.html]


+

표준상으로는 compress, gzip 정도 밖에 안되는건가?

[링크 : https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html]

Posted by 구차니