Nginad Server安装

前言

Nginad是一个基于php的开源项目,它既可以作为静态配置的Ad Server,也可以作为动态的RTB Exchange使用。代码结构比较直接明了,挺适合用作学习的。本文如果有理解错误的地方,希望各位不吝指正。

概要

我在14年10月份接触RTB领域的时候,开始搭建RTBKit + Nginad的实时竞价环境,搭建过程中就觉得Nginad的文档非常凌乱,东一块西一块,当时就写下这些内容供以后参考。最近看官网貌似也提供了比较完整的安装文档。有兴趣的人可以直接阅读官网文档。

环境配置

配置好你的nginx + php + mysql环境,这个我就不赘述了,请自行搜索。

下载nginad

从git上下载nginad, 将upload文件夹下面的东西复制到nginx的web目录里。

git clone https://github.com/nginadfoundation/nginad.git

然后将里面的upload目录放到nginx web目录下。

安装项目

在upload目录下调用php的包管理安装依赖库

 composer.phar self-update
composer.phar install

配置文件

在config/autoload下有很多配置文件*.php.dist,请将后面的.dist后缀去掉。

cd config/autoload
cp database.local.php.dist database.local.php
cp delivery.local.php.dist delivery.local.php
cp email.local.php.dist email.local.php
cp rtb.config.local.php.dist rtb.config.local.php

配置数据库

配置数据库请参见链接。主要就是新建nginad所需要的各种表。官网页面有很多操作,我是在ubuntu系统上安装的,如果前述mysql+php+nginx环境已经配好了,只需要执行:

mysql -u root -p  //登陆mysql
create database nginad;
grant usage on *.* to nginad@`%` identified by 'password';
grant all privileges on nginad.* to nginad@`%` ;
flush privileges;
quit;         //创建数据库,给予权限

然后下载sql脚本(这个脚本可能会过期,还是从配置数据库的官网页面上下载比较好),接着执行:

mysql -u nginad -p nginad < [刚刚下载的sql脚本]

最后,修改nginad upload所在目录下/config/autoload/database.local.php文件

$dbParams = array(
'dbname' => 'nginad',
'user' => 'root',
'pass' => '',
'host' => 'localhost',
);

请填入正确的数据库连接参数。

修改public/ad/nginad.js

修改该js文件中的第一行代码

var adserver_domain = ""

改成你部署nginad server所在的domain,这段脚本会向这个地址请求广告物料。

启动

这里还有一点奇怪的,我不知道nginad server启动的管理员默认账号密码是什么。。。好像也没看到哪里有说,(真坑爹)。

我的解决方案是,反正数据库在手,我自己在table里硬编码写进去了一个管理员账号密码。。。(密码是加密的,不知道怎么填?请先注册一个publisher之类的账号,密码写个test,然后去DB里看test被加密成了什么字符串,把相同的字符串写到管理员账号的密码里,管理员的密码也就是test了,nginad的加密没有用salt,不算很安全啊..)



更新:现在知道了。。是:

默认管理员
username: admin@localhost
password: password 默认publisher
username: sergey.page@blowmedianow.com
password: password
上一篇:在Docker镜像中安装python-sympy


下一篇:记录下 Markdown 语法