久一网络科技

久一网络科技是您快速建站的首选,我们提供快速高效的服务:快速建站,服务器运维,整站建设,网络编程,网络安全等。持久的品质保证,始终如一的服务理念,久一网络科技-----您身边的网络专家。 如有需求,请联系:tech@jooyee.net

google了好久,最后搜到了
http://ecmanaut.blogspot.com/2005/08/adding-calendar-navigation-to-your.html(英文)

http://lvchen.blogspot.com/2008/07/blog-post_08.html

上面的相当不错,只要一步就实现了blogger的侧边栏日历功能!

另外我特别崇拜这个blog:
http://huijung.blogspot.com/

另外这里有一个大全:
http://groups.google.com/group/ggpi/web/hack
继续阅读...

跑到 http://twitter.com/badges一路next后得到了一串代码
继续阅读...



我来自于安徽巢湖,一个美丽的乡村,现在就读于江苏徐州的中国矿业大学,我们学校位于风景秀丽的云龙湖岸边。

我是一个ubuntu迷、mcu迷、mac迷,愿意结识更多的兄弟姐妹们!




联系我:
Email:未来机器人科技http://www.robfuture.com我的飞信我的校内网有事你Q我!!




至于我这个博客,主要用来做笔记用的,花了一个多星期整了个模板,自认为不错(我一向很乐观)!

这是我参考的两个模板:

itheme-blogger-template.zip

itheme-techno-blogger-template-2.zip

我这个nestlake.cn的域名是在西部数码申请的,感觉西部数码还是非常值得信任的,客服态度相当不错!




友情链接:

藏拙源代码,包含各个库文件示例

中国诗歌库

程序员联合开发网

全球最大的源代码发布平台

学习单片机OURAVR

学习单片机Robfuture

机器人商店1

机器人商店2

威客中国任务中国猪八戒

我的网络硬盘

校园上网认证




交个朋友:

继续阅读...

一直出现:

Error While Loading diagnostics algorithm to target system

the chip may be secured,or the derivatve selected may be wrong


只要unsecure就行了,注意选择command files选项,然后选择对应芯片的bat文件即可。
继续阅读...


绑定到了blogger上,这是我的证书:
继续阅读...

感谢凌狐的投递
新闻来源:查资料
失败原因:盘符名中含有中文。
解决方法:将中文改为英文就可以了。如,原先为"系统盘(C:)",改为"system(C:)"。其他也是类似的改法。注意,所有的盘符都不可以含有中文!

可能是做wubi的程序员考虑欠周全所致,希望以后的版本不会再这样。

如果你已经双击了wubi,应先清除临时文件,路径为C:\Documents and Settings\Administrator\Local Settings\Temp(假设你的系统盘是C盘,并且是Administrator)。清除后,为了保险起见,重启后再运行wubi。
继续阅读...

google到了下面的方法:

1. 下载grub4dos,将http://download.gna.org/grub4dos/grub4dos-0.4.4.zip复制到浏览器地址栏,开始下载。

2. 解压grub4dos到C盘根目录,把grub4dos下的grub.exe和grldr复制到C盘根目录。

3. 从kubuntu-9.04-desktop-i386.iso中解压出casper文件夹和.disk文件夹到C盘根目录,并将其中的vmlinuz和initrd.gz复制到C盘根目录。

4. 将grub4dos里的menu.lst也放到C盘根目录,修改内容为:

default 0
timeout 12

title ubuntu 9.04 live cd
root (hd0,0)
kernel /vmlinuz boot=casper iso-scan/filename=/ubuntu-9.04-desktop-i386.iso ro quiet splash locale=zh_CN.UTF-8
initrd /initrd.gz
boot

5. 修改C盘根目录下的boot.ini文件,在文件末尾加入下面代码:

C:\grldr=GRUB4DOS

6. 重新启动电脑,在启动菜单选择“ubuntu 9.04 live cd”即可试用。

7. 要安装UBUNTU9.04到硬盘,还要这样设置:

打开一个终端,在里面输入:

sudo umount -l /isodevice
继续阅读...

找到窗口句柄,然后查到对应的lsies程序位置,删除即可
继续阅读...


调试了几天都是这样,用的USPASP,最后发现是熔丝位的问题,晶振换成11.0592MHz,熔丝位如下:
继续阅读...

无法查看这则摘要。请 点击此处查看博文。
继续阅读...

1.先安装LAMP环境
apache2.2-common
PHP5
php5-mysql
请参考此文:http://tienet.blogspot.com/2008/12/ubuntuphp.html

2.安装以下必须的包
autoconf
automake
libtool
m4
php5-dev
make

3. 下载eAccelerator
去eAccelerator官方网站http://eaccelerator.net/下载最新版本的ea,
这里下载的是eaccelerator-0.9.5.3这个版本。

4. 编译安装eAccelerator
解压下载下来的包,并在终端下转到解压后的目录,
接下来执行:
export PHP_PREFIX="/usr"
sudo $PHP_PREFIX/bin/phpize
./configure \
--enable-eaccelerator=shared \
--with-php-config=$PHP_PREFIX/bin/php-config
sudo make
sudo make install

到此,安装完成!

5. 配置php.ini文件
/etc/php5/apache2/php.ini
在php.ini文件里加入:
zend_extension="/usr/lib/php5/20060613+lfs/eaccelerator.so"(20060613 <---這個可能會不一樣,請自行修改,蓝字不要添加。)
eaccelerator.shm_size="16"
eaccelerator.cache_dir="/tmp/eaccelerator"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="0"
eaccelerator.shm_prune_period="0"
eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"

