Microsoft Launch 2008 in Los Angeles
看到先前路过的博客写着 Microsoft Launch 2008 in Los Angele 想起十年前,我也在洛杉矶参加了微软推出Windows98的会议,
Continue readingServer, Edge and Cloud
看到先前路过的博客写着 Microsoft Launch 2008 in Los Angele 想起十年前,我也在洛杉矶参加了微软推出Windows98的会议,
Continue readingついに問題発見! man は、古いのまま!どうしたらいいだろう? 日本語マニュアルに着目。6.3の日本語版を入れたら、 一挙両得! 参考: http://www
Continue readingバックアップサーバで検証してから、自宅サーバはFreeBSD6.3へアップグレードした。一年半ぶりでした。 アップグレードはいつも数週間の苦労を伴うか、今度はど
Continue readingFreeBSD:: pdns的安装笔记[ZT]
FreeBSD 4.x 下安装配置具web管理功能的pdns
前言:
——有时做点笔记,挺好,有清空大脑内存,不必在下次搞类似工作时需要寻觅尘封的记忆。
关键词:
FreeBSD dns pdns mysql apache php phpMyAdmin PowerAdmin Pear
测试主机关于IP配置等原始状况
/etc/rc.conf 中是
hostname=”bsd.test.com”
ifconfig_lnc0=”inet 192.168.0.244 netmask 255.255.255.0″
/etc/hosts
::1 localhost.test.com localhost
127.0.0.1 localhost.test.com localhost
192.168.0.244 bsd.test.com bsd
为了方便目录管理,将一些工具软件安装在与系统目录相对独立的目录
root 身份下
#mysql
mkdir /home/soft/mysql4
#apache
mkdir /home/soft/apache
#pdns
mkdir /home/soft/dns
#mysql/pdns管理页面全在此
mkdir /home/soft/www
1. 安装 mysql
先下载 mysql-max-4.0.24-unknown-freebsd4.7-i386.tar.gz 的源代码版,地址:
http://dev.mysql.com/downloads/mysql/4.0.html
mv mysql-max-4.0.24-unknown-freebsd4.7-i386.tar.gz mysql-4.0.24.tar.gz
tar xvfz mysql-4.0.24.tar.gz
cd mysql-4.0.24
=========================================================
#建立mysql组 (Linux 下 groupadd mysql)
pw groupadd mysql
#建立mysql用户并且加入到mysql组中(Linux 下 useradd mysql)
pw useradd mysql -g mysql
cd mysql_src_home
./configure –prefix=/home/soft/mysql4 –without-debug
make
make install
#至此已经算是安装完了,安装在/home/soft/mysql4下
#初始化数据字典
scripts/mysql_install_db
# 先令mysql 的整个目录/home/soft/mysql4的属主为root
chown -R root:mysql /home/soft/mysql4
# 再令mysql 的根目录/home/soft/mysql4/var的属主及属组为mysql,因为最终以mysql身份运行
chown -R mysql:mysql /home/soft/mysql4/var
# 再令mysql 的整个目录/home/soft/mysql4的属组为mysql
chgrp -R mysql /usr/local/mysql
# 以下这步做不做影响不大,是说以中模式启动mysql
cp support-files/my-medium.cnf /etc/my.cnf
#
数据库管理者用户口令设定……
mysqladmin -uroot -pr00tr00t # 这是设口令时这么设
mysqladmin -uroot -pr00tr00t password r00t2005 # 这是改口令时这么改
安全考虑
最好干掉无关用户,可在装好管理页面后再在页面上干掉,此是后话
启动服务方法
/home/soft/mysql4/bin/safe_mysqld –user=mysql &
或者
/home/soft/mysql4/share/mysql/mysql.server start
停止服务方法
/home/soft/mysql4/bin/mysqladmin shutdown
或者
/home/soft/mysql4/share/mysql/mysql.server stop
可以看一看mysql.server的内容,其中目录指向是正确的,俺们有configure时就已经确定了
加在FreeBSD的启动目录中:
cd /usr/local/etc
echo “:”>startmysql.sh
echo “”>>startmysql.sh
echo “/home/soft/mysql4/share/mysql/mysql.server start” >>startmysql.sh
=========================================================
2. 安装 apache
先下载安装包, 然后解开
./configure –prefix=/home/soft/apache –enable-modules=”deflate headers proxy proxy-connect proxy-ftp proxy-http static-ab rewrite so cache file-cache disk-cache mem-cache”
make
make install
好了,apache 已经安装在/home/soft/apache下了。
3. 安装 php 成为 apache 的一个模块
先下载php4.X.XX的安装包, 然后解开
# –with-apxs=/home/soft/apache 就是说要编出来成为apache的一个模块,会放在apache的lib目录下的
#特别注意 –enable-pear,因为pdns的前台管理程序要用到它的数据库抽象层
./configure –with-mysql=/home/soft/mysql4 –with-apxs=/home/soft/apache –enable-track-vars –enable-pear
make
make install
cp php.ini-dist /usr/local/lib/php.ini
pear应当会被安装在/usr/local/lib/pear下,其中应有DB目录,对后续的pdns前台安装很重要,如果没有
这个扩展组件,pdns 前台跑不动
此时,可以看到 /home/soft/apache/conf/httpd.conf 中被新添加了
LoadModule php4_module modules/libphp4.so
表明 php 模块在 apache 中已被激活
首先,找到DocumentRoot,将它改为俺们规划的/home/soft/www
然后,再在
/home/soft/apache/conf/httpd.conf 尾部添加下行
AddType application/x-httpd-php .php .php3 .phtml
令 apache 识别到 php 文档可直接调用 php 模块进行解释
还有,
改
DirectoryIndex index.html index.html.var
为
DirectoryIndex index.php index.html index.html.var
这样,当前台访问一个目录时,将被认为是访问这三个文件之一
加在FreeBSD的启动目录中:
cd /usr/local/etc
echo “:”>startapache.sh
echo “”>>startapache.sh
echo “/home/soft/apache/bin/apachectl start” >>startapache.sh
chmod +x startapache.sh
4. 安装 mysql 的管理前台
phpMyAdmin主页:http://www.htmlwizard.net/phpMyAdmin/
#下载安装包
#解开
tar xvfz phpMyAdmin.2.6.2.tgz
#打算放在/home/soft/www/dbmanager下
mkdir -p /home/soft/www/dbmanager
cp -R phpMyAdmin2.6.2/* /home/soft/www/dbmanager
#改变一下文件权限
chown -R nobody:nobody /home/soft/www/dbmanager
#更改 config.inc.php 中
……
//$cfg[‘PmaAbsoluteUri’] = ”;
$cfg[‘PmaAbsoluteUri’] = ‘http://192.168.0.244/dbmanager’; // 原为空,改为入口路径
……
$i=0; // 用于多数据库时的管理,所以是个管理参数数组
$i++; // 此时 i=1, 由于Default是1 所以以下改的就是它
// 所以要注意在第一个 i++ 后改以下内容
//$cfg[‘Servers’][$i][‘auth_type’] = ‘config’; // 原为config,表示只在后台手工管理
$cfg[‘Servers’][$i][‘auth_type’] = ‘http’; // 改为 http,表示通过 Web 进行管理
// MySQL user,此处是 mysql 管理用户的名字,注意,必须先用 mysqladmin 为它设置口令,否则危险
// 这样,Web 前台登陆时,用户名/口令即是数据库管理用户 root 及它的数据库口令
//前面用mysqladmin设置的r00t2005
//
$cfg[‘Servers’][$i][‘user’] = ‘root’;
//注意,$cfg[‘Servers’][$i][‘password’] = ”; 不必修改。因为反正是到数据库内认证
……
// 不想受英文折磨而想要中文显示:
//$cfg[‘DefaultLang’] = ‘en-iso-8859-1’;
$cfg[‘DefaultLang’] = ‘zh’;
……
//$cfg[‘DefaultCharset’] = ‘iso-8859-1’;
$cfg[‘DefaultCharset’] = ‘gb2312’;
——至此,mysql的前台管理基本已经搞定
5. 安装 pdns
下载安装包,http://sourceforge.net/projects/poweradmin/注意版本不能太高,因为咱这可是 FreeBSD 4.9
从 ports 中看到的版本为 2.9.11
够用就行,太新的说不好,可以试试。总之在 4.9 下 pdns_recurse 是编不过,libc 太低
首先要安装 gmake,因为使用 FreeBSD 自带 make 出来的东东易死菜,俺没试过,不过听人说过
cd /usr/ports/devel/gmake
make
这样,gmake 就装在了 /usr/local/bin 下
然后安装 pdns
./configure –prefix=/home/soft/dns –with-mysql=/home/soft/mysql4 –enable-pdns_server
缺省会把 gmysql 编进去的,放心好了。
# 后来发现 make 也是可以的,但 pdns 官方网站上说会有问题,因此俺们尊重始作俑者
/usr/local/bin/gmake
# make install 也可行,反正就是一个拷贝的过程
/usr/local/bin/gmake install
此时,可以看到 /home/soft/dns下有了几个目录,sbin 下便是俺们的pdns_server二进制程序
/home/soft/dns/sbin/pdns_server便可启动,但此时它会一闪而过不工作,因为俺们未进行参
数配置,它起码是要连数据库找数据,所以俺们还要准备数据及配置
以后台进程启动,则是
/pdns_server –daemon
6. 为 pdns 初始化数据库表
关于配置文件及数据库表较详细的内容需参考:
http://doc.powerdns.com/generic-mypgsql-backends.html
http://doc.powerdns.com/configuring-db-connection.html
在 Mysql 的 Web 界面中建 pdns 用户,密码为 pdns,主机为 localhost,即只可由本地主机
登录;同样的,检查一下其他用户。多余用户全都干掉。
在前台中增加pdns后,应当出现两条记录,一条的“主机”字段是localhost,另一条的的则
是”%”。
此时,下到字符界面测试一下:
/home/soft/mysql4/bin/mysql -updns -ppdns -hlocalhost
/home/soft/mysql4/bin/mysql -updns -ppdns -h127.0.0.1
都应当能进入数据库
然后
/home/soft/mysql4/bin/mysql -uroot -pr00t2005 -hlocalhost
进入 mysql
此时为何不用pdns用户呢,因为它目前什么数据库操作的权限都没有。
Create database pdns;
use pdns;
create table domains (
id INT auto_increment,
name VARCHAR(255) NOT NULL,
master VARCHAR(20) DEFAULT NULL,
last_check INT DEFAULT NULL,
type VARCHAR(6) NOT NULL,
notified_serial INT DEFAULT NULL,
account VARCHAR(40) DEFAULT NULL,
primary key (id)
)type=InnoDB;
CREATE UNIQUE INDEX name_index ON domains(name);
CREATE TABLE records (
id INT auto_increment,
domain_id INT DEFAULT NULL,
name VARCHAR(255) DEFAULT NULL,
type VARCHAR(6) DEFAULT NULL,
content VARCHAR(255) DEFAULT NULL,
ttl INT DEFAULT NULL,
prio INT DEFAULT NULL,
change_date INT DEFAULT NULL,
primary key(id)
)type=InnoDB;
CREATE INDEX rec_name_index ON records(name);
CREATE INDEX nametype_index ON records(name,type);
CREATE INDEX domain_id ON records(domain_id);
create table supermasters (
ip VARCHAR(25) NOT NULL,
nameserver VARCHAR(255) NOT NULL,
account VARCHAR(40) DEFAULT NULL
);
GRANT SELECT ON supermasters TO pdns;
GRANT ALL ON domains TO pdns;
GRANT ALL ON records TO pdns;
这个时候,俺们很吝啬地给了点儿权限给pdns用户。
不过,在俺们要使用管理前台时,必须还大方些,不然它不干活儿。
插入一些数据:
INSERT INTO domains (name, type) values (‘test.com’, ‘NATIVE’);
INSERT INTO records (domain_id, name, content, type,ttl,prio)
VALUES (1,’test.com’,’localhost ahu@ds9a.nl 1′,’SOA’,86400,NULL);
INSERT INTO records (domain_id, name, content, type,ttl,prio)
VALUES (1,’test.com’,’dns-us1.powerdns.net’,’NS’,86400,NULL);
INSERT INTO records (domain_id, name, content, type,ttl,prio)
VALUES (1,’test.com’,’dns-eu1.powerdns.net’,’NS’,86400,NULL);
INSERT INTO records (domain_id, name, content, type,ttl,prio)
VALUES (1,’www.test.com’,’199.198.197.196′,’A’,120,NULL);
INSERT INTO records (domain_id, name, content, type,ttl,prio)
VALUES (1,’mail.test.com’,’195.194.193.192′,’A’,120,NULL);
INSERT INTO records (domain_id, name, content, type,ttl,prio)
VALUES (1,’localhost.test.com’,’127.0.0.1′,’A’,120,NULL);
INSERT INTO records (domain_id, name, content, type,ttl,prio)
VALUES (1,’test.com’,’mail.test.com’,’MX’,120,25);
此时开始配置文件
cd /home/soft/pdns/etc
前面编译完后有个标准这里应当有 pdns-dist.conf
cp pdns-dist.conf pdns.conf
加上如下几行:
launch=gmysql
#配置连mysql之本地址配为127.0.0.1,于是才不致出现鸡蛋谁先有的问题(即无需再解析)
gmysql-host=127.0.0.1
gmysql-user=pdns
gmysql-password=pdns
gmysql-dbname=pdns
启动 pdns
#如果报错说找不到mysql相关的so
#/sbin/ldconfig /home/soft/mysql4/lib/mysql
cd /home/soft/pdns
cd sbin
./pdns_server –daemon
pdns_server 会自己找到 ../etc 下的 pdns.conf 来使用的,呵呵。
这样就作为后台进程执行了,这是手工启动,别忘了放在随主机一起启动的脚本中
另外,如果担心它会死菜,可以用 supervise 来进行监视,呵呵,罗嗦了。
想看调试信息,直接
./pdns_server
就行
以后不想看调试信息了,在前面 pdns 进行 configure 时,增加关闭调试信息的选项即可。
还有就是用启动脚本来启动,前面编译完后有执行脚本为 pdns ,它在 源程序目录/pdns 下
它当中已经记录了安装目录
例如你放在 /home/soft/pdns/bin 下,那么
/home/soft/pdns/bin/pdns monitor
然后是如下一堆东东打印在你的终端上让你看,此时已经可以进行测试了。
May 19 04:22:04 This is a standalone pdns
May 19 04:22:04 Listening on controlsocket in ‘/var/run/pdns.controlsocket’
May 19 04:22:04 UDP server bound to 127.0.0.1:53
May 19 04:22:04 TCP server bound to 127.0.0.1:53
May 19 04:22:04 PowerDNS 2.9.11 (C) 2001-2003 PowerDNS.COM BV (May 18 2005, 03:12:43) starting up
May 19 04:22:04 PowerDNS comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to
redistribute it according to the terms of the GPL version 2.
May 19 04:22:04 Creating backend connection for TCP
May 19 04:22:04 gmysql Connection succesful
May 19 04:22:04 About to create 3 backend threads
May 19 04:22:04 gmysql Connection succesful
May 19 04:22:04 gmysql Connection succesful
May 19 04:22:04 gmysql Connection succesful
如果显示connection 失败,必然是你的配置文件中mysql的连接用户及密码写错了,或前述的用户
建得不对。
/home/soft/pdns/bin/pdns start 是启动,与前述手工进行/home/soft/pdns/sbin/pdns_server –daemon一样
这时进行测试,反正前面已经灌进了数据
$ host www.test.com 127.0.0.1
www.test.com A 199.198.197.196
$ host -v -t mx test.com 127.0.0.1
Address: 127.0.0.1
Aliases: localhost
Query about test.com for record types MX
Trying test.com …
Query done, 1 answer, authoritative status: no error
test.com 120 IN MX 25 mail.test.com
Additional information:
mail.test.com 120 IN A 195.194.193.192
当然你也可用 dig 进行测试:
dig @127.0.0.1 www.test.com
; > DiG 8.3 > @127.0.0.1 www.test.com
; (1 server found)
;; res options: init recurs defnam dnsrch
;; res_nsend: Connection refused
bsd# dig @127.0.0.1 www.test.com
; > DiG 8.3 > @127.0.0.1 www.test.com
; (1 server found)
;; res options: init recurs defnam dnsrch
;; got answer:
;; ->>HEADER;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUERY SECTION:
;; www.test.com, type = A, class = IN
;; ANSWER SECTION:
www.test.com. 2M IN A 199.198.197.196
;; Total query time: 214 msec
;; FROM: bsd.test.com to SERVER: 127.0.0.1
;; WHEN: Thu May 19 04:26:20 2005
;; MSG SIZE sent: 30 rcvd: 46
用nslookup也行,但要注意
如果你将本机的/etc/resolv.conf中,nameserver设定为127.0.0.1
直接进行nslookup 会有些问题。这与它的处理流程有关。
它会先去米国的dns-root反解析127.0.0.1是不是一个合法的NameServer
然后是当然地报错。
nslookup
*** Can’t find server name for address 127.0.0.1: Server failed
*** Can’t find server name for address ::: No response from server
*** Default servers are not available
此时可以这么办——
/etc/resolv.conf的内容还是用一个众所周知的DNS做nameserver如211.94.33.194
nslookup
>server 127.0.0.1 #指定本机为要测试的nameserver
>set type=A
>www.test.com
结果也会问出来的,于是证明安装无误。
cd /usr/local/etc
echo “:”>startpdns.sh
echo “”>>startpdns.sh
echo “/home/soft/pdns/sbin/pdns_server –daemon” >>startpdns.sh
chmod +x startpdns.sh
6. 安装 pdns 管理前台
在
下载pdns管理前台poweradmin1.x.x.tar.gz
放在 /home/soft/www 下,解开,得到poweradmin.1.x.x目录,改名为 PowerAdmin
下面有README,一看就明白的。
先把inc/config-block.inc.php拷贝成为config-inc.php
在其中去更改相关参数:
$dbhost = ‘localhost’; //这个不用改
$dbuser = ”;//这里是pdns用户
$dbpass = ”;//这里是pdns
$dbdatabase = ”; //这里是pdns库
$BASE_URL = “http://wwww.poweradmin.org”; //URL前缀:如http://192.168.0.244
$BASE_PATH = “/poweradmin.1.x.x/” // 相对路径:即刚才改的”/PowerAdmin/”
此时,俺们要放手让pdns去干活,于是需要mysql的管理前台去大胆地给pdns分配对于pdns库
的权限,凡非管理性的权限都给它吧,如增删改查,create/drop/alter等等。因为执行install.php时
要建新表,所以要求pdns有建表的权限
然后在确认apache启动的情况下:
访问http://192.168.0.244/PowerAdmin/install.php
它将建立应有的表/序列/索引等等。可能会报一些Notice,但只要显示successfull即宣告成功。
需要俺们在这里建立初始管理者及其口令等,要记住可别忘了。因为数据库
中将是MD5过后的密文。这里俺们建了pdnsadmin用户,口令是pdnsadmin2005
然后,你可以http://192.168.0.244/PowerAdmin/test_setup.php 来检查一下,如有问题,
页面会有红色框提示然后,需将install.php删去或改名,不然index.php不干活。俺们
把它改名为install.php.bk
于是 http://192.168.0.244/PowerAdmin 俺们将看到index.php干活了。
这时以先前的管理者及口令登入,即可看到一个test.com的域,那是俺们测pdns_server时测试用。
你可以干掉,然后重新添加域及记录。
新建域时,缺省是按模板建立,然后,俺们会发现有些记录中有非本域的内容,例如soa记录中
即不是本域的东东,可以修改它。那个域名其实是PowerAdmin作者的个人网站,俺们可访问访问,
可以欣赏他们的家庭照片。
7. 给 pdns 找个监工
注意,俺听说pdns_server有不干活而自行退出的情况,没关系,俺们可以下载一个daemonTools
来当监工监视着它干活。一旦它莫名退出,supervise会立即启动它。
关于daemonTools的使用非常简单,俺在这里就不做详述了。累。
——至此,俺们终于功德圆满了。好生休息一下。
——后来俺用pdns-2.9.17,也没有问题。
http://chinaitpower.com/2005September/2005-09-13/200746.html
Continue reading今日は旧正月! 中国の 正月は、家族、親戚を回す町に人があふれる。 日本の正月は、全員家にこもってテレビ見たり、もち食べたり。以前店も数日閉まり、その前に食料も
Continue reading听说最近LA连降暴雨! 10年前我第一次到LA,也是暴雨连绵!电视里看到海边住宅崩塌的场面。 10年了,往事如梦。
Continue readingWindows:: 笔记本电脑日文键盘终极解决方案[ZT]
文章来源:电脑教育报
(注:日文版的笔记本电脑装了中文版系统后大家一定遇到键盘标点与键帽上不符的问题,下文是一种解决方案)
自从用了日文版的笔记本电脑以后,笔者就碰到键盘标点与键帽上不符的问题,对于用惯了英文键盘的朋友还可能熟练的盲打,但对于那些对键位不是很熟悉的人,比如笔者来说就不是那么方便了。有没有解决的办法呢?答案是肯定的!经过笔者反复实验,终于成功修改,特将经验拿来与大家分享,希望广大使用日文键盘的朋友可以调教好这个“顽固”的键盘,让它物尽其用,物超所值。
基本原理:通过修改笔记本电脑键盘的驱动和相关注册表项来完成的。
实际操作:
修改键盘的驱动:通过“我的电脑”打开系统属性,选择硬件标签:打开设备管理器,我们发现中文Windows XP操作系统下,默认的键盘驱动是“标准101/102键或Microsoft自然PS/2键盘”。
1. 右键点击选择更新驱动程序,会出现硬件更新向导:选择“从列表或指定位置安装(高级)”,单击“下一步”,选择“不要搜索。我要自己选择要安装的驱动程序。”
单击“下一步”,进入“选择要为此硬件安装的设备驱动程序”页去掉复选框“显示兼容硬件”前的小勾。在“标准键盘型号”栏中选择“Japanese PS/2 Keyboard (106/109 Key)”,单击“下一步”,弹出“更新驱动程序警告”,点“是”。“确认设备安装”窗口继续点“是”。
2. 完成硬件更新向导。重新启动计算机。
修改注册表:单击“开始”菜单,点“运行”,输入“regedit”,打开注册表,进入“
HKEY_LOCAL_MACHINE
SYSTEM
ControlSet001
Control
Keyboard Layouts
”,里面有很多子项,通过观察我发现,以“0804”结尾的都是简体中文输入法。打开“E00E0804”,可以看到右侧子项里有“Layout File”子项,双击打开该项,将“数值数据”中的“kbdus.dll”改为“KBDJPN.DLL”,“确定”即可。依此类推,可以将所有的以“0804”结尾的子项中“Layout File”全部改为“KBDJPN.DLL”,具体就根据自己常用的输入法进行选择了。然后重新启动计算机就好了!
其实改成日文键盘后你会发现很多常用的符号,比如像“:”就不用上档键了,当然对于一个用惯了英文键盘的人来说还需要一个适应的过程。经过以上一番修改,日文键盘就可以真正的物尽其用了,哈哈!其它语言的键盘可以依此类推了,在此就不赘述了,希望大家都能有好本本用,用好笔记本电脑!
Continue readingこんなBlogを見つかりました。 ChickSpeak.com: A WordPress MU Based Social Network http://www.
Continue reading以前読んだ論文 (弱い紐帯の強み) 、もう一度検索してみた。 原文: http://www.si.umich.edu/~rfrost/courses/SI110
Continue readingRAIDを検索して、HDDに関する有意な情報があった。 結論からいうと、Mirrorの方が有効で、必ずコピーが3つ存在する方が信頼性ある! CMU’s Para
Continue reading