标签 wifidog认证 下的文章

Wifidog 认证服务器管理文件

入门指南
你现在已经完成了wifidog安装,需要做的是配置网络的一些参数。
此文档是想为你成功安装认证服务器提供一些指南。此文档也尚未完成。另外,也有计划最终整合安装指南。
在开始之前,建议你将服务器镜像做个备份。在遇到问题时可以避免重新安装。
首先你需要以管理员的身份登录网络,在屏幕顶部,你会看到有以下选项的菜单:找到热点,网络管理,节点管理,服务器管理,用户管理。将鼠标放到子菜单选项,如何使用这些来完成最基本的wifidog配置/定制,下面都会有注释。

首先,一些定义
如果你按照配置菜单进行操作的话,你会遇到以下词汇。这里提到的会帮助你理解配置过程。在长词汇的理解和wifidog管理上都会有所帮助。

Network
拥有普通用户列表和门户的一组节点的管理界面
Node
节点被定义为一个独立的Wifidog网关安装,并且经常被称为热点
Virtual Host
服务器的完全限定域名,也包含了google API key,这个key可以从此处获得:http://code.google.com
Authentication Parameters
网络处理它的用户的方式,可能是本地数据库,radius,LDAP或者没有用户列表。

为用1个节点单独网络安装程序配置服务器
配置网络的名称,地址和GIS坐标

首先,你需要找到这台服务器的Network Administration >Add a new Network,大部分默认设置都无需处理,但你需要配置一部分默认值。这里概述一下:
在Network Name输入网络名称。在Network’s Website输入网络IP地址。
在Technical Support email输入support email地址。
在Network Properties > Is this network the default network?点击“是”。
输入GIS数据-经度,纬度等等。

详细步骤
创建一个新的网络
找到服务器上Network Administration > Add a new Network
你需要添加一个新的网络ID
现在你需要输入与网络相关的细节信息

与网络相关的信息
Network Name-网络名称,此网络上的网站将被托管。
Technical Support email-support email地址,如:support@...

网络认证
Network authenticator class-暂时先把它看作是“Authenticator Local User”。
Authenticator parameters-请输入与Nentwork ID相同的名称,并用单引号标注。

网络属性
Theme Pack-目前只有一个主题公园来设置WIFIDOG的外观,请浏览http://dev.wifidog.org/wiki/doc/developer/PortalCustomization,来了解如果创建一个新的主题。目前此选项可以设置成空。

网络节点的属性
Splash-only nodes-节点允许被设置成Splash-only形式吗?
Portal page redirection-节点允许将用户重新导向至任意页面,而非门户吗?

网络用户验证
Validation grace period-以秒计算验证宽限期的长度,这段时间用户被允许接入互联网,查看他的邮件,验证他的帐户。默认值是“1200”,也就是20分钟。
Multiple connections-一个用户可以同时进行多次链接吗?

访问权限
在这里你可以定义谁可以使用“Edit NetworkNameHere”来管理网络。此人的用户名必须已经存在,也可以通过点击左上角的“创建新用户”来完成。

GIS数据
Latitude-按照惯例,要写成+/-00.000000的形式
Longitude-按照惯例,要写成+/-00.000000的形式
Zoom level-从1到20,选择合适的缩放值来包含所有的节点
Map type(卫星等等,只需选一项)

地图,GoogleKey等等,虚拟网络

我已经在前面提到过如何为你的网络配置坐标。现在输入你的Google API查看网络上的第一个地图。找到导航目录的Server Administration > Virtual Hosts

在虚拟主机页面,你会看到选项,是要编辑已有的虚拟主机(本地主机)还是要创建一个新的。不要删除或编辑名称为“localhost”的虚拟主机,用新名称创建一个虚拟主机,并点击“添加新虚拟主机”按钮。然后打开虚拟主机配置页面,输入Google API key。点击预览,关闭预览然后点击“save virtualhost”。

