2009年7月2日

很久没有更新博客了,

感觉没有什么可以写的,

其实是不想写,懒得写。

这个网站的服务器10月份就到期的,

不知道到时候会不会再续费,

原本打算将blog关闭掉的,

但是写了这么多年,

上面的很多资料还是很有用的。

所以一直没有关闭,放在这里

不知道明天会怎么样。

未分类

Centos上卸载软件的方法

2009年6月9日

在Centos中yum安装和卸载软件的使用方法
安装方法
安装一个软件时
yum -y install httpd
安装多个相类似的软件时
yum -y install httpd*
安装多个非类似软件时
yum -y install httpd php php-gd mysql
卸载一个软件时
yum -y remove httpd
卸载多个相类似的软件时
yum -y remove httpd*
卸载多个非类似软件时
yum -y remove httpd php php-gd mysql

另外还有一个非常棒的用法
假如我要执行iostat这个命令来查看CPU与存储设备状态,可是执行却发现没有这个命令
于是执行yum install iostat,结果说找不到该软件,使用下面的办法可以解决
yum search iostat就能查到和iostat相关的安装包了,
另外想安装一个程序,只记得一部分名称,也可以用这个办法来实现安装
yum search png |grep png
就能找到我们想安装的libpng这个名称

未分类

Centos 5下配置https服务器

2009年6月8日

[root@centos5 ~]# yum -y install mod_ssl 在线安装mod_ssl
Loading “fastestmirror” plugin
Loading mirror speeds from cached hostfile
* base: centos.candishosting.com.cn
* updates: mirror.khlug.org
* addons: centos.candishosting.com.cn
* extras: centos.candishosting.com.cn
Setting up Install Process
Parsing package install arguments
Resolving Dependencies
–> Running transaction check
—> Package mod_ssl.i386 1:2.2.3-11.el5_2.centos.4 set to be updated
–> Processing Dependency: libdistcache.so.1 for package: mod_ssl
–> Processing Dependency: libnal.so.1 for package: mod_ssl
–> Running transaction check
—> Package distcache.i386 0:1.4.5-14.1 set to be updated
–> Finished Dependency Resolution

Dependencies Resolved

=============================================================================
Package Arch Version Repository Size
=============================================================================
Installing:
mod_ssl i386 1:2.2.3-11.el5_2.centos.4 updates

85 k
Installing for dependencies:
distcache i386 1.4.5-14.1 base 119 k

Transaction Summary
=============================================================================
Install 2 Package(s)
Update 0 Package(s)
Remove 0 Package(s)

Total download size: 204 k
Downloading Packages:
(1/2): mod_ssl-2.2.3-11.e 100% |=========================| 85 kB 00:02
(2/2): distcache-1.4.5-14 100% |=========================| 119 kB 00:03
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing: distcache ######################### [1/2]
Installing: mod_ssl ######################### [2/2]

Installed: mod_ssl.i386 1:2.2.3-11.el5_2.centos.4
Dependency Installed: distcache.i386 0:1.4.5-14.1
Complete!

[root@centos5 ~]# cd /etc/httpd/conf 进入HTTP服务器配置文件所在目录
[root@centos5 conf]# rm -rf ssl.*/server.* 删除默认或残留的服务器证书相关文件

[root@centos5 ~]# rpm -qa |grep openssl
openssl-0.9.8b-10.el5

[root@centos5 ~]# openssl genrsa -out www.yang.com.key 1024 建立服务器密钥
Generating RSA private key, 1024 bit long modulus
…………………………………………………..++++++
.++++++
e is 65537 (0×10001)

[root@centos5 ~]# openssl req -new -key www.yang.com.key -out www.yang.com.csr 建立服务器公钥

You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter ‘.’, the field will be left blank.
—–
Country Name (2 letter code) [GB]:OM 输入国名
State or Province Name (full name) [Berkshire]:fuzhou 输入省名
Locality Name (eg, city) [Newbury]:fou 输入城市名
Organization Name (eg, company) [My Company Ltd]:yang 输入组织名(任意)
Organizational Unit Name (eg, section) []:www 不输入,直接回车
Common Name (eg, your name or your server’s hostname) []:www.yang.com 输入通称(任意)
Email Address []:admin@yang.com 输入电子邮箱地址

Please enter the following ‘extra’ attributes
to be sent with your certificate request
A challenge password []: 不输入,直接回车
An optional company name []: 不输入,直接回车

[root@centos5 ~]# ls -l
total 68
-rw——- 1 root root 986 Jan 31 23:54 anaconda-ks.cfg
drwxr-xr-x 2 root root 4096 Feb 1 02:17 Desktop
-rw-r–r– 1 root root 0 Feb 1 03:06 Finished
-rw-r–r– 1 root root 15078 Jan 31 23:54 install.log
-rw-r–r– 1 root root 2876 Jan 31 23:53 install.log.syslog
-rw-r–r– 1 root root 0 Feb 1 03:06 Package
-rw-r–r– 1 root root 0 Feb 1 03:06 Processing
-rw-r–r– 1 root root 0 Feb 1 03:06 Running
-rw-r–r– 1 root root 684 Feb 1 04:54 www.yang.com.csr
-rw-r–r– 1 root root 887 Feb 1 04:52 www.yang.com.key

