lijietz's technology world!
自我介绍
Layout and Color
新闻聚合
博客日历
文章归档...
最新发表...
博客统计...
网站链接...
===========================================================
php4开发环境的配置.
===========================================================

小情同志友情赠送php空间,所以偶的下把苦工,学下php.把我们的blog搭起来.. smile 记录基于windows的php开发的配置简单流程如下:

1:下载各种软件包.

php-4.4.1-Win32.zip(http://www.php.net/downloads.php ) mysql-noinstall-4.0.26-win32.zip (http://www.mysql.com/downloads/) apache_2.0.55-win32-x86-no_ssl.msi (http://httpd.apache.org/download.cgi) phpMyAdmin-2.6.4-pl3.zip (http://sourceforge.net/projects/phpmyadmin/)

2tonguehp环境的配置.

解压php4的压缩包到ctonguehp4目录下. 第一步:复制 php4ts.dll 文件到 C:Windows 目录下(如果是 Windows 2000/NT 操作系统,则为 C:winnt 目录,下同。请注 意你的 Windows 版本对应的文件夹)。第二步:将 [dlls]文件夹下所有的 .dll 文件复制到 C:Windowssystem32 目录下(如果是 Windows 2000/NT 操作系统,则为 C:winntsystem32 目录;如果是 Windows 98,则为 C:windowssystem 目录。下同。请注意你的 Windows 版本对应的文件 夹).

第三步:

复制 php.ini-dist 文件到 C:Windows 文件夹下,重命名为 php.ini 。这里要提醒一句:不要在 php 目录下存放 php.ini 文件。也就是说 C:PHP4 目录下不要有 php.ini 文件.

第四步:修改php.ini文件.

ctrl+f找到 Paths and Directories (php搜索库的路径) 把include_path那行修改为include_path="Ctonguehp4pear;C:PHP4PEAR" ctrl+f找到 extension_dir (php搜索扩展库的路径) 把extension_dir开始的这行改为extension_dir = "C:PHP4extensions" ctrl+f 找到 File Uploads 配置部分,在这里我们可以设置 PHP 允许上传的文件的大小(默认是 2M)和上传文件存放的临时文件 夹(如果不设置临时文件夹,则默认存放于系统的临时文件夹),我们可以根据自己需要来设置,比如将允许上传的大小设置为 8M, 将文件临时文件夹设置为 C:TEMP,那么我们必须在 C 盘根目录下建立一个名为 temp 的文件夹,记得去掉 upload_tmp_dir 前面 的分号: ; Whether to allow HTTP file uploads. file_uploads = On ; Temporary directory for HTTP uploaded files (will use system default if not ; specified). upload_tmp_dir = "C:temp" (必须存在这个路径) ; Maximum allowed size for uploaded files. upload_max_filesize = 8M (允许web上传的最大文件大小) ctrl+f找到Dynamic Extensions 如果下载了和我相同的php包.如下设置即可,否则可能找不到想要的dll. extension=php_bz2.dll extension=php_cpdf.dll extension=php_crack.dll extension=php_curl.dll extension=php_db.dll extension=php_dba.dll extension=php_dbase.dll extension=php_dbx.dll extension=php_domxml.dll ;extension=php_exif.dll extension=php_fdf.dll extension=php_filepro.dll extension=php_gd2.dll extension=php_gettext.dll extension=php_hyperwave.dll extension=php_iconv.dll ;extension=php_ifx.dll ;extension=php_iisfunc.dll extension=php_imap.dll extension=php_interbase.dll extension=php_java.dll extension=php_ldap.dll extension=php_mbstring.dll ;extension=php_mcrypt.dll extension=php_mhash.dll extension=php_mime_magic.dll extension=php_ming.dll extension=php_mssql.dll extension=php_msql.dll ;extension=php_oci8.dll extension=php_openssl.dll ;extension=php_oracle.dll extension=php_pdf.dll ;extension=php_pgsql.dll ;extension=php_printer.dll extension=php_shmop.dll extension=php_snmp.dll extension=php_sockets.dll ;extension=php_sybase_ct.dll extension=php_w32api.dll extension=php_xmlrpc.dll extension=php_xslt.dll extension=php_yaz.dll extension=php_zip.dll ctrl+f找到 [Session] 部分,我们这里只修改一个参数 session.save_path ,默认是 /tmp ,我们将其指向 C:/TEMP/ 目录(用斜杠或反斜杠来表示路径在 PHP 中是一致的),记得在 C 盘根目录下建立一个名为 temp 的文件夹:session.save_path = “C:/temp/”这个是设置会话的存放路径的。OK, php.ini 文件的配置告一段落,Ctrl+s 保存文件后关闭记事本。

第五步:安装PEAR

PEAR 是一个很好的"代码仓库",提供给你的代码很强的扩展性,在提高项目效率上拥有巨大的作用。新的 PHP 版本压缩包中都已经自带 PEAR 了(并不完整),我们做要做的就是安装它。 在cmd下进入php4目录.执行go-pear.bat文件. 一路next即可.

第六步:mysql的安装.

解压即可. 进入 bin 目录,找到 winmysqladmin.exe 文件,双击运行。第一次运行会提示输入一个新的用户名和密码。这里可以随意选择你需要的用户名和密码输入.查看服务控制版,如果成功,应该有个mysql服务在运行..

第七步:安装apache.

点击安装,一路next...完毕后进入安装目录..所有配置文件在conf文件夹下. htdocs是默认的web程序存放目录. 第八步:配置apache. 修改主页的名称. 打开 conf 目录下的 httpd.conf 文件。Ctrl+F 搜索并定位到下面这行: DirectoryIndex index.html index.html.var 在其后面添加一个 PHP 默认页,通常是 index.php ,如下: DirectoryIndex index.html index.html.var index.php 为了使 Apache 识别 PHP 的相关扩展名,搜索并定位到下面这个部分: AllowOverride None Options None Order allow,deny Allow from all 在后面添加如下两行: AddType application/x-httpd-php .php .phtml .php3 .php4 AddType application/x-httpd-php-source .php 指定php模块. 指定 php 模块,找到并定位到如下这行 #LoadModule ssl_module modules/mod_ssl.so 在下面添加一行: LoadModule php4_module c:/php4/sapi/php4apache2.dll 路径一定要准确,设置后应如下: #LoadModule ssl_module modules/mod_ssl.so LoadModule php4_module c:/php4/sapi/php4apache2.dll 中文识别支持. 我们指定 GB2312 为默认编码。应该找到并定位到下面这行 AddDefaultCharset ISO-8859-1 将其修改为: AddDefaultCharset GB2312(如果没有,直接加入即可.)

第八步:测试.

编辑一个php文件test.php.其中内容为. 在ie中输入 http://localhost/test.php 测试.


lijietz post on :2005.11.02 23:38 ::catagories: ( linux技术 ) ::reads:(5575) :: Comments (3) :: 引用 (0)
===========================================================
正则表达式的元字符。(zt)
===========================================================

元字符描述


.
匹配任何单个字符。例如正则表达式r.t匹配这些字符串:ratrutr t,但是不匹配root
$
匹配行结束符。例如正则表达式weasel$ 能够匹配字符串"He's a weasel"的末尾,但是不能匹配字符串"They are a bunch of weasels."。
^
匹配一行的开始。例如正则表达式^When in能够匹配字符串"When in the course of human events"的开始,但是不能匹配"What and When in the"。
*
匹配0或多个正好在它之前的那个字符。例如正则表达式.*意味着能够匹配任意数量的任何字符。
这是引用府,用来将这里列出的这些元字符当作普通的字符来进行匹配。例如正则表达式$被用来匹配美元符号,而不是行尾,类似的,正则表达式.用来匹配点字符,而不是任何字符的通配符。
[ ]
[c1-c2]
[^c1-c2]
匹配括号中的任何一个字符。例如正则表达式r[aou]t匹配ratrotrut,但是不匹配ret。可以在括号中使用连字符-来指定字符的区间,例如正则表达式[0-9]可以匹配任何数字字符;还可以制定多个区间,例如正则表达式[A-Za-z]可以匹配任何大小写字母。另一个重要的用法是“排除”,要想匹配除了指定区间之外的字符——也就是所谓的补集——在左边的括号和第一个字符之间使用^字符,例如正则表达式[^269A-Z] 将匹配除了2、6、9和所有大写字母之外的任何字符。
< >
匹配词(word)的开始(<)和结束(>)。例如正则表达式<the能够匹配字符串"for the wise"中的"the",但是不能匹配字符串"otherwise"中的"the"。注意:这个元字符不是所有的软件都支持的。
( )
将 ( 和 ) 之间的表达式定义为“组”(group),并且将匹配这个表达式的字符保存到一个临时区域(一个正则表达式中最多可以保存9个),它们可以用 19 的符号来引用。
|
将两个匹配条件进行逻辑“或”(Or)运算。例如正则表达式(him|her) 匹配"it belongs to him"和"it belongs to her",但是不能匹配"it belongs to them."。注意:这个元字符不是所有的软件都支持的。
+
匹配1或多个正好在它之前的那个字符。例如正则表达式9+匹配9、99、999等。注意:这个元字符不是所有的软件都支持的。
?
匹配0或1个正好在它之前的那个字符。注意:这个元字符不是所有的软件都支持的。
{i}
{i,j}
匹配指定数目的字符,这些字符是在它之前的表达式定义的。例如正则表达式A[0-9]{3} 能够匹配字符"A"后面跟着正好3个数字字符的串,例如A123、A348等,但是不匹配A1234。而正则表达式[0-9]{4,6} 匹配连续的任意4个、5个或者6个数字字符。注意:这个元字符不是所有的软件都支持的。

 查看全文
lijietz post on :2005.10.07 01:10 ::catagories: ( linux技术 ) ::reads:(799) :: Comments (1) :: 引用 (0)
===========================================================
关于ssh的一些安全设置.
===========================================================

关于ssh的一些安全设置,小记如下.

1) 禁止 root 登陆.(可以用其他用户登陆,然后su过去)