创建一个新节点
现在你有了新地图和正常运行的服务器,你需要一些节点来完成任务。操作步骤如下:
找到Node administration > Add Node
你需要输入一个Node ID,详细地址,地理信息和一些选项。

门户管理
附加条件

先决条件:

  • 安装认证服务器
  • 以管理员身份登录

创建一个新节点

  • 点击左侧“Add a New Node”
  • 给节点一个唯一的描述性ID
  • 填写节点信息
  • 设置部署状况
  • 如果你不想用户登录,选择splash-only
  • 创建目录:
    在节点安装页面底部,会提到节点目录。
    Display Page可以显示具体信息:
    登录后将显示门户页面。登录将显示在登录页面。
    目录是可以显示在页面上的目录。LangString是用来在页面上放置文本。它对于描述服务或显示文本都非常有用。

添加Langstring的步骤:

  • 点击“Add”
  • 点击“Edit”,编辑新创建Langstring。
  • 在Title类别添加Trivialstring。选择语言,输入标题名称并点击Add New String。
  • 在底部选择语言,并显示目录。
  • 点击保存

现在返回到节点配置并用同样方法添加其它目录。
在页面放张图片,步骤与string相同,但代替目录的是有个选项可以上传图片。

本文章由 http://www.wifidog.pro/2015/03/11/wifidog%E8%AE%A4%E8%AF%81%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%AE%A1%E7%90%86%E6%96%87%E4%BB%B6.html 整理编辑,转载请注明出处

Wifidog认证服务器升级

将成品服务器的认证服务器进行升级,安全流程如下:
1 阅读Changelog;
2 在升级前使用sql/backup_database.sh;
3 测试;

  • 在研发设备上检测最新的SVN(不能与你的服务器使用同一台,除非你真的了解你在做什么;你需要修改config.php来指向一个不同的DB,并且你不能直接使用还原的脚本)
  • 在研发设备上还原实时数据库。检测是否一切有序。(内容包括登录,查看你最复杂的门户)。更复杂些的测试内容有在开发服务器上安装网关并且登录,尝试创建一个新帐户;

4 在实时服务器上运行SVN;
5 在认证服务器主页面确认架构已经升级;
6 如果Changelog中提到了依赖性变更,那就在Dependencies页面启动安装脚本。

已测试的稳定的修订包
虽然wifidog在升级时应该被反向兼容,但这仍然会不可避免的中断一些进程。当用户安装最新版本的wifidog时,也是在冒险。这升级版本也会被新的未经测试的功能或修改所中断。
这部分是记录已知的,已测试的和可运行的修订包。可能更新的包也可以运行,但在这里却没有列举。这些是为那些寻找已测试并可运行的人准备的,因为他们不想很麻烦的调试他们的新版本。
知道最新的版本号,使用命令:svn info。你需要在wifidog的文件夹内。
版本号:1226 (Thu, 17 May 2007 at 16:25:43) - Tested by Wadz (wmaalouf -@at- fqccl d0t org)
细节:我从1154版本顺利升级到此版本。但刚才我尝试升级到最高版本(1250)时崩溃了,我用了好几个小时进行还原,当我找到可运行的版本时进行了重新安装。新数据库架构升级经常失败。所以最后我获取了1226版本,并成功安装。
在Debian etch服务器的PHP5.2.0-8和SQL7.4.17进行测试
-->重新安装:svn -r 1226 checkout https://dev.wifidog.org/svn/trunk/wifidog-auth
-->升级:svn update -r 1226

本文章由 http://www.wifidog.pro/2015/03/11/wifidog%E8%AE%A4%E8%AF%81%E6%9C%8D%E5%8A%A1%E5%99%A8%E5%8D%87%E7%BA%A7.html 整理编辑,转载请注明出处

在Windows XP SP2安装wifidog认证服务器

在Windows XP安装Wifidog
需求

安装
安装Postgres
解压文件夹,运行msi,选择默认选项,当有系统提示时创建用户和密码。