[root@centos5 ~]# openssl x509 -req -days 365 -in www.yang.com.csr -signkey www.yang.com.key -out www.yang.com.crt 建立服务器证书

Signature ok
subject=/C=OM/ST=fuzhou /L=fou/O=yang/OU=www/CN=www.yang.com/emailAddress=admin@ yang.com
Getting Private key

[root@centos5 ~]# ll
total 72
-rw——- 1 root root 986 Jan 31 23:54 anaconda-ks.cfg
drwxr-xr-x 2 root root 4096 Feb 1 02:17 Desktop
-rw-r–r– 1 root root 0 Feb 1 03:06 Finished
-rw-r–r– 1 root root 15078 Jan 31 23:54 install.log
-rw-r–r– 1 root root 2876 Jan 31 23:53 install.log.syslog
-rw-r–r– 1 root root 0 Feb 1 03:06 Package
-rw-r–r– 1 root root 0 Feb 1 03:06 Processing
-rw-r–r– 1 root root 0 Feb 1 03:06 Running
-rw-r–r– 1 root root 920 Feb 1 04:57 www.yang.com.crt
-rw-r–r– 1 root root 684 Feb 1 04:54 www.yang.com.csr
-rw-r–r– 1 root root 887 Feb 1 04:52 www.yang.com.key

[root@centos5 ~]# vi /etc/httpd/conf.d/ssl.conf 修改SSL的设置文件

# When we also provide SSL we have to listen to the
# the HTTPS port in addition.
#
Listen 443

[root@centos5 ~]# /etc/rc.d/init.d/httpd restart 重启服务
Stopping httpd: [ OK ]
Starting httpd: [ OK ]

[root@centos5 ~]# netstat -ntpl |grep 443
tcp 0 0 :::443 :::* LIST

EN 10317/httpd

未分类

yum以及apt常用命令列表

2009年6月8日

APT 常用指令如下:

apt-get update
更新软件包列表

apt-get dist-upgrade
升级 rpm

apt-cache search
搜索软件包,ex: apt-cache search httpd

apt-get install
安裝软件包,这里的软件包安裝,会考虑到依赖性的问题 ex: apt-get install httpd

apt-get remove
移除软件包,这里的软件包移除,也会考虑到依赖性的问题 ex: apt-get remove httpd

apt-get clean
清除安裝時下载的暂存软件包原始档案,位於 /var/cache/apt/archives

YUM 常用指令如下:

yum update
更新软件包, ex: yum update httpd,如果只有 yum update ,会更新所有已經安裝的软件包。

yum search
搜索软件包,ex: yum search httpd*,会搜索所有跟 httpd 有关的软件包。

yum install
安裝软件包,这里的软件包安裝,会考虑到依赖性的问题 ex: yum install httpd

yum remove
移除软件包,这里的软件包移除,也会考虑到依赖性的问题 ex: yum remove httpd

yum clean
清除安裝時下载的暂存软件包原始数据,位於 /var/cache/yum,因為这里可以清除的项目很多,我最常用的是 yum clean all ,一次給他清掉 :p

yum list
列出软件包名称,用法常用有分以下几种:

yum list updates
列出所有可以更新的软件包

yum list installed
列出所有已安裝的软件包

未分类

扫盲行动之九:Vi编辑器的基本使用方法

2009年6月8日

vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令。由于对Unix及Linux系统的任何版本,vi编辑器是完全相同的,因此您可以在其他任何介绍vi的地方进一步了解它。Vi也是Linux中最基本的文本编辑器,学会它后,您将在Linux的世界里畅行无阻。

1、vi的基本概念
  基本上vi可以分为三种状态,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下:

1) 命令行模式command mode)

  控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode。

2) 插入模式(Insert mode)

  只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。

3) 底行模式(last line mode)

  将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号……等。

不过一般我们在使用时把vi简化成两个模式,就是将底行模式(last line mode)也算入命令行模式command mode)。

2、vi的基本操作
a) 进入vi

  在系统提示符号输入vi及文件名称后,就进入vi全屏幕编辑画面:

   $ vi myfile

  不过有一点要特别注意,就是您进入vi之后,是处于「命令行模式(command mode)」,您要切换到「插入模式(Insert mode)」才能够输入文字。初次使用vi的人都会想先用上下左右键移动光标,结果电脑一直哔哔叫,把自己气个半死,所以进入vi后,先不要乱动,转换到「插入模式(Insert mode)」再说吧!

b) 切换至插入模式(Insert mode)编辑文件

  在「命令行模式(command mode)」下按一下字母「i」就可以进入「插入模式(Insert mode)」,这时候你就可以开始输入文字了。

c) Insert 的切换

  您目前处于「插入模式(Insert mode)」,您就只能一直输入文字,如果您发现输错了字!想用光标键往回移动,将该字删除,就要先按一下「ESC」键转到「命令行模式(command mode)」再删除文字。