# vi /etc/ssh/sshd_config
PermitRootLogin no

2) 废除密码验证,强制使用rsa验证.


# vi /etc/ssh/sshd_config
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
PasswordAuthentication no


service sshd restart #重启让以上更改生效.

3:关于pubkey文件的安全设置.( 假设vecentli )


# su - vecentli
$ mkdir ~/.ssh 2>/dev/null
$ chmod 700 ~/.ssh
$ touch ~/.ssh/authorized_keys
$ chmod 600 ~/.ssh/authorized_keys


lijietz post on :2005.10.02 13:01 ::catagories: ( linux技术 ) ::reads:(858) :: Comments (0) :: 引用 (0)
===========================================================
关于linux下粘贴位(sticky位).
===========================================================

要删除一个文件,你不一定要有这个文件的写权限,但你一定要有这个文件的上级目录的写权限。也就是说,你即使没有一个文件的写权限,但你有这个文件的上级目录的写权限,你也可以把这个文件给删除,而如果没有一个目录的写权限,也就不能在这个目录下创建文件。


如何才能使一个目录既可以让任何用户写入文件,又不让用户删除这个目录下他人的文件,sticky就是能起到这个作用。stciky一般只用在目录上,用在文件上起不到什么作用。


在一个目录上设了sticky位后,(如/home,权限为1777)所有的用户都可以在这个目录下创建文件,但只能删除自己创建的文件(root除外),这就对所有用户能写的目录下的用户文件启到了保护的作用。