安装Apache
运行msi并选择所有默认选项

安装PHP
运行msi,有系统提示时,选择“Apache 2.2.x Module”
Apache配置目录,如:C:\Program Files\Apache Software Foundation\Apache2.2\conf\
安装所有选项(包括PEAR),并确认只安装下列扩展

  • activescript
  • curl
  • dio
  • gd2
  • gettext
  • htscanner
  • pecl_http
  • ldap
  • multi-byte string
  • mcrypt
  • mhash
  • pdflib
  • postgreSQL
  • Standard PHP
  • SVN
  • win32service
  • win32std
  • xmlrpc
  • xsl
  • zip

安装WIFIDOG
将WIFIDOG引入到“C:\wwwroot\”
使用一种实用程序如7ZIP将Smarty引入到“c:\wwwroot\wifidog-auth\wifidog\lib\”

配置

Start > All Programs > PostgreSQL 8.2 > PGADMIN III 

右键点击超级用户并点击连接,然后输入你的密码。
点击加号,展开列表
右键点击登录角色,然后点击“新登录角色…”
在“角色名称”输入wifidog,然后输入密码,点击OK
右键点击数据库图标然后点击“新数据库…”

name=wifidog
owner=wifidog
encoding=utf8
goto Start >All Programs >Apache >httpd.conf

找到以下命令

DocumentRoot = "C:/Program Files/Apache/htdocs"

并替换成

DocumentRoot "C:/wwwroot/wifidog-auth/wifidog"

将以下命令

<Directory "C:/Program Files/Apache/htdocs">

替换成

<Directory "C:/wwwroot/wifidog-auth/wifidog">

将以下命令

DirectoryIndex index.html

替换成

DirectoryIndex index.html index.php

Work Arounds
将以下命令

385         $process_info_user_id = posix_getpwuid(posix_getuid()); 
386  
387         if($process_info_user_id){ 
388             $process_username = $process_info_user_id['name']; 
389         } 
390         else { 
391             //Posix functions aren't available on windows 
392             $process_username = 'unknown_user'; 
393         } 
394         $process_info_group_id = posix_getgrgid(posix_getegid()); 
395         if($process_info_group_id){ 
396             $process_group = $process_info_group_id['name']; 
397         } 
398         else { 
399             //Posix functions aren't available on windows 
400             $process_group = 'unknown_group'; 
401         } 
402         $cmd_mkdir = ''; 
403         $cmd_chown = ''; 
404         $error = 0; 
405  
406         print "<p><em>HTTP daemon UNIX username/group</em>: $process_username/$process_group</p>"; 
407         #    print "<p><em>HTTPD group</em>: $process_group<BR</p>"; 
408         print "<p><table BORDER=\"1\"><tr><td><b>Directory</b></td></td><td><b>Owner</b></td><td><b>Writable</b></td></tr>\n"; 
409  
410         foreach ($dir_array as $dir) { 
411             print "<tr><td>$dir</td>"; 
412             if (!file_exists(WIFIDOG_ABS_FILE_PATH . "$dir")) { 
413                 print "<TD COLSPAN=\"2\" STYLE=\"text-align:center;\">Missing</td></tr>\n"; 
414                 $cmd_mkdir .= WIFIDOG_ABS_FILE_PATH . "$dir "; 
415                 $cmd_chown .= WIFIDOG_ABS_FILE_PATH . "$dir "; 
416                 $error = 1; 
417                 continue; 
418             } 
419  
420             $dir_info = posix_getpwuid(fileowner(WIFIDOG_ABS_FILE_PATH . "$dir")); 
421             if($dir_info) { 
422                 $dir_owner_username = $dir_info['name']; 
423             } 
424             else { 
425                 //Posix functions aren't available on windows 
426                 $dir_owner_username = fileowner(WIFIDOG_ABS_FILE_PATH . "$dir"); 
427             } 
428             print "<td>$dir_owner_username</td>"; 
429  
430             if (is_writable(WIFIDOG_ABS_FILE_PATH . "$dir")) { 
431                 print "<td>YES</td>"; 
432             } 
433             else { 
434                 print "<td>NO</td>"; 
435                 $cmd_chown .= WIFIDOG_ABS_FILE_PATH . "$dir "; 
436                 $error = 1; 
437             } 
438             print "</tr>\n"; 
439         } 
440         print "</table>\n"; 

