安装 GoAccess 非常的容易。只需要下载、解压以及编译就好了:
$ wget http://tar.goaccess.io/goaccess-1.2.tar.gz $ tar -xzvf goaccess-1.2.tar.gz $ cd goaccess-1.2/ $ ./configure --enable-utf8 --enable-geoip=legacy $ make # make install注意: 仅仅需要依赖 ncurses 模块。
GoAccess 拥有多个配置选项。获取完整的最新配置选项列表,请运行:./configure --help
--enable-debug
--enable-utf8
--enable-geoip=<legacy|mmdb>
legacy
将使用原始 GeoIP 数据库。mmdb
将使用增强版 GeoIP2 数据库。--enable-tcb=<memhash|btree>
memhash
将使用 Tokyo Cabinet 的内存哈希数据库。 btree
将使用 Tokyo Cabinet 的磁盘 B+Tree 数据库。--disable-zlib
--disable-bzip
--with-getline
--with-openssl
使用您正在使用的 Linux 发行版的包管理器来安装 GoAccess 是非常简单的。需要注意的是并不是所有的发行版都同步更新了最新的 GoAccess 可用版本。
# apt-get install goaccess
注意: 此操作无法保证总是提供最新的稳定版本。要使用最新的 GoAccess 稳定版本请参考上文。
$ echo "deb http://deb.goaccess.io/ $(lsb_release -cs) main" | sudo tee -a /etc/apt/sources.list.d/goaccess.list $ wget -O - https://deb.goaccess.io/gnugpg.key | sudo apt-key add - $ sudo apt-get update $ sudo apt-get install goaccess
sudo apt-get install goaccess-tcb
。https
获取 .deb
格式包文件,您可能需要安装 apt-transport-https
。# yum install goaccess
# pacman -S goaccess
# emerge net-analyzer/goaccess
# brew install goaccess注意: 如果需要 GeoIP,请在上面的命令行后添加
--with-libmaxminddb
。 您将需要从 MaxMind 下载城市/国家数据库,并且使用 --geoip-database
详细指定需要用到的数据库。
# pkg install sysutils/goaccess
# pkg_add goaccess
# pkgin install goaccess
# curl https://slackbuilds.org/slackbuilds/14.1/system/goaccess.tar.gz | tar xvz # cd goaccess/ # GEOIP=yes ./goaccess.SlackBuild
GoAccess 可以通过 Cygwin 运行在 Windows 系统下。 安装指导请参考 这里 。
GoAccess 使用纯C编写,仅依赖 ncurses 模块。 但是如果通过源码来构建 GoAccess,不同发行版还是有一些区别,下表列出了一些发行版的可选依赖模块。
Distro | NCurses | GeoIP (optional) | Tokyo Cabinet (optional) | OpenSSL (optional) |
---|---|---|---|---|
Ubuntu/Debian | libncursesw5-dev | libgeoip-dev | libtokyocabinet-dev | libssl-dev |
Fedora/RHEL/CentOS | ncurses-devel | geoip-devel | tokyocabinet-devel | openssl-devel |
Arch Linux | ncurses | geoip | compile from source | openssl |
Gentoo | sys-libs/ncurses | dev-libs/geoip | dev-db/tokyocabinet | dev-libs/openssl |
Slackware | ncurses | GeoIP | tokyocabinet | openssl |
gcc
, make
, base-devel
, build-essential
, "Development Tools"
等等。在 Docker 容器中运行 GoAccess 之前,请先在 /srv/goaccess/data 目录下创建配置文件。 您可以自行从头开始或者使用 config/goaccess.conf 作为起点并根据需要进行修改。
一份最小化的支持实时 HTML 报告的适用于 Docker 容器的配置文件至少需要设置以下这些选项:log-format
, log-file
, output
, real-time-html
以及 ws-url
。
配置文件准备好以后,请从 Github 上克隆源码仓库到本地:
$ git clone https://github.com/allinurl/goaccess.git goaccess && cd $_
接着请按照如下步骤创建并运行镜像:
docker build . -t allinurl/goaccess
docker run --restart=always -d -p 7890:7890 \
-v "/srv/goaccess/data:/srv/data" \
-v "/srv/goaccess/html:/srv/report" \
-v "/var/log/apache2:/srv/logs" \
--name=goaccess allinurl/goaccess
注意: 可能您需要替换 /var/log/apache2
为您自己的 Web 服务器的访问日志。
如果一切顺利,一份安装报告将会出现在 /srv/goaccess/html/
目录下。
如果在构建镜像之后修改了配置文件,是不需要重新构建的。简单的重启容器即可:
docker restart goaccess
更多信息请查阅 README.md 文件中有关 Docker 的章节。
$ git clone https://github.com/allinurl/goaccess.git $ cd goaccess $ autoreconf -fi $ ./configure --enable-geoip --enable-utf8 $ make # make install