unix教程一书有很详尽的描述.


lijietz post on :2005.08.26 10:52 ::catagories: ( linux技术 ) ::reads:(1132) :: Comments (0) :: 引用 (0)
===========================================================
如何配置NFS.(网络文件夹).
===========================================================

nfs可以有效的在linux下共享文件.

它是一个RPC服务,提供透明、一体化的联机共享文件访问。从用户的角度看,NFS几乎是不可见的,因为共享文件名本身无法表示文件是本地的还是远程的。和Windows下的共享文件使用139端口不同,NFS使用UDP/TCP的2049端口。

我们知道,在Linux下面无论是软盘、光盘还是其他的逻辑驱动器都是需要先mount,然后才能访问该驱动器中的内容,这叫做“安装本地文件系统”,而NFS实际上也是通过安装“文件系统”来实现文件共享的,只不过NFS安装的是“远程文件系统”。对于Linux而言,安装“远程文件系统”与安装“本地文件系统”没有什么区别;对用户来说,他将不会知道自己访问的文件究竟是在本地还是在远程主机上面。

Mount命令的语法是:
mount host:/test /temp/test
其中host是远程Linux主机的机器名,也可以换成IP地址,接下来一个“:”,后面紧跟着的test是远程主机上面允许共享的目录名。/temp/test是本地的一个目录名。