6. 建立cache的目录
sudo mkdir /tmp/eaccelerator
sudo chmod 0777 /tmp/eaccelerator

7.重启apache2
sudo /etc/init.d/apache2 restart

8. 参考文章
http://forum.ubuntu.org.cn/viewtopic.php?f=86&t=51538&view=previous
http://www.alan888.com/Discuz/viewthread.php?tid=157049
继续阅读...

我的方法:
modprobe ip_nat_ftp
modprobe ip_conntrack_ftp
加两个模块

这里有个百度HI的方法(没有测试):
ftp服务的搭建之vsftpd的配置(解决外网无法访问的问题)

原因为FTP被动模式的设置问题,于是修改/etc/vsftpd.conf
将如下内容加入:
pasv_enable=YES
pasv_min_port=50000
pasv_max_port=50009
pasv_address=116.xxx.61.xxx(外网地址)
重启服务:/etc/init.d/vsftpd restart
顺利登陆。。。

以下是解释:
FTP协议有两种工作方式:PORT方式和PASV方式,中文意思为主动式和被动式。


Port模式:
ftp server:tcp 21 <------client:dynamic
ftp server:tcp 20 ------>client:dynamic

Pasv模式:
ftp server:tcp 21 <----client:dynamic
ftp server:tcp dynamic <----client:dynamic