d) 退出vi及保存文件

  在「命令行模式(command mode)」下,按一下「:」冒号键进入「Last line mode」,例如:

: w filename (输入 「w filename」将文章以指定的文件名filename保存)

: wq (输入「wq」,存盘并退出vi)

: q! (输入q!, 不存盘强制退出vi)

3、命令行模式(command mode)功能键
1). 插入模式

  按「i」切换进入插入模式「insert mode」,按“i”进入插入模式后是从光标当前位置开始输入文件;

  按「a」进入插入模式后,是从目前光标所在位置的下一个位置开始输入文字;

  按「o」进入插入模式后,是插入新的一行,从行首开始输入文字。

2). 从插入模式切换为命令行模式

  按「ESC」键。

3). 移动光标

  vi可以直接用键盘上的光标来上下左右移动,但正规的vi是用小写英文字母「h」、「j」、「k」、「l」,分别控制光标左、下、上、右移一格。

  按「ctrl」+「b」:屏幕往“后”移动一页。

  按「ctrl」+「f」:屏幕往“前”移动一页。

  按「ctrl」+「u」:屏幕往“后”移动半页。

  按「ctrl」+「d」:屏幕往“前”移动半页。

  按数字「0」:移到文章的开头。

  按「G」:移动到文章的最后。

  按「$」:移动到光标所在行的“行尾”。

  按「^」:移动到光标所在行的“行首”

  按「w」:光标跳到下个字的开头

  按「e」:光标跳到下个字的字尾

  按「b」:光标回到上个字的开头

  按「#l」:光标移到该行的第#个位置,如:5l,56l。

4). 删除文字

  「x」:每按一次,删除光标所在位置的“后面”一个字符。

  「#x」:例如,「6x」表示删除光标所在位置的“后面”6个字符。

  「X」:大写的X,每按一次,删除光标所在位置的“前面”一个字符。

  「#X」:例如,「20X」表示删除光标所在位置的“前面”20个字符。

  「dd」:删除光标所在行。

  「#dd」:从光标所在行开始删除#行

5). 复制

  「yw」:将光标所在之处到字尾的字符复制到缓冲区中。

  「#yw」:复制#个字到缓冲区

  「yy」:复制光标所在行到缓冲区。

  「#yy」:例如,「6yy」表示拷贝从光标所在的该行“往下数”6行文字。

  「p」:将缓冲区内的字符贴到光标所在位置。注意:所有与“y”有关的复制命令都必须与“p”配合才能完成复制与粘贴功能。

6). 替换

  「r」:替换光标所在处的字符。

  「R」:替换光标所到之处的字符,直到按下「ESC」键为止。

7). 回复上一次操作

  「u」:如果您误执行一个命令,可以马上按下「u」,回到上一个操作。按多次“u”可以执行多次回复。

8). 更改

  「cw」:更改光标所在处的字到字尾处

  「c#w」:例如,「c3w」表示更改3个字

9). 跳至指定的行

  「ctrl」+「g」列出光标所在行的行号。

  「#G」:例如,「15G」,表示移动光标至文章的第15行行首。

4、Last line mode下命令简介
  在使用「last line mode」之前,请记住先按「ESC」键确定您已经处于「command mode」下后,再按「:」冒号即可进入「last line mode」。

A) 列出行号

 「set nu」:输入「set nu」后,会在文件中的每一行前面列出行号。

B) 跳到文件中的某一行

 「#」:「#」号表示一个数字,在冒号后输入一个数字,再按回车键就会跳到该行了,如输入数字15,再回车,就会跳到文章的第15行。

C) 查找字符

 「/关键字」:先按「/」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往后寻找到您要的关键字为止。

 「?关键字」:先按「?」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往前寻找到您要的关键字为止。

D) 保存文件

 「w」:在冒号输入字母「w」就可以将文件保存起来。

E) 离开vi

 「q」:按「q」就是退出,如果无法离开vi,可以在「q」后跟一个「!」强制离开vi。

 「qw」:一般建议离开时,搭配「w」一起使用,这样在退出的时候还可以保存文件。

5、vi命令列表
1、下表列出命令模式下的一些键的功能:

h
左移光标一个字符

l
右移光标一个字符

k
光标上移一行

j
光标下移一行

^
光标移动至行首

0
数字“0”,光标移至文章的开头

G
光标移至文章的最后

$
光标移动至行尾

Ctrl+f
向前翻屏

Ctrl+b
向后翻屏

Ctrl+d
向前翻半屏

Ctrl+u
向后翻半屏

i
在光标位置前插入字符

a
在光标所在位置的后一个字符开始增加

o
插入新的一行,从行首开始输入

ESC
从输入状态退至命令状态

x
删除光标后面的字符

#x
删除光标后的#个字符

X
(大写X),删除光标前面的字符

#X
删除光标前面的#个字符

dd
删除光标所在的行

#dd
删除从光标所在行数的#行

yw
复制光标所在位置的一个字

#yw
复制光标所在位置的#个字

yy
复制光标所在位置的一行

#yy
复制从光标所在行数的#行

p
粘贴

