分类 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 整理编辑,转载请注明出处

在SuSE安装wifidog认证服务器和网关

在SuSE安装认证服务器和网关

在openSuSE 10.3安装wifidog
认证服务器和网关在同台设备中安装完毕。以下是openSuSE的详细安装指南。这个安装是非常初级的,所以请验证或更正。
--安装openSuSE10.3需要全部软件(需要至少7GB的硬盘空间)
--更新openSuSE10.3

安装wifidog认证服务器
--安装所有PHP5扩展
--安装postgresql-server
--按照http://www.novell.com/coolsolutions/feature/595.html中的指南启动apache(启动postgresql而不是mysql)
--将目录更改为

cd /srv/www 

--用以下命令下载认证服务器

svn checkout  https://dev.wifidog.org/svn/trunk/wifidog-auth 

--将目录改为

cd /etc/apache2 

--在default-server.conf文件中,将所有“/srv/www/htdocs”改成“/srv/www/wifidog-auth/wifidog”
--重启apache服务器
--用浏览器打开http://localhost/install.php,按指南进行操作。
当运行PHP安装时:
--进入到postgresql执行命令

su – postgres 

--当创建完数据库后,应该创建有username/groupname wwwrun/www的指定目录并且用以下命令创建所有权。用x84-64 openSuSE结构PHP安装器将无法指定usrname/groupname。X86和X86-64用以下命令:

su wwwrun 
mkdir ‘indicated files’; 
chown -R wwwrun ‘indicated files’ 
chgrp -R www `indicated files’ 

--在连接到数据库之前,必须在/var/lib/pqsql/data中更改pg_hba.conf。所以将目录改为

cd /var/lib/pgsql/data 

--编辑pg_hba.conf,将“ident sameuser”变更为“md5 samerole”
默认设置:

local all all ident sameuser 
host all all 127.0.0.1/32 ident sameuser 
host all all ::1/128 ident sameuser

新设置:

local all all md5 samerole 
host all all 127.0.0.1/32 md5 samerole 
host all all ::1/128 md5 samerole

--重启postgresql服务器
--注:为了在第一次安装后能用命令“su-postrges”直接连接到数据库,重启旧值和postgresql。在启运认证服务器之前,还原“md5 samerole”。
在安装完PHP后,你会被重新定向到wifidog认证页面。做为管理员第一次登录后:
--配置认证服务器
--用任意一个本地IP地址(例如192.168.0.1)来修改本地主机。

Wifidog网关安装
--用以下命令在本地目录ex./root下载wifidog软件

svn checkout  https://dev.wifidog.org/svn/trunk/wifidog

--更改目录为

cd/root/wifidog

--安装网关的命令

./autogen.sh
make 
make install 

--连接到第二个有线网络卡并进行配置
按指南将SuSE10做为路由器进行安装,指南可从以下网页获得:http://www.novell.com/coolsolutions/feature/16579.html
--通过服务器内部卡将另一台终端电脑连接到服务器
--测试通过服器将另一台电脑与互联网这间进行连接是否有效
--创建/usr/local/etc目录

cp /root/wifidog/wifidog.conf /usr/local/etc/. 
cp /root/wifidog/wifidog-msg.html /usr/local/etc/. 

--在wifidog.conf文件中依据你硬件和服务器的配置对内部和外部设备进行配置。例如:

GatewayID default 
    ExternalInterface eth0 
    GatewayInterface eth2 
    AuthServer { 
        Hostname 192.168.0.1 
        SSLAvailable no 
        SSLPort 443 
        HTTPPort 80 
        Path / 
} 

--192.168.0.1是将服务器作为路由器进行安装时,嵌入到内部卡的任意IP地址。这个地址也相当于是认证服务器的默认虚拟主机的用户名。
--重启服务器
--用以下命令启动网关

wifidog -f -d 7 

通过内部无线路由器连接到wifidog
--断开终端PC的内部以太网网线,并连接到有内部无线路由器或接入点的LAN。
--配置将作为接入点的外部路由器和内部路由器。如以下所示:
http://www.dslreports.com/faq/11233
--通过路由器与终端PC进行连接,并转到wifidog的登录页面。
--如果在连接时遇到问题,用以下命令重启网络:

/etc/init.d/network restart

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