Chinaunix首页 | 论坛 | 博客
  • 博客访问: 755171
  • 博文数量: 280
  • 博客积分: 10106
  • 博客等级: 上将
  • 技术积分: 3052
  • 用 户 组: 普通用户
  • 注册时间: 2007-10-31 17:10
文章分类

全部博文(280)

文章存档

2011年(2)

2010年(4)

2009年(4)

2008年(62)

2007年(208)

我的朋友

分类: LINUX

2007-11-05 20:37:10

其实这是我用RouterOS和redhat linux进行pppoe服务器的配置及在readius中进行账号和MAC地址绑定全文中的一部分,

今天先发出来,其它部分待续。。

安装MYSQL

# groupadd mysql
# useradd -g mysql -d /usr/local/mysql/data -M mysql
# tar -zxvf mysql-5.0.27.tar.gz
# cd mysql-5.0.27
./configure --prefix=/usr/local/mysql \ 指定安装目录
> --sysconfdir=/etc \ 配置文件的路径
> --localstatedir=/usr/local/mysql/data \ 数据库存放的路径
> --enable-assembler \ 使用一些字符函数的汇编版本
> --with-mysqld-ldflags=-all-static \ 以纯静态方式编译服务端
> --with-charset=utf8 \ 添加utf8字符支持
> --with-extra-charsets=all 添加所有字符支持

# make
# make install
# /usr/local/mysql/bin/mysql_install_db
# chown -R mysql:mysql /usr/local/mysql/data
# cp /usr/local/mysql/share/mysql/mysql.server /etc/rc.d/init.d/mysqld
# chkconfig --add mysqld
# cp /usr/local/mysql/share/mysql/my-medium.cnf /etc/my.cnf

安装Apache

# tar -zvxf httpd-2.2.3.tar.gz
# cd httpd-2.2.3
# ./configure --prefix=/usr/local/apache --enable-so
# make
# make install

先安装支持包(注意安装顺序)
先列出配置gd2需要的网址

gd-2.0.33.tar.gz


jpegsrc.v6b.tar.gz
ftp.uu.net/graphics/jpeg


libpng-1.2.14.tar.tar

libpng.sourceforge.net
sourceforge.net/projects/libpng

zlib-1.2.3.tar.gz

sourceforge.net/projects/zlib

freetype-2.2.1.tar.gz

freetype.sourceforge.net/index2.html
sourceforge.net/projects/freetype

建立初始目录:

mkdir /usr/local/modules

jpeg目录

# mkdir /usr/local/modules/jpeg6
# mkdir /usr/local/modules/jpeg6/bin
# mkdir /usr/local/modules/jpeg6/lib
# mkdir /usr/local/modules/jpeg6/include
# mkdir /usr/local/modules/jpeg6/man
# mkdir /usr/local/modules/jpeg6/man/man1

安装zlib

# tar xzvf zlib-1.2.3.tar.gz
# cd zlib-1.2.3
不要用--prefix自定义安装目录,影响gd的安装
# ./configure
# make
# make install

安装freetype

# tar xzvf freetype-2.2.1.tar.gz
# cd freetype-2.1.5
# ./configure --prefix=/usr/local/modules/freetype
# make
# make install

安装libpng

# tar xzvf libpng-1.2.14.tar.tar
不要用--prefix自定义安装目录,影响gd的安装
# cd libpng-1.2.5
# cp scripts/makefile.std makefile
# make
# make install

安装jpeg

# tar xzvf jpegsrc.v6b.tar.gz
# ./configure --prefix=/usr/local/modules/jpeg6 --enable-shared --enable-static
# make
# make install


安装GD

# tar xzvf gd-2.0.33.tar.gz
# ./configure --prefix=/usr/local/modules/gd --with-jpeg=/usr/local/modules/jpeg6 --with-png --with-

zlib --with-freetype=/usr/local/modules/freetype
# make
# make install

安装php

# mkdir /usr/local/php5
# tar -zxvf PHP-5.1.4.tar.gz
# cd php-5.1.4
# ./configure --prefix=/usr/local/php5 \
>--with-mysql=/usr/local/mysql \
>--with-mysqli=/usr/local/mysql/bin/mysql_config \
>--with-apxs2=/usr/local/apache/bin/apxs \
>--with-gd=/usr/local/modules/gd \
>--with-jpeg-dir=/usr/local/modules/jpeg6 \
>--with-zlib \
>--with-png \
>--with-freetype-dir=/usr/local/modules/freetype \
>--with-xmlrpc \
>--with-config-file-path=/usr/local/php5/etc
# make
# make install

# cp ./php.ini-dist /usr/local/php5/etc/php.ini

修改httpd.conf
#vi /usr/local/apache/conf/httpd.conf
加载php模块,去掉注释“#”,如没有此行,请加上。
LoadModule php5_module modules/libphp5.so
加上此两行
AddType application/x-httpd-php .php .php3
AddType application/x-httpd-php-source .phps