u
取消操作

cw
更改光标所在位置的一个字

#cw
更改光标所在位置的#个字

2、下表列出行命令模式下的一些指令
w filename
储存正在编辑的文件为filename

wq filename
储存正在编辑的文件为filename,并退出vi

q!
放弃所有修改,退出vi

set nu
显示行号

/或?
查找,在/后输入要查找的内容

n
与/或?一起使用,如果查找的内容不是想要找的关键字,按n或向后(与/联用)或向前(与?联用)继续查找,直到找到为止。

对于第一次用vi,有几点注意要提醒一下:
1、用vi打开文件后,是处于「命令行模式(command mode)」,您要切换到「插入模式(Insert mode)」才能够输入文字。切换方法:在「命令行模式(command mode)」下按一下字母「i」就可以进入「插入模式(Insert mode)」,这时候你就可以开始输入文字了。
2、编辑好后,需从插入模式切换为命令行模式才能对文件进行保存,切换方法:按「ESC」键。
3、保存并退出文件:在命令模式下输入:wq即可!(别忘了wq前面的:)

未分类

centos+lamp+gd_zend

2009年6月8日

安装

1.1 CentOS5.1

• 所有需要安装的包都放在/usr/src下,解压也是解压在/usr/src下。
• 所有的软件都是安装在/usr/local下。

1.2 基本信息

• vmware workstation 6.2
• 创建一个redhat as 5.0 vm
• 8g硬盘,160m内存,去掉声卡,软驱
• ip:192.168.1.168
• 掩码:255.255.255.0
• 网关:192.168.1.1
• dns:192.168.1.1
• hostname:centos

1.3 最小化安装

通过命令行的方式进行安装,所有的选择都是采用缺省的,
时区选择:中国
语言:英语
安装了342个包,占用空间是536m,不选择任何组件

1.4 分区

/swap:320
/ :全部空间

2 基本命令使用

2.1 VI

进入编辑状态:i
退出编辑状态:Esc
到第一行:gg
到最後一行:G
到某一行:xxG
到行首:0
到行末:$
复制:yy
贴上:p
复原:u
删整行:dd
删除全部内容:dG
显示行数::set nu
不显示行数::set nonu
搜寻:/、再次搜寻:n
储存::w
离开::q
储存兼离开::wq 或 shift+zz
强制离开(不储存)::q!

2.2 yum

更新:yum update
安装:yum install xxx
移除:yum remove xxx
清除已经安装过的档案(/var/cache/yum/):yum clean all
搜寻:yum search xxx
列出所有档案:yum list
查询档案讯息:yum info xxx

群组安装功能:

yum grouplist
yum groupinstall “Web Server”

2.3 rpm

安装:rpm -ivh xxx
移除:rpm -e xxx
升级:rpm -Uvh xxx

查询:
查询所有安装的包: rpm -qa
查询某个包:rpm -qa | grep xxx
rpm -qi xxx
查询软件的安装路径:rpm -ql xxx
rpm -qc xxx
查询某个文件是那个rpm包产生:rpm -qf /etc/yum.conf
rpm -qpi xxx

2.4 chkconfig

查看所有服务:chkconfig –list
查看3启动的状态:chkconfig –list | grep 3n
把某些服务设置为启动:chkconfig –level 345 xxx on
把某些服务设置当前启动:chkconfig xxx on
列出某项服务:chkconfig –list xxx

2.5 查看系统状态

查看系统使用字符集:echo $LANG $LANGUAGE
环境变量:set

2.6 解压

如果是以gz結尾的如:test.tar.gz
tar zxvf test.tar.gz

如果是以bz或bz2結尾如:test.tar.bz2
tar jxvf test.tar.bz2

2.7 基本信息查看和修改

查看 IP:ifconfig
修改 IP:
运行命令:system-config-network-tui
或修改:/etc/sysconfig/network-scripts/ifcfg-eth0

FQDN 设定:
hostname
more /etc/hosts
more /etc/sysconfig/network
修改计算机名字
1:vi /etc/sysconfig/network
2:vi /etc/hosts
如果通过
hostname xxx
来修改计算机名字,则重新启动后就不起作用

DNS 设定:
vi /etc/resolv.conf
nameserver 192.168.1.1
nameserver 202.106.195.68

重新启动网卡:
/etc/rc.d/init.d/network restart

3 登陆后设置

3.1 关闭selinux

1:运行命令setup,可以在图形化界面进行关闭
2:vi /etc/sysconfig/selinux
SELINUX=enforcing 改成–> SELINUX=disabled

3.2 关闭不需要服务

1:运行命令setup
2:运行命令ntsysv
只启用下面9个服务(autofs是为了方便使用光驱,其实可以不启用这个服务)
acpid
anacron
autofs
cpuspeed
crond
network
sshd
syslog
yum-updatesd

3.3 配置ssh

修改两个地方
vi /etc/ssh/sshd.config
#PermitRootLogin yes 改为
PermitRootLogin yes

#UseDNS yes 改为
UseDNS no

3.4 配置yum

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.save
vi /etc/yum.repos.d/CentOS-Base.repo