这条命令的意思是:将主机名为host上的test目录安装到本地主机上面的/temp/test目录中,以后只要进入/temp/test就可以访问共享资源了。


任何一台Linux机器即既可以作为NFS 客户也可以作为NFS服务器,也就是说它可以向其他机器输出文件系统,也可以安装其他机器输出的文件系统。拥有实际的物理磁盘并且通过NFS将这个磁盘共享的主机叫NFS文件服务器,通过NFS访问远程文件系统的主机叫NFS客户机。上面的这条mount实际上就是在NFS客户机上所执行的命令,下面我们来看看NFS服务器的配置。假设我们配置的NFS服务器的IP地址是192.168.0.1。
编辑/etc/exports文件 它的格式是:Directory hostname(options)。其中(options)是可选的,比方说“/mnt/test 192.168.0.10”表示允许主机(192.168.0.10) mount /mnt/test目录。
如果后面加上选项,如“/mnt/test 192.168.0.10(ro)anotherhost(rw)”则表示仅仅允许192.168.0.10以只读方式安装/mnt/test,但允许主机名为anotherhost的计算机以读写方式安装/mnt/test,缺省情况下为ro方式。
在编辑exports文件时,有一点要注意,就是hostname不能是本地主机名或者本地主机的IP地址,换句话说,您不能够在单机上进行NFS服务的测试。
启动服务器端 在命令行下面输入rpc.nfsd和rpc.mountd,启动NFS守护进程。这时候用“netstat -a -n”命令就可以看见UDP的2049端口已经开始侦听了。
连接共享资源 在IP地址为192.168.0.10计算机上面进行mount连接,先在该计算机上面建立一个名为/temp/test目录,然后输入命令:
mount 192.168.0.1:/mnt/test /temp/test
这样,一个完整的NFS客户和服务器之间的连接就建立成功了,我们可以用cd进入/temp/test来访问192.168.0.1上面的共享资源了。

相关的一些命令:

showmout命令对于NFS的操作和查错有很大的帮助.


showmout
-a :这个参数是一般在NFS SERVER上使用,是用来显示已经mount上本机nfs目录的cline机器。
-e :显示指定的NFS SERVER上export出来的目录。
例如:
showmount -e 192.168.0.30
Export list for localhost:
/tmp *
/home/linux *.linux.org
/home/public (everyone)
/home/test 192.168.0.100

exportfs命令:
如果我们在启动了NFS之后又修改了/etc/exports,是不是还要重新启动nfs呢?这个时候我们就可以用exportfs命令来使改动立刻生效,该命令格式如下:
exportfs [-aruv]
-a :全部mount或者unmount /etc/exports中的内容
-r :重新mount /etc/exports中分享出来的目录
-u :umount 目录
-v :在 export 的?r候,将详细的信息输出到屏幕上。
具体例子:
[root @test root]# exportfs -rv <==全部重新 export 一次!
exporting 192.168.0.100:/home/test
exporting 192.168.0.*:/home/public
exporting *.the9.com:/home/linux
exporting *:/home/public
exporting *:/tmp
reexporting 192.168.0.100:/home/test to kernel

exportfs -au <==全部都卸载了。


lijietz post on :2005.08.11 10:20 ::catagories: ( linux技术 ) ::reads:(2323) :: Comments (12) :: 引用 (0)
===========================================================
Linux下的环境变量文件。
===========================================================

/etc/profile:

此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.并从/etc/profile.d目录的配置文件中搜集shell的设置.


/etc/bashrc:

为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取.


~/.bash_profile:

每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件.


~/.bashrc:

该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取.


~/.bash_logout:

当每次退出系统(退出bash shell)时,执行该文件.


lijietz post on :2005.07.27 11:50 ::catagories: ( linux技术 ) ::reads:(2372) :: Comments (2) :: 引用 (0)