Tag: Summary

  • 本博客支持ipv6访问!

    本博客支持ipv6访问!

    最近nginx要升级1.1.7,而且vps支持ipv6,并送了一个ipv6地址

    正好学校里有ipv6上网环境,大致步骤是加入ipv6模块,并在nginx的配置里加入ipv6监听,使用ipv6可以直接访问

    nginx的升级和加入ipv6模块

    wget http://nginx.org/download/nginx-1.1.7.tar.gz
     tar vxzf nginx-1.1.7.tar.gz
     cd nginx-1.1.7
     ./configure --with-ipv6
     make
     mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old
     cp objs/nginx /usr/local/nginx/sbin/nginx
     make upgrade

    测试下配置文件:/usr/local/nginx/sbin/nginx -t

    查看下,已经添加了ipv6模块

    root@www:~# nginx -V
     nginx: nginx version: nginx/1.1.7
     nginx: built by gcc 4.4.5 (Ubuntu/Linaro 4.4.4-14ubuntu5)
     nginx: configure arguments: --with-ipv6

    nginx的配置文件

    里面加入下面指令,如果是默认网站的话加default

    listen [::]:80 default;

    http://[2604:6600:1059::5810:3a0a]/

    重新加载配置文件

    kill -HUP `cat /usr/local/nginx/logs/nginx.pid`

    不要用nginx -s reload 我用了不管用

    在域名提供商那里加入ipv6的AAAA记录

    godaddy AAAA record

    去 http://ipv6-test.com/  加一张认证图过来

    blog support ipv6 visit

     

    :)EOT

     

  • 安装php5-gd库

    在自已的vmplayer里面装了一个oecms,但是装好后验证码始终出不来,ie下显示一个红叉,火狐下显示空白。

    开始我想会不会是因为缓存和目录权限的问题

    后来看了看php代码发现里面直接就是image/PNG,我一想,应该是php库没装全,于是去网上搜了一下,这个库包含了libjpeg,libpng

    于是

    apt-get install php5-gd

    问题解决。

    PHP处理图像,使用了GD库,它使php支持 gif , jpeg , ttf ,wbmp

    :)EOT

  • php的mcrypt扩展安装

    If using a Debian-based Linux system, you can run the following commands:

    sudo apt-get install php5-mcrypt

  • mysql创建用户并控制其对数据库、表、列的权限

    创建一个用户realabc,步骤为进入mysql库,向user表中插数据,本地登陆,密码abc;flush privileges 使配置生效

    mysql> use mysql;
    mysql> insert into user (Host,User,Password) values ("localhost","realabc",PASSWORD("abc"));
    mysql> flush privileges;

    其实直接使用grant命令mysql也会帮我们创建用户

    grant all privileges on *.* to 'yyy'@'localhost' identified by '123';

    接下来想让realabc用户来插入、更新discuzx数据库里的pre_abc、pre_def表,那么肯定是用insert,update,当然还有select,要不数据都没法看到。先查看当前用户的权根:

    mysql> show grants for realabc@localhost;
     +----------------------------------------------------------------------------------------------------------------+
     | Grants for realabc@localhost                                                                                   |
     +----------------------------------------------------------------------------------------------------------------+
     | GRANT USAGE ON *.* TO 'realabc'@'localhost' IDENTIFIED BY PASSWORD '*0D3CED9BEC10A777AEC23CCC353A8C08A633045E' |
     +----------------------------------------------------------------------------------------------------------------+
     1 row in set (0.00 sec)

    接下来分两步输命令,提升权根

    GRANT SELECT, INSERT, UPDATE ON `discuzx`.`pre_abc` TO 'realabc'@'localhost' ;
    GRANT SELECT, INSERT, UPDATE ON `discuzx`.`pre_def` TO 'realabc'@'localhost' ;

    如果权限加多了,可以使用revoke来回收权限,如

    revoke select ON database1.* from 'yyy'@'localhost' ;
    revoke ALL ON *.* from 'yyy'@'localhost' ;

    如果为某数据库提升所有权限,使用

    grant all on wordpress.* to wordpress@localhost;

    这样查看权根,就会发现提升了,进phpmyadmin里就可以插数据了。

    进了phpmyadmin发现还有一个information_schema,不想让phpmyadmin显示

    找到phpmyadmin/libraries/config.default.php

    在242行处加入information_schema

    $cfg['Servers'][$i]['hide_db'] = 'information_schema';

     

    Update: 2017-06-27
    上述都是通过 grant 创建用户,在 mysql 5.7 会报 warning

    +---------+------+------------------------------------------------------------------------------------------------------------------------------------+
    | Level   | Code | Message                                                                                                                            |
    +---------+------+------------------------------------------------------------------------------------------------------------------------------------+
    | Warning | 1287 | Using GRANT for creating new user is deprecated and will be removed in future release. Create new user with CREATE USER statement. |
    +---------+------+------------------------------------------------------------------------------------------------------------------------------------+
    

    使用指导的方式创建 reporting 库和对应权限

    CREATE DATABASE `reporting` /*!40100 DEFAULT CHARACTER SET utf8 COLLATE utf8_bin */
    create reporting@'%' identified by '';                                          
    grant all privileges on reporting.* to reporting@'%';
    

    :)EOT

  • ubuntu/debian下安装使用dig

    在ubuntu10.10下没有dig命令,而debian6下面有这个命令

    ubuntu下想要apt-get安装,发现没有找到dig软件包

    搜索后才发现正确安装是安装dnsutils

    apt-get install dnsutils

    PS:redhat系列这样安装

    yum install bind-utils

    看看dig命令大多时候如何可以取代nslookup的

    root@www:~# dig sina.com
    
    ; <<>> DiG 9.7.1-P2 <<>> sina.com
    ;; global options: +cmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 58809
    ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 5, ADDITIONAL: 2
    
    ;; QUESTION SECTION:
    ;sina.com.                      IN      A
    
    ;; ANSWER SECTION:
    sina.com.               60      IN      A       12.130.132.30
    
    ;; AUTHORITY SECTION:
    sina.com.               600     IN      NS      ns3.sina.com.cn.
    sina.com.               600     IN      NS      ns1.sina.com.
    sina.com.               600     IN      NS      ns2.sina.com.cn.
    sina.com.               600     IN      NS      ns2.sina.com.
    sina.com.               600     IN      NS      ns1.sina.com.cn.
    
    ;; ADDITIONAL SECTION:
    ns1.sina.com.           60      IN      A       114.134.80.144
    ns2.sina.com.           60      IN      A       114.134.80.145
    
    ;; Query time: 255 msec
    ;; SERVER: 208.87.241.170#53(208.87.241.170)
    ;; WHEN: Thu Nov  3 22:18:19 2011
    ;; MSG SIZE  rcvd: 175

    简明使用,只会输出A记录(写脚本的时候容易获取ip地址)

    dig jpuyy.com +short

    只输出mx记录,简明使用

    dig mx jpuyy.com +short

    只输出NS记录

    dig ns jpuyy.com

    查询SOA( Start of Autority ) 返回主DNS服务器

    dig soa jpuyy.com

    指定dns,例如查询8.8.8.8中的jpuyy.com记录

    dig +short @8.8.8.8 jpuyy.com

    大部分的时候dig最下面显示了查询所用的时间及DNS服务器,时间,数据大小。DNS超时时间为30秒,查询时间对于排查DNS问题很有用。

    ;; Query time: 48 msec
    ;; SERVER: 10.202.72.118#53(10.202.72.118)
    ;; WHEN: Sun Oct 12 21:41:47 2014
    ;; MSG SIZE  rcvd: 225
    

    DNS的解析是递规解析,那么用dig可以加+trace参数,会显示完整的,无缓存,递规的查询,显示的是完整的trace记录。
    可以发现本地DNS(10.202.72.118)返回了根服务器列表,在一台根服务器(199.7.91.13)查到com.的记录,在其中一台com.中查到了jpuyy.com并返回了NS记录,在NS中找到了A记录。

    dig jpuyy.com +trace
    
    ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.23.rc1.el6_5.1 <<>> jpuyy.com +trace
    ;; global options: +cmd
    .			493573	IN	NS	i.root-servers.net.
    .			493573	IN	NS	e.root-servers.net.
    .			493573	IN	NS	k.root-servers.net.
    .			493573	IN	NS	c.root-servers.net.
    .			493573	IN	NS	f.root-servers.net.
    .			493573	IN	NS	d.root-servers.net.
    .			493573	IN	NS	m.root-servers.net.
    .			493573	IN	NS	j.root-servers.net.
    .			493573	IN	NS	g.root-servers.net.
    .			493573	IN	NS	b.root-servers.net.
    .			493573	IN	NS	h.root-servers.net.
    .			493573	IN	NS	a.root-servers.net.
    .			493573	IN	NS	l.root-servers.net.
    ;; Received 496 bytes from 10.202.72.118#53(10.202.72.118) in 1 ms
    
    com.			172800	IN	NS	b.gtld-servers.net.
    com.			172800	IN	NS	i.gtld-servers.net.
    com.			172800	IN	NS	f.gtld-servers.net.
    com.			172800	IN	NS	m.gtld-servers.net.
    com.			172800	IN	NS	l.gtld-servers.net.
    com.			172800	IN	NS	e.gtld-servers.net.
    com.			172800	IN	NS	k.gtld-servers.net.
    com.			172800	IN	NS	g.gtld-servers.net.
    com.			172800	IN	NS	a.gtld-servers.net.
    com.			172800	IN	NS	j.gtld-servers.net.
    com.			172800	IN	NS	d.gtld-servers.net.
    com.			172800	IN	NS	h.gtld-servers.net.
    com.			172800	IN	NS	c.gtld-servers.net.
    ;; Received 487 bytes from 199.7.91.13#53(199.7.91.13) in 162 ms
    
    jpuyy.com.		172800	IN	NS	f1g1ns1.dnspod.net.
    jpuyy.com.		172800	IN	NS	f1g1ns2.dnspod.net.
    ;; Received 209 bytes from 192.5.6.30#53(192.5.6.30) in 298 ms
    
    jpuyy.com.		600	IN	A	114.215.158.48
    ;; Received 43 bytes from 112.90.143.29#53(112.90.143.29) in 38 ms

    服务器上很多时候是双线或三线,如果有智能解析的话要测试从某一个 ip 去请求 dns,加 -b 参数

    dig -b jpuyy.com

    安装 ping

    apt install iputils-ping
  • xp win7 debian下的ipv6配置

     

    xp使用isatap隧道方式上ipv6

    win+R > cmd

    C:\Documents and Settings\Administrator>netsh
    netsh>int
    netsh interface>ipv6
    netsh interface>ipv6 install
    netsh interface ipv6>isatap
    netsh interface ipv6 isatap>set router xxx.xxx.xxx.xxx
    netsh interface ipv6 isatap>set state enabled

    上面的填好router的地址

    Windows7使用isatap隧道方式上ipv6

    C:\Documents and Settings\Administrator>netsh
    netsh>int
    netsh interface>ipv6
    netsh interface ipv6>isatap
    netsh interface ipv6 isatap>set router xxx.xxx.xxx.xxx
    netsh interface ipv6 isatap>set state enabled