替换成

* posix_getpwuid() not implemented on Microsoft Windows platforms
*/

if (!function_exists('posix_getpwuid')) {
        print "<p><em>Automated Process not currently avalible on windows.</em> please make sure the following directories exist and have WRITE permissions</p>";
print "<p><table BORDER=\"1\"><tr><td><b>Directory</b></td></tr>\n";

        foreach ($dir_array as $dir) {
            print "<tr><td>$dir</td></tr>";
    }
print "</table>";
$error = 0;
}
else {
$process_info_user_id = posix_getpwuid(posix_getuid());

        if($process_info_user_id){
            $process_username = $process_info_user_id['name'];
        }
        else {
            //Posix functions aren't available on windows
            $process_username = 'unknown_user';
        }
        $process_info_group_id = posix_getgrgid(posix_getegid());
        if($process_info_group_id){
            $process_group = $process_info_group_id['name'];
        }
        else {
            //Posix functions aren't available on windows
            $process_group = 'unknown_group';
        }
        $cmd_mkdir = '';
        $cmd_chown = '';
        $error = 0;

        print "<p><em>HTTP daemon UNIX username/group</em>: $process_username/$process_group</p>";
        #    print "<p><em>HTTPD group</em>: $process_group<BR</p>";
        print "<p><table BORDER=\"1\"><tr><td><b>Directory</b></td></td><td><b>Owner</b></td><td><b>Writable</b></td></tr>\n";

        foreach ($dir_array as $dir) {
            print "<tr><td>$dir</td>";
            if (!file_exists(WIFIDOG_ABS_FILE_PATH . "$dir")) {
                print "<TD COLSPAN=\"2\" STYLE=\"text-align:center;\">Missing</td></tr>\n";
                $cmd_mkdir .= WIFIDOG_ABS_FILE_PATH . "$dir ";
                $cmd_chown .= WIFIDOG_ABS_FILE_PATH . "$dir ";
                $error = 1;
                continue;
            }

            $dir_info = posix_getpwuid(fileowner(WIFIDOG_ABS_FILE_PATH . "$dir"));
            if($dir_info) {
                $dir_owner_username = $dir_info['name'];
            }
            else {
                //Posix functions aren't available on windows
                $dir_owner_username = fileowner(WIFIDOG_ABS_FILE_PATH . "$dir");
            }
            print "<td>$dir_owner_username</td>";

            if (is_writable(WIFIDOG_ABS_FILE_PATH . "$dir")) {
                print "<td>YES</td>";
            }
            else {
                print "<td>NO</td>";
                $cmd_chown .= WIFIDOG_ABS_FILE_PATH . "$dir ";
                $error = 1;
            }
            print "</tr>\n";
        }
        print "</table>\n";
}

缺失必要的PHP扩展:

  • 确保在Start>All Programs >PHP >PHP.ini安装了所需扩展,并检测缺失扩展也在内
  • 在C:\wwwroot\下创建phpinfo.php的文件,并添加下列代码:

然后运行此文件确保PHP配置正确

在/classes/Locale.php文件中加入以下内容:

257         echo sprintf("Warning in /classes/Locale.php setCurentLocale: Unable to setlocale() to %s: %s.  I tried %s, %s, %s, %s, and got return value: %s, current locale is: %s",$q, $locale_id, $candidate_locale_array[0], $candidate_locale_array[1], $candidate_locale_array[2], $candidate_locale_array[3], $current_locale, setlocale(LC_ALL, 0))."<br/>";

在classes\SmartyWifidog.php中找到以下命令