到这里全部的安装过程已完成。

在这里我遇到一个问题,我的as4安装时没有选择安装apache服务器,没想到启动后,仍然给我装了。。我晕。所以我

刚刚上面安装的apache2.2.3版本的不能启动,提示端口已被默认安装的apache占用了,所以我们这里还需要修改
Apache的启动脚本(以源码方式编译安装的Apache是没有启动脚本的,但这里由于我的系统默认给我装了低版本的

apache,同时也就有了启动脚本,所以我这里只需要修改就行了)

修改启动脚本

# vi /etc/rc.d/init.d/httpd

启动脚本(如果你的系统没有这个脚本,就把下面内容复制到httpd文件中去):

#!/bin/bash

# Startup script for the Apache2.0.X Web Server
# Fixed by Comsenz - Nanu (nanu@discuz.com)

# chkconfig: - 85 15

# Source function library.
. /etc/rc.d/init.d/functions

if [ -f /etc/sysconfig/httpd ]; then
       . /etc/sysconfig/httpd
fi

INITLOG_ARGS=""

apachectl=/usr/local/apache2/bin/apachectl
httpd=${HTTPD-/usr/local/apache2/bin/httpd}
prog=httpd
RETVAL=0

start() {
       echo -n $"Starting $prog: "
       daemon $httpd $OPTIONS
       RETVAL=$?
       echo
       [ $RETVAL = 0 ] && touch /var/lock/subsys/httpd
       return $RETVAL
}
stop() {
       echo -n $"Stopping $prog: "
       killproc $httpd
       RETVAL=$?
       echo
       [ $RETVAL = 0 ] && rm -f /var/lock/subsys/httpd /var/run/httpd.pid
}
reload() {
       echo -n $"Reloading $prog: "
       killproc $httpd -HUP
       RETVAL=$?
       echo
}

case "$1" in
start)
       start
       ;;
stop)
       stop
       ;;
status)
       status $httpd
       RETVAL=$?
       ;;
restart)
       stop
       start
       ;;
condrestart)
       if [ -f /var/run/httpd.pid ] ; then
               stop
               start
       fi
       ;;
reload)
       reload
       ;;
graceful|help|configtest|fullstatus)
       $apachectl $@
       RETVAL=$?
       ;;
*)
       echo $"Usage: $prog

{start|stop|restart|condrestart|reload|status|fullstatus|graceful|help|configtest}"
       exit 1
esac

exit $RETVAL


我这里只需要找到文件中的:

apachectl=/usr/local/apache2/bin/apachectl
httpd=${HTTPD-/usr/local/apache2/bin/httpd}

根据我们自己的安装情况更改以上两行中Apache的路径

授予httpd运行权限

# chmod 755 /etc/rc.d/init.d/httpd

将httpd加入系统SysV服务并设置其开机自启动

# chkconfig --add httpd
# chkconfig --level 3 httpd on

这样,今后如需启动、停止、重启Apache就可以用以下方式了:

# service httpd start
# service httpd stop
# service httpd restart
freeradius-1.1.3+mac地址绑定
 
 
上次发过RedHat linux AS 4+Apache2.2.3+MYSQL5.0.27+PHP5.1.4,这个是接上篇文章的,最后还有ros的详配,等些天整理好了再发出来,呵呵,最好能加精哦,这东东适合新手。以下内容是我以配置笔记的形式发布,每一步都是成功后记录下来的,我将尽量做到了详细说明每一步的操作。转载请注明是偶哦嘿嘿。。adminjun / hackjun

                                                            
radius的安装及配置
从下回来最新的freeradius-1.1.3.tar.gz
# tar -zxvf freeradius-1.1.3.tar
# cd freeradius-1.1.3
# ./configure --prefix=/usr/local/FreeRadius  \
> --with-experimental-modules \
> --with-rlm-sql-lib=/usr/local/mysql/lib/mysql/ \
> --with-rlm-sql-include-dir=/usr/local/mysql/include/mysql/
# make
# make install WITH_MYSQL=yes
(最后在/etc/rc.conf里加上
radiusd_enable="YES"
好让radius 服务器在开机时候自动启动.
网上很多资料中,在安装freeradius里,并没有加上面这么多参数,如果不加的话,90%会出
现rlm_sql_mysql找不到的情况。
我们现在把freeradius的库文件路径/usr/local/freeradius/lib 加到/etc/ld.so.conf文件中
下面我们将freeradius数据库导入进mysql,这里我要提醒一下,我们下的freeradius-1.1.3版本里没有像网上
很 多贴子里说的在/usr/local/src/freeradius-1.1.3/src/modules/rlm_sql/drivers/rlm_sql_mysql中有
db_mysql.sql的文件。这个文件已被改名为mysql.sql,存放在/usr/local/src/freeradius-
1.1.3/doc/examples里,请大家注意
# /usr/local/mysql/bin/mysql -uroot -p密码
mysql> create database radius   --创建radius
mysql> \q                        --退出
# /usr/local/mysql/bin/mysql -uroot -p密码 radius < /usr/local/src/freeradius-
1.1.3/doc/examples/mysql.sql     --导入数据表结构
没有示表示已经执行了,我们来检查一下
# /usr/local/mysql/bin/mysql -uroot -p密码
mysql> use radius        --打开radius
mysql> show tables;
看到8个表表示正确。
好,mysql的工作做完了。我们开始配置。
编辑/usr/local/freeradius/etc/raddb/radiusd.conf
在1844行找到# sql,去掉前面的#号。(在authorize{}中,如果1844号没有#sql,可能是由于版本的关系,直接
搜索authorize,在这个里面可以找到)
在2001行找到# sql,去掉前面的#号。(在accounting{}中,直接搜索也可。)
编辑/usr/local/freeradius/etc/raddb/sql.conf
修改这三行参数,这里的password是我们mysql的密码
server="localhost"
login="root"          建议用root用户,免去不必要的麻烦
password="pass"
编辑/usr/local/freeradius/etc/raddb/client.conf
client 172.16.1.123 {   nas设备的地址
       secret         =radius  通讯用密码
       shortname      =routeros 为这个连接使用的别名
       nastype        =other   
}
好了,保存。
我们先加一个测试账号。
    insert into radcheck (username,attribute,op,value) values (‘test’,’User-Password’,’:=’,
’test’)
启动radius调试模式
# /usr/local/radius/sbin/radiusd -X
(ros已经配置好pppoe)
这时linux下环境基本配好,现在做web管理,freeradius自带了一个web管理程序dialup_admin.
直接将/usr/local/src/freeradius-
1.1.3/dialup_admin/文件夹全部拷贝到apach网页目录下/usr/local/apach/htdocs下。
修改dialup_admin/conf/下的admin.conf文件中的如下参数:
sql_type:mysql
sql_server:localhost(sql地址)
sql_port:3306  (默认端口)
sql_username:root
sql_password:root123(密码)
sql_database:radius(数据库名)
重新加载apach配置文件:直接打开linux的“服务配置”工具,找到httpd,选择重新启动
访问:
能正常打开各页面就ok了。呵呵。默认是打开的sql调试模式。可以在admin.conf
中找到sql_debug.把true改为false即可关闭。
接笔记本测试。。。通过。
几点注意:mysql 安装后,默认只能本地访问,如果你想用其它工作站上进行管理的话,需要如下操作:
Host "xxx.xxx.xxx.xxx" is not allowed to connect to this mysql server.
如何解决客户端与服务器端的连接(mysql)
  1、进入mysql,创建一个新用户user:
格式:grant 权限 on 数据库名.表名 用户@登录主机 identified by "用户密码";
grant select,update,insert,delete on *.* to user@10.10.10.10identified by "user";
   查看结果,执行:
   use mysql;
   select host,user,password from user;
   可以看到在user表中已有刚才创建的user用户。host字段表示登录的主机,其值可以用IP,也可用主机名,
   将host字段的值改为%就表示在任何客户端机器上能以user用户登录到mysql服务器,建议在开发时设为%。
   grant all on *.* to [email=root@root@]root@root@'%'[/email] identified by "密码" ;
    all表示所有权限
   update user set host = '%' where user = 'user';
   2、 ./mysqladmin -uroot -p密码 reload
  ./mysqladmin -uroot -p密码 shutdown
  3、./mysqld_safe --user-root &
  记住:对授权表的任何修改都需要重新reload,即执行第3步。
  如果经过以上3个步骤还是无法从客户端连接,请执行以下操作,在mysql数据库的db表中插入一条记录:
   use mysql;
   insert into db values   
('192.168.88.234','%','user','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');
   update db set host = '%' where user = 'user';(如果要赋于全部权限,5.0版本应该是34个Y)
重复执行上面的第2、3步。
下面进行mac地址绑定操作。
为mysql的数据库radius中的表radcheck增加一个mac字段,varchar(20)类型
在上面的radiusd.conf中加多一个步骤
post-auth {  
     #  See "suthentication Logging Queries" in sql.conf
     sql #去掉原来的注释语句   
        
}
修改sql.conf中的authorize_check_query为
#这里修改验证方式,加上mac验证(我是使用了大小写不敏感的那条sql语句改写)
        authorize_check_query = "SELECT id,UserName,Attribute,Value,op FROM ${au
thcheck_table} WHERE Username = '%{SQL-User-Name}' and (mac='%{Calling-Station-I
d}' or isnull(mac) or mac='') ORDER BY id"
修改postauth_query语句
#change here 把postauth_query改为记录mac地址的过程了
        postauth_query = "UPDATE ${authcheck_table} set mac='%{Calling-Station-I
d}'  WHERE Username = '%{SQL-User-Name}' and (mac='' or isnull(mac))"

-----------------------------------------
routeros  
pcq限速配置:待续。。
阅读(976) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~