######################

[base]
name=CentOS-5 - Base
repo=os
baseurl=http://centos.ustc.edu.cn/centos/5.1/os/$basearch/
gpgcheck=1
gpgkey=http://centos.ustc.edu.cn/centos/RPM-GPG-KEY-CentOS-5

[update]
name=CentOS-5 - Updates
baseurl=http://centos.ustc.edu.cn/centos/5.1/updates/$basearch/
gpgcheck=1
gpgkey=http://centos.ustc.edu.cn/centos/RPM-GPG-KEY-CentOS-5

[addons]
name=CentOS-5 - Addons
baseurl=http://centos.ustc.edu.cn/centos/5.1/addons/$basearch/
gpgcheck=1
gpgkey=http://centos.ustc.edu.cn/centos/RPM-GPG-KEY-CentOS-5

[extras]
name=CentOS-5 - Extras
baseurl=http://centos.ustc.edu.cn/centos/5.1/extras/$basearch/
gpgcheck=1
gpgkey=http://centos.ustc.edu.cn/centos/RPM-GPG-KEY-CentOS-5

[centosplus]
name=CentOS-5 - Plus
baseurl=http://centos.ustc.edu.cn/centos/5.1/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://centos.ustc.edu.cn/centos/RPM-GPG-KEY-CentOS-5

[contrib]
name=CentOS-5 - Contrib
baseurl=http://centos.ustc.edu.cn/centos/5.1/contrib/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://centos.ustc.edu.cn/centos/RPM-GPG-KEY-CentOS-5
###################

rpm –import http://centos.ustc.edu.cn/centos/5.1/os/i386/RPM-GPG-KEY-CentOS-5

yum update

4 :编译前准备

4.1 安装编译器gcc
最小化安装,没有安装编译器
yum install gcc

4.2 gcc-c++
如果不安装,在编译mysql的时候会出现【exec: g++: not found】错误
yum install gcc-c++

5:安装软件

5.1安装mysql

1:去下载一个ncurses-5.6.tar.gz,
tar zxvf ncurses-5.6.tar.gz
cd ncurses-5.6
./configure –prefix=/usr –with-shared –without-debug
make
make install clean

2:安装mysql
tar -zxvf mysql-5.0.51a.tar.gz
cd mysql-5.0.51a
./configure –with-mysqld-user=mysql –prefix=/usr/local/mysql5 –with-extra-charset=all –without-isam –exec-prefix=/usr/local/mysql5
echo $?
make && make install

3:初始化数据库:
groupadd mysql
useradd -g mysql mysql
scripts/mysql_install_db
cp /usr/local/mysql5/share/mysql/my-medium.cnf /usr/local/mysql5/var/my.cnf
cp /usr/local/mysql5/share/mysql/mysql.server /etc/init.d/mysqld
chkconfig –add mysqld
chkconfig –level 2345 mysqld on
chown mysql:mysql -R /usr/local/mysql5/
service mysqld start
ln -s /usr/local/mysql5/bin/mysql /sbin/mysql
ln -s /usr/local/mysql5/bin/mysqladmin /sbin/mysqladmin

4:设定mysql密码
mysqladmin -uroot password “123456″

5:让系统找到mysql(如果必要的话):
PATH=$PATH:/usr/local/mysql5/bin
export PATH
echo “/usr/local/mysql5/lib/mysql” >> /etc/ld.so.conf
ldconfig

6::测试
netstat -nplt | grep mysql
ps aux|grep mysql

5.2 安装apache

1:编译安装
tar zxvf httpd-2.2.8.tar.gz
cd httpd-2.2.8
./configure –prefix=/usr/local/apache2 –enable-so –enable-rewrite
echo $?
make && make install
/usr/local/apache2/bin/apachectl configtest
/usr/local/apache2/bin/apachectl start
/usr/local/apache/bin/apachectl stop
2:修改默认启动页
vi /usr/local/apache2/conf/httpd.conf
DirectoryIndex index.html 改为
DirectoryIndex index.html index.htm default.htm default.html index.php index.php3 index.jsp
#ServerName www.example.com:80 改为
ServerName www.example.com:80

3:apache 开机启动的办法
1:#echo “/usr/local/apache/bin/apachectl start” >>/etc/rc.local(系统启动时服务自动启动)
2:创建一个httpd启动脚本,内容如下:
cp /usr/local/apache2/bin/apachectl /etc/init.d/httpd
vi /etc/init.d/httpd
在第三行添加以下内容
#chkconfig:345 85 15
#description: Start and stops the Apache HTTP Server.

chmod +x /etc/rc.d/init.d/httpd
chkconfig –add httpd

修改乱码
步骤1:
在httpd.conf中将Include conf/extra/httpd-autoindex这个模块的注释去掉
@vi /usr/local/apache/conf/httpd.conf
步骤2:
在httpd-autoindex.conf中加入IndexOptions Charset=UTF-8
@vi /usr/local/apache/conf/extra/httpd-autoindex.conf

5.3 安装GD

1:安装ZLIB2

######zlib#############