PORT(主动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时,客户端在命令链路上用PORT命令告诉服务器:“我打开了XXXX端口,你过来连接我”。于是服务器从20端口向客户端的XXXX端口发送连接请求,建立一条数据链路来传送数据。

PASV(被动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时,服务器在命令链路上用PASV命令告诉客户端:“我打开了XXXX端口,你过来连接我”。于是客户端向服务器的XXXX端口发送连接请求,建立一条数据链路来传送数据。
继续阅读...

修改\templates\default\header.htm的28行中的"$indexname"为自定义链接就好了

下面为28行原代码


继续阅读...

本草药王的李诗韵:

少林四大名捕:

布衣神相的:


金装四大才子的秋香:

继续阅读...

for %1 in (%windir%\system32\*.dll) do regsvr32.exe /s %1
继续阅读...

过一天的努力终于在今天中午实现了远程登录ubuntu,现在把步骤写一些
我用的是ubuntu8.10,
先配置了/etc/gdm/gdm.conf-custom,找到下边的信息
[security]
DisallowTCP=false
[xdmcp]
Enable=1
Port=177

在windows下安装xmanager 和Putty.用putty登录。
我把Ubuntu上ssh也开了,方式为:
sudo apt-get install openssh-server
sudo /etc/init.d/ssh restart
ssh localhost
然后用putty就可以了
继续阅读...

在ubuntu8.10上设置虚拟主机时候,把配置文件/etc/apache2/aspache2.conf删除掉几行,原文件没有备份,重起apache服务一直报错:

root@ubuntu8110:/etc/apache2# service apache2 restart

* Stopping web server apache2

apache2: Could not reliably determine the server’s fully qualified domain name, using 203.86.2.51 for ServerName

…done.
网上找到解决办法:root@ubuntu8110:/etc/apache2# echo ServerName localhost >> httpd.conf
root@ubuntu8110:/etc/apache2# service apache2 stop
* Stopping web server apache2
…done.
root@ubuntu8110:/etc/apache2# service apache2 start
* Starting web server apache2
…done.
或者:
之前不知道從什麼時候開始,apache2每次啟動都會出現下面的錯誤訊息:
apache2: Could not reliably determine the server’s fully qualified domain name,using xxx.xxx.xxx.xx for ServerName
由於網站還能正常運作,所以就不管它了,
剛剛又在我的email當中發現系統發出的警告信…很煩耶,每次出現錯誤訊息就發一次,實在是煩死人了,
於是就打開了/etc/apache2/apache2.conf,
在裡面加入了一行:
ServerName www.OOXX.edu.tw
再重新apache2ctl restart 看看,果然沒有再出現錯誤訊息囉^^
关于ubuntu配置文件

严格地说,Ubuntu的Apache(或者应该说Linux下的Apache?我不清楚其他发行版的apache软件包)的配置文件是 /etc/apache2/apache2.conf,Apache在启动时会自动读取这个文件的配置信息。而其他的一些配置文件,如 httpd.conf等,则是通过Include指令包含进来。在apache2.conf中可以找到这些Include行:

引用

# Include module configuration:
Include /etc/apache2/mods-enabled/*.load
Include /etc/apache2/mods-enabled/*.conf

# Include all the user configurations:
Include /etc/apache2/httpd.conf

# Include ports listing
Include /etc/apache2/ports.conf
……
# Include generic snippets of statements
Include /etc/apache2/conf.d/

# Include the virtual host configurations:
Include /etc/apache2/sites-enabled/
结合注释,可以很清楚地看出每个配置文件的大体作用。当然,你完全可以把所有的设置放在apache2.conf或者httpd.conf或者任何一个配置文件中。Apache2的这种划分只是一种比较好的习惯。

安装完Apache后的最重要的一件事就是要知道Web文档根目录在什么地方,对于Ubuntu而言,默认的是/var/www。怎么知道的呢?apache2.conf里并没有DocumentRoot项,httpd.conf又是空的,因此肯定在其他的文件中。经过搜索,发现在/etc /apache2/sites-enabled/000-default中,里面有这样的内容:

引用

NameVirtualHost *
*VirtualHost **
ServerAdmin webmaster@localhost

DocumentRoot /var/www/
……
继续阅读...

http://filehost.googlecode.com/files/setup_Server.doc
继续阅读...

所需套件
openwebmail libcompress-zlib-perl

建議安裝套件
apache-ssl

微調 OpenWebmail
OpenWebmail 的設定檔位於 /etc/openwebmail/openwebmail.conf,建議修改其中的 domainnames 及 default_signature 區段:

(上略)
domainnames virtual.com


--
Open WebMail Project (http://openwebmail.org)
Debian Project (http://www.debian.org)

(下略)


修改 /etc/apache/httpd.conf,讓 Apache 不會傳送 Default Charset 資訊給 Client:

(上略)
# Default charset to iso-8859-1 (http://www.apache.org/info/css-security/).

AddDefaultCharset off
(下略)


在 Apache 上設定 Virtual Hosts
在安裝好 OpenWebmail 之後,直接以 Web Browser 連上 http://localhost/openwebmail/ 即可進入 Open Web Mail 畫面,但這個網址可不好記!所以我們可以使用 Apache 的 Name-based Virtual Host 功能,讓使用 www.domain.com 時可以連接上一般的 Web 畫面,但使用 mail.domain.com 時可以進入 Open Web Mail 畫面。方法是修改 /etc/apache/httpd.conf 如下:

(上略)
### Section 3: Virtual Hosts
#
# VirtualHost: If you want to maintain multiple domains/hostnames on your
# machine you can setup VirtualHost containers for them.
# Please see the documentation at
# for further details before you try to setup virtual hosts.
# You may use the command line option '-S' to verify your virtual host
# configuration.

# 宣告虛擬網站所使用的 IP 位址
NameVirtualHost 192.168.1.4

# 宣告虛擬網站

DocumentRoot /var/www
ServerName www.domain.com
ErrorLog /var/log/apache/www.domain.com-error.log
CustomLog /var/log/apache/www.domain.com-access.log common


# 宣告虛擬網站

DocumentRoot /usr/share/openwebmail/www
ServerName mail.domain.com
ErrorLog /var/log/apache/mail.domain.com-error.log
CustomLog /var/log/apache/mail.domain.com-access.log common


# Automatically added by the post-installation script
# as part of the transition to a config directory layout
# similar to apache2, and that will help users to migrate
# from apache to apache2 or revert back easily
Include /etc/apache/conf.d
Include /etc/openwebmail/apache.conf
在 Apache 上設定 Virtual Hosts over SSL
方法也是類似,修改 /etc/apache-ssl/httpd.conf 如下:

(上略)
### Section 3: Virtual Hosts
#
# VirtualHost: If you want to maintain multiple domains/hostnames on your
# machine you can setup VirtualHost containers for them.
# Please see the documentation at
# for further details before you try to setup virtual hosts.
# You may use the command line option '-S' to verify your virtual host
# configuration.

# 宣告虛擬網站所使用的 IP 位址
NameVirtualHost 192.168.1.4

# 宣告虛擬網站

DocumentRoot /var/www
ServerName www.virtual.com
SSLEnable
ErrorLog /var/log/apache/www.virtual.com-ssl-error.log
CustomLog /var/log/apache/www.virtual.com-ssl-access.log common


# 宣告虛擬網站

DocumentRoot /usr/share/openwebmail/www
ServerName mail.virtual.com
SSLEnable
ErrorLog /var/log/apache/mail.virtual.com-ssl-error.log
CustomLog /var/log/apache/mail.virtual.com-ssl-access.log common


# Automatically added by the post-installation script
# as part of the transition to a config directory layout
# similar to apache2, and that will help users to migrate
# from apache to apache2 or revert back easily
Include /etc/apache/conf.d
Include /etc/openwebmail/apache.conf
继续阅读...

无法查看这则摘要。请 点击此处查看博文。
继续阅读...

【from】www.mlives.cn
最近把整站从apache升级到了nginx,客户的站点大概有30台服务器大部分架构位tomcat+apache,只有一个php页面
一下是我升级遇到的几个问题的注意点

1.
当我们去访问服务器上的一个目录时候,他不会自动加上一个/ ,浏览器会给出改页无法打开的错误,这个时候浏览器去取的地址实际上是upstream中所写的地址和端口或如果没有使用upstream时 当使用localhost做servername时候 浏览器会去访问http://127.0.0.1/dir。
解决办法
在每个虚拟主机的server定义中加上
if (-d $request_filename) {
rewrite ^/(.*)([^/])$ http://$host/$1$2/ permanent;
}
注意 root字段的定义也一定要出现在server中 如果server中没有定义root 错误还将存在
例子:
server {
listen 800;
server_name www.1.com;
root /opt/1-index; //这边定义了 就会在目录访问的时候加上/ 如果这边没有定义这个 上面的url重写依然不会生效
include vhost/alias.conf;
include vhost/proxy.conf;
if (-d $request_filename) {
rewrite ^/(.*)([^/])$ http://$host/$1$2/ permanent;
}
error_page 405 =200 @405;
location @405 {
proxy_pass http://PROXY_STATIC;
}
location / {
root /opt/1-index; //只在这边定义是没有用的,这边甚至可以不做定义
rewrite ^/(\d+)\.home$ /index.html?userId=$1 last;
index index.html index.htm;
}

2.url重写的注意事项:
原有的url支持正则 重写的url不支持正则
rewrite ^/(\d+)\.home$ /index.html?userId=$1 last;
这个重写中 ^/(\d+)\.home$ 这部分支持正则
而/index.html?userId=$1
不要用正则 也不匹配正则 /index.html?*userId=$1 这样他就会去找.html?*userId=$1这个url 然后给你个404 not found

3.post方式去访问静态文件
Apache、IIS、Nginx等绝大多数web服务器,都不允许静态文件响应POST请求,否则会返回“HTTP/1.1 405 Method not allowed”错误。(但是之前程序在apache上跑 没问题)
如果有这个需求呢 就要做如下配置了
error_page 405 =200 @405;
location @405 {
proxy_pass http://PROXY_STATIC;
# root /usr/local/nginx/html;
}
把所有405错误重定向成200 然后吧所有405错误的请求全部交给一个代理去执行
或者写上本地路径,因为我的路径比较多 所以重定向请求到一台web服务器上了

4.。关于防盗链
1.com的需求是 不是从本来来的请求给除一个403
因为在虚拟主机里配置毫无作用 可能是我们用的是虚拟目录的缘故
所以我们直接对目录做的防盗链
在alias里
别名配置
location /res/ {
alias /opt/Src/;
valid_referers none blocked server_names *.1.com ;
if ($invalid_referer) {
return 403;
}
}

5,关于动态请求转发
location ~ ^/login/(.*\.do)$ {
proxy_pass http://login ;
proxy_set_header X-Real-IP $remote_addr;
}
~ ^/login/(.*\.do)$ 这个表示 凡是匹配/login/ 下 .do的都转发到一个upstream池里处理 这里的$符号并不起多大作用 只要是有.do的他会全部转 并不是以.do结尾的才转

6.关于php上传文件大小的问题
只改php里的配置是没有用的
需要更改的地方还有nginx的配置

client_max_body_size 10M;
他的默认值是1M;

以上就是基本的注意点
继续阅读...

一下文章从网上转来,很好,收藏一下:

我希望从零开始制作出一个自己的Deb包,意思是连软件的源码都是自己写的,类似于deb from scratch吧,那么这样的一个制作过程大致由三部分构成:
1 源码的编写和测试
2 使用autotools工具生成符合Gnu编程标准的相关文件,如configure,makefile等。
3 按照Debian的方式制作Deb包文件

现在我编写了一个小软件hb-0.01,意思是hyperbolic,是自己写的一个双曲函数和反双曲函数的小软件,总共只有三个文件,在/home/wen1/hb-0.01/目录下,整个制作hb软件的deb包的过程为:

第一步:源码编写
这个步骤由用户自己编写,我的小软件总共只有三个文件,一个是头文件,一个是函数实现的C文件,还有一个主程序C文件,系统显示为:

wen1@lenny:~/hb-0.01$ ls -l
total 12
-rw-r--r-- 1 wen1 wen1 140 2008-01-26 15:17 bolic.h
-rw-r--r-- 1 wen1 wen1 369 2008-01-26 15:17 boliclib.c
-rw-r--r-- 1 wen1 wen1 300 2008-01-26 15:17 hb.c

第二步:使用Autotools工具生成所有符合Gnu编程标准的配置文件等。
这个过程的步骤比较多,具体来说,包括有:
1 使用autoscan命令来生成一个configure的模板文件。系统操作为:

wen1@lenny:~/hb-0.01$ autoscan
wen1@lenny:~/hb-0.01$ ls -l
total 16
-rw-r--r-- 1 wen1 wen1 0 2008-01-26 15:25 autoscan.log
-rw-r--r-- 1 wen1 wen1 140 2008-01-26 15:17 bolic.h
-rw-r--r-- 1 wen1 wen1 369 2008-01-26 15:17 boliclib.c
-rw-r--r-- 1 wen1 wen1 484 2008-01-26 15:25 configure.scan
-rw-r--r-- 1 wen1 wen1 300 2008-01-26 15:17 hb.c

可以看到现在生成了一个configure.scan文件。

2 将configure.scan文件改名为configure.in,并进行相应的修改,我的是:

AC_PREREQ(2.61)
AC_INIT(hb, 0.01, wenheping@tom.com)
AM_INIT_AUTOMAKE(hb,0.01)
# Checks for programs.
AC_PROG_CC
# Checks for libraries.
# Checks for header files.
# Checks for typedefs, structures, and compiler characteristics.
# Checks for library functions.
AC_CHECK_FUNCS([sqrt])
AC_OUTPUT(Makefile)

一般来说,这里只有AC_INIT、AC_OUTPUT、AM_INIT_AUTOMAKE三个参数需要根据自己的情况修改一下,其他自动生成的东西不动。

3执行命令aclocal和autoconf,生成configure文件:

wen1@lenny:~/hb-0.01$ aclocal
wen1@lenny:~/hb-0.01$ autoconf
wen1@lenny:~/hb-0.01$ ls -l
total 184
-rw-r--r-- 1 wen1 wen1 31848 2008-01-26 15:36 aclocal.m4
drwxr-xr-x 2 wen1 wen1 4096 2008-01-26 15:36 autom4te.cache
-rw-r--r-- 1 wen1 wen1 0 2008-01-26 15:25 autoscan.log
-rw-r--r-- 1 wen1 wen1 140 2008-01-26 15:17 bolic.h
-rw-r--r-- 1 wen1 wen1 369 2008-01-26 15:17 boliclib.c
-rwxr-xr-x 1 wen1 wen1 130126 2008-01-26 15:36 configure
-rw-r--r-- 1 wen1 wen1 434 2008-01-26 15:35 configure.in
-rw-r--r-- 1 wen1 wen1 300 2008-01-26 15:17 hb.c

可以看到现在生成了configure文件。

4新建Makefile.am文件,再由automake工具根据所写的Makefile.am文件来自动生成Makefile.in文件。
Makefile.am文件一般定义自己的软件最后生成的可执行程序名字、需要连接的库等,我的该文件内容为:

AUTOMAKE_OPTIONS=foreign #
bin_PROGRAMS=hb # 最后生成的可执行文件的名字
hb_SOURCES=hb.c bolic.h boliclib.c # 所有的源码文件
LIBS = -lm # 需要连接math库

然后用automake生成Makefile.in文件,为了符合规范,先:

wen1@lenny:~/hb-0.01$ touch NEWS README AUTHORS ChangeLog

然后的系统显示为:

wen1@lenny:~/hb-0.01$ automake --add-missing
wen1@lenny:~/hb-0.01$ ls
aclocal.m4 bolic.h configure.in INSTALL missing
AUTHORS boliclib.c COPYING install-sh NEWS
autom4te.cache ChangeLog depcomp Makefile.am README
autoscan.log configure hb.c Makefile.in

5执行configure生成Makefile
这一步很简单,生成Makefile之后,还可以使用一些其他的make命令,如make clean,make install,make dist,看看它们会给你什么样的效果。

以上的例子很简单,更为复杂的Autotools的运用和Makefile的编写等内容请参照:
http://www.gnu.org/software/autoconf/ (最权威的了)
http://sourceware.org/autobook/ (很详细的一本书)
http://www.lrde.epita.fr/~adl/autotools.html (这个演示文稿做得相当不错)

第三步:生成Deb包。
生成deb包,有两种方法,一种很简单,直接在软件源码目录内运行checkinstall再回答几个简单的问题就可以了,但一般不推荐使用该办法;二是按照Debian的New Maintainer Guide一步一步制作deb包,详细的过程请参照:
http://www.debian.org/doc/maint-guide/

我的制作过程大致为:
1 下载安装必须的软件:
#apt-get install build-essential dpkg-dev dh-make debhelper fakeroot gnupg lintian Linda pbuilder

2 生成tar.gz文件并把该文件移动到源码的父目录:
wen1@lenny:~/hb-0.01$ make dist
wen1@lenny:~/hb-0.01$ mv hb*.gz ../

3运行dh_make命令。

wen1@lenny:~/hb-0.01$ dh_make -e wenheping@tom.com -f ../hb-0.01.tar.gz

运行该命令之后,原来的软件包将会被打包为hb-0.01.orig.tar.gz并放在父目录中,注意文件名中包名称和版本是以_分割的而且tar.gz之前有orig.。

4 修改Makefile、control等文件。
Debian要求可执行文件不能安装在/usr/local目录下,所以然后要检查Makefile文件的相应的安装位置,我的这个小软件本来就是安装在/usr/bin下,所以不用修改Makefile文件。
至于control copyright等文件,如果只是自己做一个自己用的deb包文件,不改也可以,但是如果是为Debian做的准备上传到Debian apt源中的话,就要按照规范认真地填写。

5 生成deb包文件,我是这样的:
wen1@lenny:~/hb-0.01$ ./configure
wen1@lenny:~/hb-0.01$ make
wen1@lenny:~/hb-0.01$ dpkg-buildpackage –rfakeroot

这样,我的hb软件的deb包文件及其他相关文件就生成了---但是生成于源码目录的父目录中。
继续阅读...

版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
http://ranfow.blogbus.com/logs/31652444.html



Nginx以其良好的并发性能,目前正在逐渐取代Apache成为大家的Web server首选,但是Nginx目前的中文资料很少,需要大家努力贡献。

下面我介绍一下Nginx的Rewrite模块设置及Wordpress和Discuz的示例。Nginx的Rewrite规则比Apache的简单灵活多了,从下面介绍可见一斑。

首先,Nginx可以用if进行条件匹配,语法规则类似C,举例如下:

if ($http_user_agent ~ MSIE) {
rewrite ^(.*)$ /msie/$1 break;
}

1、正则表达式匹配,其中:

•~ 为区分大小写匹配
•~* 为不区分大小写匹配
•!~和!~*分别为区分大小写不匹配及不区分大小写不匹配
2、文件及目录匹配,其中:

•-f和!-f用来判断是否存在文件
•-d和!-d用来判断是否存在目录
•-e和!-e用来判断是否存在文件或目录
•-x和!-x用来判断文件是否可执行
如:

if (!-f $request_filename) {
proxy_pass http://127.0.0.1/;
}

其次,Nginx的Rewrite规则与Apache几乎完全一致,所不同的是最后的flag标记,举例如下:

rewrite ^/feed/$ http://feed.shunz.net/ last;

flag标记有:

•last 相当于Apache里的[L]标记,表示完成rewrite,不再匹配后面的规则
•break 与last类似
•redirect 返回302临时重定向
•permanent 返回301永久重定向
Wordpress的重定向规则:

if (!-e $request_filename) {
rewrite ^/(index|atom|rsd)\.xml$ http://feed.shunz.net/ last;
rewrite ^([_0-9a-zA-Z-]+)?(/wp-.*) $2 last;
rewrite ^([_0-9a-zA-Z-]+)?(/.*\.php)$ $2 last;
rewrite ^ /index.php last;
}

Discuz!的重定向规则:

if (!-f $request_filename) {
rewrite ^/archiver/((fid|tid)-[\w\-]+\.html)$ /archiver/index.php?$1 last;
rewrite ^/forum-([0-9]+)-([0-9]+)\.html$ /forumdisplay.php?fid=$1&page=$2 last;
rewrite ^/thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ /viewthread.php?tid=$1&extra=page%3D$3&page=$2 last;
rewrite ^/space-(username|uid)-(.+)\.html$ /space.php?$1=$2 last;
rewrite ^/tag-(.+)\.html$ /tag.php?name=$1 last;
}
继续阅读...

版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
http://ranfow.blogbus.com/logs/31652383.html



由于Ubuntu 8.10已经包含了nginx,所以根本不要编译,安装超简单!

运行:
sudo apt-get install nginx
即可完成安装

启动nginx:
sudo /etc/init.d/nginx start
然后就可以访问了,http://localhost/ , 一切正常!如果不能访问,先不要继续,看看是什么原因,解决之后再继续。

下面配置php和mysql。
安装php和MySQL:
sudo apt-get install php5-cli php5-cgi mysql-server-5.0 php5-mysql

我们需要/usr/bin/spawn-fcgi这个文件,而它是属于lighttpd这个包里面的,所以我们安装lighttpd然后把它设置为开机不启动:
sudo apt-get install lighttpd #我们只要/usr/bin/spawn-fcgi
sudo rcconf #去掉lighttpd开机自启动
如果没有安装rcconf工具就运行
sudo update-rc.d -f lighttpd remove #去掉lighttpd开机自启动

修改nginx的配置文件:/etc/nginx/sites-available/default
修改 server_name localhost ;
修改index的一行修改为:
index index.php index.html index.htm;
去掉下面部分的注释:
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000
fastcgi_index index.php
fastcgi_param SCRIPT_FILENAME /var/www/nginx-default$fastcgi_script_name
include /etc/nginx/fastcgi_params
}

重新启动nginx:
sudo /etc/init.d/nginx restart

启动fastcgi php:
sudo spawn-fcgi -a 127.0.0.1 -p 9000 -C 10 -u www-data -f /usr/bin/php-cgi
注意:ip,端口与nginx服务器中的cgi-pass要对应. -C表示打开几个cgi进程,-u表示用户

为了让php-cgi开机自启动:
打开修改/etc/init.d/nginx文件
sudo gedit /etc/init.d/nginx
添加或修改相应位置:
case "$1" in
start)
echo -n "Starting $DESC: "
start-stop-daemon --start --quiet --pidfile /var/run/$NAME.pid \
--exec $DAEMON -- $DAEMON_OPTS
echo "$NAME."
/usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -C 10 -u www-data -f /usr/bin/php-cgi
;;
stop)
echo -n "Stopping $DESC: "
start-stop-daemon --stop --quiet --pidfile /var/run/$NAME.pid \
--exec $DAEMON
echo "$NAME."
pkill -9 php-cgi
;;
restart|force-reload)
echo -n "Restarting $DESC: "
start-stop-daemon --stop --quiet --pidfile \
/var/run/$NAME.pid --exec $DAEMON
pkill -9 php-cgi
sleep 1
start-stop-daemon --start --quiet --pidfile \
/var/run/$NAME.pid --exec $DAEMON -- $DAEMON_OPTS
echo "$NAME."
/usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -C 10 -u www-data -f /usr/bin/php-cgi
;;

保存后测试一下
sudo /etc/init.d/nginx start

然后浏览器访问http://localhost/

在/var/www/nginx-default/目录下创建一个文件:
echo '< ?phpinfo()?>' > /var/www/nginx-default/index.php

看看PHP能否正常工作

添加VirtualHost
// 添加以下代码
server {
listen 80;
server_name nbprojects;
location / {
root /NetBeansProjects/PHP/;
index index.php index.html index.htm;
}
}

添加rewrite规则
location / {
root /var/www/www.test-zend.com/;
index index.php;
// 添加以下代码
if (!-f $request_filename){
rewrite ^(.*)$ /index.php last;
}
}
ps:为了忽略某个目录(即等同于apache中的RewriteEngine off),你需要特别指定该目录,如:
location /include/FCKeditor/ {
root /media/store/Programming/NetBeansProjects/PHP/MyBlog/;
index index.php;
}

显示目录:
在server中添加 autoindex on;
继续阅读...

1、首先安装nginx
在UBUNTU下只需在终端打个命令
#sudo apt-get install nginx
之后启动 #sudo /etc/init.d/nginx start
然后设置fastcgi_params文件
#sudo gedit /etc/nginx/fastcgi_params

修改如下
#fastcgi_params
fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param SERVER_SOFTWARE nginx;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param DOCUMENT_URI $document_uri;
fastcgi_param DOCUMENT_ROOT $document_root;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param REMOTE_PORT $remote_port;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;
# PHP only, required if PHP was built with –enable-force-cgi-redirect
fastcgi_param REDIRECT_STATUS 200;

接下来在nginx的配置中针对php文件配置其利用FastCGI进程来执行:
#sudo gedit /etc/nginx/sites-available/default

server {
listen 80;
server_name localhost;

access_log /var/log/nginx/localhost.access.log;

location / {
root /var/www/nginx-default;
index index.php index.html index.htm;
}

location /doc {
root /usr/share;
autoindex on;
allow 127.0.0.1;
deny all;
}

location /images {
root /usr/share;
autoindex on;
}

#error_page 404 /404.html;

# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /var/www/nginx-default;
}

# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
#proxy_pass http://127.0.0.1/;
#}

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;

include /etc/nginx/fastcgi_params;
fastcgi_param SCRIPT_FILENAME /var/www/nginx-default$fastcgi_script_name;
}

# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
#deny all;
#}
}

通知Nginx重新载入配置:

#sudo /etc/init.d/nginx reload


2、安装PHP5-cgi和mysql
#sudo apt-get install php-pear php5-cli php5-common php5-xcache php5-cgi php5-mysql php5-gd
#sudo apt-get install mysql-server mysql-client

接下来配置PHP文件
#sudo gedit /etc/php5/cgi/php.ini
打开cgi.fix_pathinfo选项:
cgi.fix_pathinfo=1;
这样php-cgi方能正常使用SCRIPT_FILENAME这个变量。

3、配置PHP进程
利用Lighttpd的spawn-fcgi来控制进程的运行。获得spawn-fcgi的方法如下:
wget http://www.lighttpd.net/download/lighttpd-1.4.18.tar.bz2 #获取Lighttpd的源码包
tar -xvjf lighttpd-1.4.18.tar.bz2
cd lighttpd-1.4.18
./configure #编译
make
#sudo cp src/spawn-fcgi /usr/local/bin/spawn-fcgi #取出spawn-fcgi的程序
#sudo chomd 755 /usr/local/bin/spawn-fcgi

下面我们就可以使用 spawn-fcgi 来控制php-cgi的FastCGI进程了

/usr/local/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -C 5 -u www-data -g www-data -f /usr/bin/php-cgi

参数含义如下


-f 指定调用FastCGI的进程的执行程序位置,根据系统上所装的PHP的情况具体设置
-a 绑定到地址addr
-p 绑定到端口port
-s 绑定到unix socket的路径path
-C 指定产生的FastCGI的进程数,默认为5(仅用于PHP)
-P 指定产生的进程的PID文件路径
-u和-g FastCGI使用什么身份(-u 用户 -g 用户组)运行,Ubuntu下可以使用www-data,其他的根据情况配置,如nobody、apache等

然后我们可以将这行代码加入到/etc/rc.local文件底部,这样系统启动的时候也可以同时启动PHP的FastCGI进程。

注意:ip,端口与nginx服务器中的cgi-pass要对应. -C表示打开几个cgi进程,-u表示用户

为了让php-cgi开机自启动:
打开修改/etc/init.d/nginx文件
sudo gedit /etc/init.d/nginx
添加或修改相应位置:
case "$1" in
start)
echo -n "Starting $DESC: "
start-stop-daemon --start --quiet --pidfile /var/run/$NAME.pid \
--exec $DAEMON -- $DAEMON_OPTS
echo "$NAME."
/usr/local/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -C 5 -u www-data -g www-data -f /usr/bin/php-cgi
;;
stop)
echo -n "Stopping $DESC: "
start-stop-daemon --stop --quiet --pidfile /var/run/$NAME.pid \
--exec $DAEMON
echo "$NAME."
pkill -9 php-cgi
;;
restart|force-reload)
echo -n "Restarting $DESC: "
start-stop-daemon --stop --quiet --pidfile \
/var/run/$NAME.pid --exec $DAEMON
pkill -9 php-cgi
sleep 1
start-stop-daemon --start --quiet --pidfile \
/var/run/$NAME.pid --exec $DAEMON -- $DAEMON_OPTS
echo "$NAME."
/usr/local/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -C 5 -u www-data -g www-data -f /usr/bin/php-cgi
;;

保存后测试一下
sudo /etc/init.d/nginx start


OK,到这里就完全配置好了
我都经过几次失败的旅程才完成的
希望能帮到大家有需要的人
继续阅读...

Quick Linux Server Installation:

Apache + MySQL + PHP + PhpMyAdmin + Webalizer + Mail Server (Postfix/Dovecot) + SquirrelMail + FTP Server (VSFtp) + ClamAV (Antivirus) + Webmin + IPTables Firewall + PHP-MySQL-Apache Server Kits

见附件:

http://filehost.googlecode.com/files/serverLinux.doc
继续阅读...

apt-get install vsftpd

遇到几个问题:

如何改变ftp目录:
mount --bind olddir newdir

有哪几个用户可以用:
1. nobody (cannot change password)
2. ftp
3. anonymous
4. 登录ubuntu的用户

我估计nobody是测试用的,是没法登陆的。

如何上传文件:
mkdir /home/ftp/pub
chmod 777 /home/ftp/pub

最主要的东西,vsftpd配置文件:
http://filehost.googlecode.com/files/vsftpd.conf

改变vsftpd的根目录:
修改ftp的根目录只要修改/etc/vsftpd/vsftpd.conf文件即可:

加入如下两行:
local_root=/var/www/html
chroot_local_user=YES
anon_root=/var/www/html
注:local_root 针对系统用户;anon_root 针对匿名用户。

重新启动服务:
service vsftpd restart

任何一个用户ftp登录到这个服务器上都会chroot到/var/www/html目录下。

解决vsftpd登陆慢卡的问题
在使用vsftpd的过程中,一直以来都有一个问题就是在ftp用户登陆验证的时候总是很慢,最长的时候可能会有一分多钟。

换过各种vsftp的配置方式虚拟用户,使用MySQL、文本等等,都没有根本的解决。今天给一台测试机器装vsftp,再次遇到这个问题,在历经千辛万苦之后终于找的了其中的原因。

修改服务器上的/etc/resolv.conf令其内容只有类似

nameserver 219.150.32.132
nameserver 202.96.69.38出现问题的机器的resolv.conf中总是含有localhost或者127.0.0.1这样的地址。也就是说当客户端连接服务器时,服务器会执行一个DNS查找,来确认域名,如果所用DNS解析不到,会等到超时为止。


一个高手的vsftpd的配置文件:
http://filehost.googlecode.com/files/vsftpd%E5%8F%A6%E4%B8%80%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6.txt
继续阅读...

见附件:

http://filehost.googlecode.com/files/webmail.doc
继续阅读...

先安装好postfix,这里有一篇文章:
http://filehost.googlecode.com/files/postfix.doc

然后看这个:

http://filehost.googlecode.com/files/postfix%2Bcourier.doc


遇到的问题:

/etc/postfix/main.cf

# See /usr/share/postfix/main.cf.dist for a commented, more complete version
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
biff = no
# appending .domain is the MUA's job.
append_dot_mydomain = no
# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h
myhostname = xxx.com
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = xxx.com,localhost
relayhost =
mynetworks = 127.0.0.0/8
#home_mailbox = Maildir/
mail_spool_directory = /var/spool/mail
mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
inet_protocols = all
smtpd_sasl_local_domain =
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination
smtpd_tls_auth_only = no
smtp_use_tls = yes
smtpd_use_tls = yes
smtp_tls_note_starttls_offer = yes
smtpd_tls_key_file = /etc/postfix/ssl/smtpd.key
smtpd_tls_cert_file = /etc/postfix/ssl/smtpd.crt
smtpd_tls_CAfile = /etc/postfix/ssl/cacert.pem
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
tls_random_source = dev:/dev/urandom



554 5.7.1 *fmaster@xxx.com*: Recipient address rejected: Access denied
----主要原因是smtpd_recipient_restrictions选项不对,设置成上面的就OK了!!!

550 not local host not a gateway postfix----mx记录与url转发冲突了


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
求助OpenWebMail 无法自动收邮件
研究了一个下午终于弄明白.晕死了.原来是 openwebmail 不支持maildir格式收邮件.只支持 mbox格式
把Postfix+Dovecot+Openwebmail 三者个格式统一下就行了
1.postfix 配置 main.cf
mail_spool_directory = /var/spool/mail
2.Dovecot 配置 Dovecot.conf
mail_location = mbox:~/mail:INBOX=/var/spool/mail/%u
3.Openwebmail.conf
mailspooldir /var/spool/mail


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Exmail+Postfix修改邮件附件大小收藏
目的使由 Exmail+Postfix 搭建的邮件系统能上传50M的附件
1. 修改/etc/php.ini max_execution_time = 30 #改为60 (增加处理脚本的时间限制)
memory_limit = 8M #改为50M (这样才能发10M的附件)
post_max_size = 2M #改为50M
upload_max_filesize = 2M #改为50M
2. 修改/etc/httpd/conf.d/php.conf *Files *.php*;
SetOutputFilter PHP
SetInputFilter PHP
LimitRequestBody 524288 #把524288改为51200000
+/Files+;
这里的 LimitRequestBody 524288 限定了上传附件的上限为512k, 将其改为50M
3. 修改/etc/postfix/main.cf, 添加如下语句: message_size_limit = 69120000
postfix的默认值是10M, 但这指的是邮件正文和编码后附件的总和, 经过base64编码,附件的大小会增加35%左右, 因此这里设定可接受邮件的大小为69M
可以使用如下命令查看postfix的有关设定:
# /usr/sbin/postconf | grep size
4. 修改/var/www/extsuite/extmail/webmail.cfSYS_MESSAGE_SIZE_LIMIT = 512000005. 重起apache和postfix.


现在觉得还是squirrel配dovecot,然后openwebmail配courier比较好,呵呵

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

ERROR: Connection dropped by IMAP server.

可以先创建一个用户(这里的用户是指在装好了邮件系统后),然后用这个用户给其发个邮件,这样就行了也可以这样:

echo hello? | sendmail user@domain

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

关于squirrelmail的username error估计是字符编码的问题

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/etc/init.d/mysqld restart

出现not cleanly closed等属于正常现象
继续阅读...

今天突然发现的,其实换成ftp就行了,有人说是apt的http重定向bug,下面是我现在的源:

deb ftp://mirror.lupaworld.com/ubuntu intrepid main restricted universe multiverse
deb ftp://mirror.lupaworld.com/ubuntu intrepid-security main restricted universe multiverse
deb ftp://mirror.lupaworld.com/ubuntu intrepid-updates main restricted universe multiverse
deb ftp://mirror.lupaworld.com/ubuntu intrepid-backports main restricted universe multiverse
deb ftp://mirror.lupaworld.com/ubuntu intrepid-proposed main restricted universe multiverse
deb-src ftp://mirror.lupaworld.com/ubuntu intrepid main restricted universe multiverse
deb-src ftp://mirror.lupaworld.com/ubuntu intrepid-security main restricted universe multiverse
deb-src ftp://mirror.lupaworld.com/ubuntu intrepid-updates main restricted universe multiverse
deb-src ftp://mirror.lupaworld.com/ubuntu intrepid-backports main restricted universe multiverse
deb-src ftp://mirror.lupaworld.com/ubuntu intrepid-proposed main restricted universe multiverse
继续阅读...


大家看看google在干什么?!!!
http://www.google.cn/intl/zh-CN/google_pigeon/index.html

我没话说了,只能是佩服google。。。

不过今天是愚人节,不知道google是不是在跟我们开玩笑呢?
继续阅读...

关注者

热门帖子

网页浏览总次数