136         $this->security = true; 

并更改为

136         $this->security = false; 

错误的URL 在path_defines_base文件中,将以下内容:

if ($browser_url == "" || substr($browser_url,-1,1) != '/') $browser_url .= '\';

更改为

if ($browser_url == "" || substr($browser_url,-1,1) != '/') $browser_url .= '';

本文章由 http://www.wifidog.pro/2015/03/11/windowxp%E5%AE%89%E8%A3%85wifidog%E8%AE%A4%E8%AF%81%E6%9C%8D%E5%8A%A1%E5%99%A8.html 整理编辑,转载请注明出处

在Ubuntu Linux安装wifidog认证服务器(2)

Apache 2配置文件
我们需要变更文件路径。我们认为这台服务器不应该有其它“网络”使用。如果这样,你就需要学习如何配置apache2。

nano /etc/apache2/sites-available/default

将以下内容:(在第五行)

DocumentRoot /var/www/

更改为

DocumentRoot /var/www/wifidog-auth/wifidog

重启apache2:

sudo /etc/init.d/apache2 restart

在wifidog.conf配置语言环境
如果你想翻译所有语言,你需要创建所有语言环境。如果你的磁盘空间很充足,你可以能过各种方法进行操作。最简单的方法是在ubuntu执行以下命令:

sudo apt-get install language-pack-bg-base language-pack-de-base language-pack-el-base language-pack-es-base language-pack-fr-base language-pack-it-base language-pack-ja-base language-pack-pt-base language-pack-sv-base

你也许想在config.php文件中设置门户页面的默认语言

sudo nano /var/www/wifidog-auth/wifidog/config.php

define('DEFAULT_LANG', 'fr_CA');

改为

define('DEFAULT_LANG', 'en_US');

设置邮件服务器
你需要有有效的邮件程序来发送帐号确认信息。
安装postfix

sudo apt-get install postfix

选择“internet site with smart host”配置选项并回答下面一系列问题。

配置认证服务器
访问http://your-domaine.com/install.php并按指南操作。也可以参照以下步骤。
如果你还没有配置dns/domain重定向,你可以用“ifconfig”命令获取IP地址。
你必须执行

cat /tmp/dog_cookie.txt

然后在浏览器中点击下一步(在dog_cookie.txt文件中会需要密码)
1)First screen
在postgres创建一个wifidog用户

su - postgres
createuser wifidog --pwprompt 

当需要插入密码时执行

wifidogtest

如果你有PostgreSQL 8.1:三个问题的回答都为否。如果你有PostgreSQL7.4:两个问题的回答为否。
创建此用户的数据库

createdb wifidog --encoding=UTF-8 --owner=wifidog

2)Second screen:你需要复制粘贴这一长串的命令,点击刷新和下一步。此操作最简单的方法是看你是否将SSH链接到你的box。

sudo su -

然后复制整个命令包
3)Third screen:检测已安装过的软件。如果你按此指南操作,你已经具有了所有安装的条件。安装simplepie,然后安装PHPMailer,下一步安装feedpressreview,下一步安装Smarty。(虽然系统没有检测到,但Phlickr已经被安装)点击下一步。
4) Forth screen: 添加DB信息

移除安装文件
当然,唯一能访问install.php文件的只有你。你将需要将install.php文件移出公众视线。
1)进入到wifidog目录(/var/www/wifidog-auth/wifidog)

cd /var/www/wifidog-auth/wifidog

2)将install.php文件移到根目录,他人无法访问:

mv install.php ../install.php

注:你可以将它移到你选的任何位置,只要不是公用。
编辑install.php文件的第931行,移除“window.location.reload(true);”

本文章由 http://www.wifidog.pro/2015/03/10/Ubuntu%E5%AE%89%E8%A3%85wifidog%E8%AE%A4%E8%AF%81%E6%9C%8D%E5%8A%A1%E5%99%A8-2.html 整理编辑,转载请注明出处