tar zxvf zlib-1.2.3.tar.gz
cd zlib-1.2.3
./configure
make
make install clean

2:安装PNG

##########libpng###########

tar zxvf libpng-1.2.26.tar.gz
cd libpng-1.2.26

cp scripts/makefile.linux ./makefile
./configure –prefix=/usr/local/libpng

make
make install clean

3:安装freetype

##########freetype#########

cd freetype-2.3.5
./configure
make
make install

4:安装JPEG6

#########jpeg###############

tar zxvf jpegsrc.v6b.tar.gz
cd jpeg-6b
mkdir -pv /usr/local/jpeg/{,bin,lib,include,man/man1,man1}
./configure –prefix=/usr/local/jpeg –enable-shared –enable- static
make
make install

5:安装GD
########GD###########

tar zxvf gd-2.0.35.tar.gz
cd gd-2.0.35
./configure –with-png –with-freetype –with-jpeg=/usr/local/jpeg/

make
make install

5.4 安装php

1:安装LIBXML2
#####libxml2 #####

tar zxvf libxml2-2.6.31.tar.gz
cd libxml2-2.6.31
./configure –prefix=/usr/local/libxml2
make
make install
cp xml2-config /usr/bin

2::安装PHP5.2.5

#########php##########

tar zxvf php-5.2.5.tar.gz
cd php-5.2.5
./configure –prefix=/usr/local/php5 –with-mysql=/usr/local/mysql5 –with-apxs2=/usr/local/apache2/bin/apxs –with-jpeg-dir=/usr/local/jpeg –with-freetype-dir=/usr/local/include/freetype2 –with-zlib –with-png-dir=usr/local/libpng12 –with-libxml-dir=/usr/local/libxml2 –with-gd –enable-ftp –enable-sockets
make
make test

make install

3:配置
cp php.ini-dict /usr/local/php5/lib/php.ini
编辑httpd.conf
/usr/local/apache2/conf/httpd.conf
加载php模块,去掉注释,我的版本是缺省就启用的。
LoadModule php5_module modules/libphp5.so

加上下面两行
AddType application/x-httpd-php .php .phtml
AddType application/x-httpd-php-source .phps

5.5 安装zend

tar -zxvf ZendOptimizer-3.0.0-linux-glibc23- x86_64.tar.gz
cd ZendOptimizer-3.0.0-linux-glibc23-x86_64
./install

5.6 安装phpmyadmin

cp -rf phpMyAdmin-v2.11.5.2 /usr/local/apache2/htdocs/phpmyadmin

cd /usr/local/apache2/htdocs/phpmyadmin/

cp config.sample.inc.php config.inc.php
vi config.inc.php
$cfg['blowfish_secret'] = ”改为
$cfg['blowfish_secret'] = ‘dd’

只要不为空就可以了,这样就可以登陆,如果还有问题,就修改一下语言就解决“配置文件现在需要绝密的短语密码(blowfish_secret)”这个错误了。

6:软件

ncurses

http://ftp.gnu.org/pub/gnu/ncurses/ncurses- 5.6.tar.gz

安装GD库和GD库所需的环境
zlib
http://www.zlib.net/zlib-1.2.3.tar.gz
jpeg
ftp://ftp.uu.net/graphics/jpeg/jpegsrc.v6b.tar.gz
freetype
http://download.savannah.gnu.org/releases/freetype/freetype- 2.3.5.tar.gz
png
ftp://ftp.simplesystems.org/pub/libpng/png/src/libpng- 1.2.26.tar.gz
GD
http://www.libgd.org/releases/gd-2.0.35.tar.gz

安装php必须安装libxml
wget ftp://xmlsoft.org/libxml2/libxml2-2.6.31.tar.gz

apache2.2.8
http://apache.mirror.phpchina.com/httpd/httpd- 2.2.8.tar.gz
phpmyadmin2.11.5.2
http://4.gxdx1.crsky.com/200804/phpMyAdmin- v2.11.5.2.rar

Zend3.3
http://downloads.zend.com/optimi … glibc21-i386.tar.gz

php5.2.5
http://cn.php.net/distributions/php- 5.2.5.tar.gz
mysql5.051
http://mirror.trouble- free.net/mysql_mirror/Downloads/MySQL- 5.0/mysql-5.0.51a.tar.gz

##########phpmyadmin下的两个错误的解决办法##########

当你配置好,登陆phpmyadmin,你会发现有两个错误

1:没有mbstring 扩展的phpMyAdmin 不能正确识别字符串,可能产生不可意料的结果

2:无法载入 mcrypt 扩展,
请检查 PHP 配置

网上搜索了一下,基本找到的都是windows下使用的解决办法,我这里是linux,怎么搞定。

第一问题,比较好办,只需要编译php的时候加入参数-enable-mbstring=all 就可以了。

第二个问题就比较麻烦,这应该是出现在新的版本的phpmyadmin里,不过搜索找到了答案。

到这里ftp://mcrypt.hellug.gr/pub/crypto/mcrypt/下载libmcrypt-2.5.7.tar.gz,编译很简单,依旧是configure,make,make check,make install。
装完马上重新去编译php,安装非常顺利。
我已经测试通过了,非常不错。大家可以去看看作者的blog,久闻大名。
现在已经是深夜2点了,明天还有参加朋友的婚礼。

下面是我的编译参数,记录一下
./configure –prefix=/usr/local/php5 –with-mysql=/usr/local/mysql5 –with-apxs2=/usr/local/apache2/bin/apxs –with-jpeg-dir=/usr/local/jpeg –with-freetype-dir=/usr/local/include/freetype2 –with-zlib –with-png-dir=usr/local/libpng12 –with-libxml-dir=/usr/local/libxml2 –with-gd –enable-ftp –enable-sockets -enable-mbstring=all- –with-mcrypt

未分类

301和302重定向的区别

2009年6月2日

301,302 都是HTTP状态的编码,都代表着某个URL发生了转移,不同之处在于:

301 redirect: 301 代表永久性转移(Permanently Moved),

302 redirect: 302 代表暂时性转移(Temporarily Moved ),

当然 Http 状态 200 标示没有任何问题发生。

这两种转移在使用的时候有啥好处或者问题?

301 重定向是网页更改地址后对搜索引擎友好的最好方法,只要不是暂时搬移的情况,都建议使用301来做转址。

302 重定向是临时性转移。

在前些年,不少Black Hat SEO曾广泛应用这项技术作弊,目前,各大主要搜索引擎均加强了打击力度,象Google前些年对Business.com以及近来对BMW德国网站的惩 罚。即使网站客观上不是spam,也很容易被搜寻引擎容易误判为spam而遭到惩罚。

研究搜索引擎优化(SEO)的人,应该都知道,301,302 使用不当,或者灵活使用会有不错的效果的,
页面永久性移走(301重定向)是一种非常重要的“自动转向”技术。

  301重定向可促进搜索引擎优化效果

  从搜索引擎优化角度出发,301重定向是网址重定向最为可行的一种办法。当网站的域名发生变更后,搜索引擎只对新网址进行索引,同时又会把旧地址下原有的外部链接如数转移到新地址下,从而不会让网站的排名因为网址变更而收到丝毫影响。同样,在使用301永久性重定向命令让多个域名指向网站主域时,亦不会对网站的排名产生任何负面影响。

  302重定向可影响搜索引擎优化效果

  迄今为止,能够对302重定向具备优异处理能力的只有Google。也就是说,在网站使用302重定向命令将其它域名指向主域时,只有Google会把其它域名的链接成绩计入主域,而其它搜索引擎只会把链接成绩向多个域名分摊,从而削弱主站的链接总量。既然作为网站排名关键因素之一的外链数量受到了影响,网站排名降低也是很自然的事情了。

  综上所述,在众多重定向技术中,301永久性重定向是最为安全的一种途径,也是极为理想的一款解决方案。

  对于正确实施301重定向,有这样几个方法可供大家参考:

  1.在.htaccess文件中增加301重定向指令

  采用“mod_rewrite”技术,形如:

RewriteEngine on
RewriteRule ^(.*)$ http://www.solzhang.com/ $1 [R=301,L]

  2.适用于使用Unix网络服务器的用户

  通过此指令通知搜索引擎的spider你的站点文件不在此地址下。这是较为常用的办法。

  形如:Redirect 301 / http://www.solzhang.com/
  3.在服务器软件的系统管理员配置区完成301重定向

  适用于使用Window网络服务器的用户

  4.绑定/本地DNS

  如果具有对本地DNS记录进行编辑修改的权限,则只要添加一个记录就可以解决此问题。若无此权限,则可要求网站托管服务商对DNS服务器进行相应设置。

  DNS服务器的设置

  若要将seo.solzhang.com指向www.solzhang.com,则只需在DNS服务中应增加一个别名记录,可写成:seo IN CNAME www.solzhang.com

  如需配置大量的虚拟域名,则可写成:* IN CNAME www.solzhang.com/ .

  这样就可将所有未设置的以williamlong.info结尾的记录全部重定向到www.solzhang.com上。

  5.用ASP/PHP实现301重定向:

ASP:
Response.Status=”301 Moved Permanently”
Response.AddHeader “Location”,”http://www.solzhang.com/
Response.End

PHP:
header(”HTTP/1.1 301 Moved Permanently”);
header(”Location:http://www.solzhang.com/ “);
exit();

SEO , , ,

html中的input、submit和button的区别

2009年6月1日

type=button      就单纯是按钮功能
type=submit      是发送表单

但是对于从事WEB UI的人应该要注意到,使用submit来提高页面易用性:
使用submit后,页面支持键盘enter键操作,而很多WEB软件设计师,可能没有注意到submit统一.

用button后往往页面不支持enter键了。所以需要支持enter键,必须要设置个submit,默认enter键对页面第一个submit进行操作。

<input type=”submit” name=”b1″ value=”提交”     onClick=”bt_submit_onclick()”>

执行完onClick,转到action。可以自动提交不需要onClick。所以说onclick这里可以不要。

<input type=”button” name=”b1″ value=”提交”     onClick=”bt_submit_onclick()”>

执行完onClick,跳转文件在 js文件里控制。提交需要onClick。

比如:

1,onclick=”form1.action=’a.jsp’;form1.submit();”     这样就实现了submit的功能了。

2,<form    name=”form1″    method=”post”    action=”http://blog.1xi.net”>
<input    type=”button”    name=”Button”    value=”Button”    onClick=”submit()”>
</form>

3,<input    type=”button”    name=”Button”    value=”Button”    onClick=”javascript:windows.location.href=”你的url””>

Javascript ,

端午的由来

2009年5月29日
端午节

端午节

说法一、最流行版本纪念屈原
就是大家都知道的纪念屈原。据传是屈原向楚怀王提了不少好建议,怎料触到了当时的上层建筑的神经。可想,好心不得好下场,被赶出都城流放到湘、沅流域。那首著名的《离骚》就是他这里,在悲愤交加下创作出来的。公元前278年,秦攻破楚京都。眼见亡国,屈原万念俱灰,于五月五日,在写下了绝笔作《怀沙》之后,抱石投汨罗江自尽。 

楚国百姓悲痛异常,纷纷涌到汨罗江边去凭吊屈原。据说有位渔夫拿出为屈原准备的饭团、鸡蛋等食物丢向江里,说是让鱼龙虾蟹吃饱后,就不会去咬屈大夫的身体了。人们见后纷纷仿效,后来为怕饭团为蛟龙所食,人们想出用楝树叶包饭,外缠彩丝,发展成棕子。

说法二、纪念伍子胥
在江浙一带流传很广,是纪念春秋时期的名将,一夜白头的伍子胥。伍子胥本是楚国人,父兄均被楚王所杀,后投奔吴国,助吴伐楚。后来吴国胜了,当时楚平王已死,据传伍子胥挖出楚平王尸身鞭尸三百下,以报杀父兄之仇。

吴王阖庐死后,其子夫差继位,吴国又和越国打起来了。越国大败,越王勾践请和,夫差同意了。但是伍子胥建议,应该灭越国已决后患。夫差不听,竟听信谗言,赐他把宝剑让他死。子胥视死如归,死前说:“我死后,将我眼睛挖出悬挂在吴京之东门上,以看越国军队入城灭吴”,便自刎而死。吴王自然不大爽,令人将伍胥之尸体装在皮革里于五月五日投入大江,因此相传端午节亦为纪念伍子胥之日。

说法三、纪念孝女曹娥
端午节的第三个传说,是为纪念东汉孝女曹娥救父投江。曹娥是东汉上虞人,父亲溺于江中,数日不见尸体,当时孝女曹娥才十四岁,昼夜沿江哭喊 。过了十七天,在五月五日也投江,五日后抱出父尸。就此传为神话,继而相传至县府知事,令度尚为之立碑。

说法四、源于古越民族图腾祭
近代大量出土文物和考古研究证实:长江中下游广大地区,在新石器时代,有一种几何印纹陶为特征的文化遗存。该遗存的族属,据专家推断是一个崇拜龙的图腾的部族—-史称百越族。

出土陶器上的纹饰和历史传说示明,他们有断发纹身的习俗,生活于水乡,自比是龙的子孙。其生产工具,大量的还是石器,也有铲、凿等小件的青铜器。作为生活用品的坛坛罐罐中,烧煮食物的印纹陶鼎是他们所特有的,是他们族群的标志之一。直到秦汉时代尚有百越人,端午节就是他们创立用于祭祖的节日。在数千年的历史发展中,大部分百越人已经融合到汉族中去了,其余部分则演变为南方许多少数民族,因此,端午节成了全中华民族的节日。

默认分类 , , ,

Google的九条创新原则

2009年5月29日

google_cnInnovation, not instant perfection /创新不会马上就完美
Start rough, learn and iterate./开始粗糙,学习和迭代
Ideas come from everywhere /点子来自任何地方
Ideas can come from the engineers, managers, users even the financial team.
Share everything you can /分享一切
Everything is put on the intranet, so employees know what is happening./任何事情都可以在内网分享
You’re brilliant, we’re hiring /你有才,我雇你
Founders Larry Page and Sergey Brin approve hires. They favor intelligence over experience. /Larry Page和Sergey Brin的雇人之道是,喜欢聪明人胜过有经验的人
A license to pursue dreams /允许追求梦想
Letting employees use 20% of their time on what ever they want./让员工用20%的时间做爱做的事
Data is apolitical /数据中没有政治
There is no “I like”, it is all about the basing decisions on data./不要说“我喜欢”,所有决定都靠数据立足
Creativity loves constraints / 创造力爱制约
Engineers thrive on constraints. /工程师靠限制发展
It’s users, not money / 是用户而不是钱
If you can successfully engage users, you can monetize them/如果你能成功吸引用户,你就能赚钱
Don’t kill projects, morph them /不要毙掉项目,改造它
Products that doesn’t seem to respond well in the market should be morphed into something the market needs, not cancelled /产品市场反响不好应该改造它以适应市场的需求,而不要轻易取消它

未分类