Category Archives: cms

【佛山云主机】Cpanel中Mysql数据库使用汇总

如果你不了解什么是Cpanel,请前往:什么是Cpanel控制面板

关于登陆Cpanel的方式,请前往:如何登陆Cpanel控制面板

关于如何创建数据库,请前往:如何在CPanel中创建数据库?

关于如何创建数据库用户,请前往:如果在CPanel中创建数据库用户?

 

一,数据库和数据库用户的格式?

在数据库和数据库用户创建完成之后,我们需要注意一下数据库和数据库用户的格式。

比如创建的数据库名称是:wopus,如果Cpanel的登陆用户名是:wopus,那么数据库的正确格式是:wopus_wopus;如果创建的数据库名称是:wp,那么数据库的正确格式是:wopus_wp。

数据库用户也是一样的格式,都需要加前缀,而前缀就是各位登陆Cpanel使用的用户名。

解释:

Cpanel本身有一个很好的预防机制,我们在使用CPanel的时候,在很多时候,很可能创建相同的数据库和数据库用户,但是如果这些都一样的话,我们使用就会串联,这样数据库这些都会变的混乱,CPanel为了区分每个用户的数据库和数据库用户,对数据库和数据库用户的格式做了修正,变成了:username_name。

因为Cpanel的登陆用户名是不可能重复的,这样的结果就是把所有的数据库和数据库用户名都区分开了,也就不存在问题了。

所以各位在安装WordPress的时候,一定要注意数据库和数据库的格式。

第二,创建了数据库和数据库用户之后,还需要操作什么?
创建之后,还需要把数据库用户添加到数据库中,如图:mysql_2

添加之后,有一个操作权限确认,点击全部勾选即可。

mysql_3

这样添加之后,我们就可以在phpMyAdmin中操作这个数据库用户了。

第三,忘记了数据库用户的密码怎么办?

这里提供两个方法可以恢复数据库用户的密码。

  • 第一个方法:数据库的相关信息都会保存在程序里。我们可以找到程序的配置文件,这样可以找到数据库用户的密码。比如安装的是WordPress,那么我们可以在 wp-config.php 中找到数据库相关信息。
  • 第二个方法:删除数据库用户,再次重建(2011年2月4日更新,Cpanel 11.28把修改mysql密码的功能去掉了。):在Cpanel中修改数据库用户密码。

 

纯Linux环境、免备案【海外简单云】php空间,108元一年起。

 

网上创业步骤】:
1 开通云主机、域名  2 建设官方网站 3 整体网站推广 … 成功见证 创业技能素质培训

更多有价值的内容:

简单主机官方网站 www.simplehost2.com

简单主机官方网店 store.simplehost2.com

简单主机官方相册 gallery.simplehost2.com

简单主机官方博客 blog.simplehost2.com

QQ空间
腾讯微博
新浪微博
网易微博
搜狐微博
人民网微博
微信公众号
朋友网
淘宝网
豆瓣网
百度空间
新华微博
优酷网
人人网
开心网
天涯社区
简单云,简单主机,简单建站

微信号:simplehost

扫一扫,了解更多…

【佛山云主机】什么是cPanel控制面板?

如果你刚刚接触网站架设,cPanel这个词可能对你非常陌生。但最终,你还是需要了解这个强大的控制面板。

cPanel&WHM控制面板是cPanel, Inc公司发布的一款网页可视化的虚拟主机控制面板,对两类使用者(站长以及虚拟主机提供商)这都是一款不可多得的工具。

对于站长的你,所需了解的部分只是cPanel控制面板。WHM是虚拟主机提供商所能使用的后台管理界面。

那么cPanel面板究竟提供了我们那些功能来管理我们的主机呢?

让我们先来看看cPanel面板长什么模样~

cPanel官方测试Demo(点击查看

cPanel面板

正如图中所示,cPanel面板提供了以下几个主要功能区块:

  • Stats 边栏 - 介绍了你所使用虚拟主机的大部分信息
  • 偏好 – 主要是变更语言更改面板风格
  • 邮件 – 包含了设置邮箱、MX记录等
  • 文件 – 包含了管理网站文件、创建FTP账户等功能
  • 日志 – 用于查看网站访问记录、网站带宽使用等
  • 安全 – 用于设置文件防盗链、IP拒绝以及SSL证书管理等
  • 域     –  用来管理虚拟主机绑定域名、设置解析记录及文件绑定功能
  • 数据库 – 用来设置、管理你的数据库信息
  • 软件 – 虚拟主机上提供的一些附加功能
  • 高级 – 设置Corn Job、病毒扫描等

 

 

纯Linux环境、免备案【海外简单云】php空间,108元一年起。

 

网上创业步骤】:
1 开通云主机、域名  2 建设官方网站 3 整体网站推广 … 成功见证 创业技能素质培训

更多有价值的内容:

简单主机官方网站 www.simplehost2.com

简单主机官方网店 store.simplehost2.com

简单主机官方相册 gallery.simplehost2.com

简单主机官方博客 blog.simplehost2.com

QQ空间
腾讯微博
新浪微博
网易微博
搜狐微博
人民网微博
微信公众号
朋友网
淘宝网
豆瓣网
百度空间
新华微博
优酷网
人人网
开心网
天涯社区
简单云,简单主机,简单建站

微信号:simplehost

扫一扫,了解更多…

【佛山云主机】微信小店是什么 微信小店如何操作

微信小店是基于微信支付,包括添加商品、商品管理、订单管理、货架管理、维权等功能,开发者可使用接口批量添加商品,快速开店。 必须是已微信认证、已接入微信支付的服务号,才可在服务中心中申请开通微信小店功能。 公众号可通过以下五步,完成微信开店。

微信小店是基于微信支付,包括添加商品、商品管理、订单管理、货架管理、维权等功能,开发者可使用接口批量添加商品,快速开店。必须是已微信认证、已接入微信支付的服务号,才可在服务中心中申请开通微信小店功能。

公众号可通过以下五步,完成微信开店。具备开发能力的用户,可基于接口实现更灵活的功能。

第一步:添加商品

1. 选择类目

微信小店是什么,微信小店如何操作

2. 然后再按照指引填写商品的基本信息,包括商品名称、商品图片、运费、库存、详情描述等。

微信小店是什么 微信小店如何操作

第二步:商品管理

1. 商品分组管理:可以设置不同的分组来管理商品,分组可用于将商品填充到货架中。

微信小店是什么 微信小店如何操作

2. 商品上下架:可以快速对商品进行上下架操作。

微信小店是什么 微信小店如何操作

第三步:货架管理

1. 货架的定义:商家用于承载商品的模版,每一个货架是由不同的控件组成的。

微信小店是什么 微信小店如何操作

2. 选择完货架之后,商家可以将分组管理里面的商品添加到货架中。

微信小店是什么 微信小店如何操作

3. 发布货架;将编辑好的货架点击发布,然后复制链接,链接可以填入自定义菜单中,或者下发商品消息中。

微信小店是什么 微信小店如何操作
第四步:小店概况
可以查看小店所有的数据信息:订单数、成交量等。
微信小店是什么 微信小店如何操作
第五步:订单管理
用户支付成功会会生成一笔订单,商家可以查询订单,并进行发货等操作。
微信小店是什么 微信小店如何操作

开发者通过填写商户号和微信支付密钥,提交申请,并审核通过后,就可开始在“微信小店”里试营业。目前已开通“微信小店”的公众账号包括“简单云”、“美丽说”等。

 

纯Linux环境、免备案【海外简单云】php空间,108元一年起。

 

网上创业步骤】:
1 开通云主机、域名  2 建设官方网站 3 整体网站推广 … 成功见证 创业技能素质培训

更多有价值的内容:

简单主机官方网站 www.simplehost2.com

简单主机官方网店 store.simplehost2.com

简单主机官方相册 gallery.simplehost2.com

简单主机官方博客 blog.simplehost2.com

QQ空间
腾讯微博
新浪微博
网易微博
搜狐微博
人民网微博
微信公众号
朋友网
淘宝网
豆瓣网
百度空间
新华微博
优酷网
人人网
开心网
天涯社区
简单云,简单主机,简单建站

微信号:simplehost

扫一扫,了解更多…

【佛山云主机】搜索引擎优化(SEO)插件排行

我在从模糊到清晰 title,keywords,description 三大网页标签书写法则一文中详细介绍了网站title、keywords、description的详细功能和用法,在wordpress中又如何针对没张页面,每个分类、等来详细设置进行优化类?SEO推广没有我门想象的复杂,我们只要将网站当作一个人来看待,通过什么方法让别人更加了解?信任你?知道你。这个方法就是我们SEO的手段,他人认知的过程就是我们SEO优化的过程。在wordpress中拥有非常强大SEO插件,辅助我们做好住站点的seo优化工作。简单主机(www.simplehost2.com)通过资料的整理,总结出一部分强大的wordpress的seo优化插件。

 

1、    首当其冲——All in One SEO Pack

使用wp写博的站长,对于这个插件肯定不陌生,uberdose开发了这个非常牛X的SEO优化插件All in One SEO Pack,这个插件无论是新手还是老手,wp站点优化必装插件,位列前三名之列,这是一个被广泛安装使用的工具。我简要说下这个插件的功能,安装该插件后,总之安装之后好处多多。

点击下载ALL in one SEO pack

2、    Blog分类优化插件——Category SEO Meta

给你blog分类进行seo优化,可以定义每个分类的title、keywords、descriptio信息。帮助你优化更彻底。

点击下载 Category SEO Meta

3、    强大的worpdress网站内链管理插件Automatic SEO Links

无忧主机把网站内链的应用,看作是网站的“公路交通网”综合交错,相互联系,让整个网站看似每篇文章都是独立的,但又是一个正题,可以提高用户的体验,在查看一篇文章的时候,可以让用户方便(引导)用户去阅读更多相关内容。关于网站内链优化的介绍,您可以阅读网站内链使用绝对地址

点击下载 Automatic SEO Links

4、    WordPress博客seo优化“人间凶器”——Platinum SEO

Platinum SEO插件,不仅拥有All in One SEO Pack的所有功能,而且更强大、功能更多

a)       独立优化页面和文章标题,更讨搜索引擎喜欢。

b)       自动生成SEO相关的META Tags(元标记)

c)       避免重复内容(重复的内容,惹搜索引擎讨厌)

d)       让你为每篇文章全局编辑META说明和关键词

e)       该插件不兼容All in One SEO pack,可以和其它优秀的插件如Auto Meta,、 Ultimate、Tag Warrior等.可以兼容使用。

f)       该插件提供了自动301重定向功能,这是ALL in One SEO pack里没有的。即使你改错了固定链接也不用担心。

g)       增加了一些可添加noindex标记的页面:类别页面、存档页面、tag页面、评论feed、rss feed、搜索结果页面等等。

h)       为首页的外部链接添加NOfollow属性

点击下载强大的Platinum SEO插件

5、    提高wordpress访问速度的缓存插件——DB Cache

WordPress运行效率一直很多站长所诟病的,不是说wordpress不行,而是站长没有关注。我建议用户去看看无忧主机教你提高wordpress博客访问速度一文,然后加上这个wordpress缓存插件DB Cach,定会为你的博客增速不少。请站长注意,网站访问速度不仅影响用户体验,也影响seo优化的效果,一个seo优化再好的blog,速度访问慢,也是得不到用户信赖的,也会被“蜘蛛”厌恶。让你网站“飞”起来吧。

点击下载DB Cache缓存插件

上面是五个插件,是简单主机(www.simplehost2.com)为大家精心挑选的,希望对于刚开始安装wordpress的你,带来帮助。

 

纯Linux环境、免备案【海外简单云】php空间,108元一年起。

 

网上创业步骤】:
1 开通云主机、域名  2 建设官方网站 3 整体网站推广 … 成功见证 创业技能素质培训

更多有价值的内容:

简单主机官方网站 www.simplehost2.com

简单主机官方网店 store.simplehost2.com

简单主机官方相册 gallery.simplehost2.com

简单主机官方博客 blog.simplehost2.com

QQ空间
腾讯微博
新浪微博
网易微博
搜狐微博
人民网微博
微信公众号
朋友网
淘宝网
豆瓣网
百度空间
新华微博
优酷网
人人网
开心网
天涯社区
简单云,简单主机,简单建站

微信号:simplehost

扫一扫,了解更多…

【佛山云主机】实现强化WORDPRESS网站安全的.HTACCESS设定技巧

简单主机(www.simplehost2.com)中安装了wordpress程序中,.htaccess 是一个设定档,可以控制该路径下的档案及资料夹,以及所有子目录。这个档案名称是由 hypertext access 而来。

对于许多 WordPress 用户来说,第一次看到 .htaccess 文件应该是在自定他们网站的固定网址时,为了使用更美观的链结,而不是预设的链结格式(例如:http://simplehost2.com/sample-post/

而不是 http://simplehost2.com/?p=123 ),这就是我们说的伪静态配置。我们必须将以下程式码加入 .htaccess文件:

·# BEGIN WordPress

·

·RewriteEngine On

·RewriteBase /

·RewriteRule ^index\.php$ – [L]

·RewriteCond %{REQUEST_FILENAME} !-f

·RewriteCond %{REQUEST_FILENAME} !-d

·RewriteRule . /index.php [L]

·

·# END WordPress

如果 .htaccess 不存在,可以自己建立一个TXT的文本文档,名字随便以英文任何字母组合,Linux主机不支持中文,然后上传到网站的根目录(domains》域名》public_html),点击重命名为.htaccess。请确认在文件的开头有一个点,是不可漏掉的。.htaccess不仅用于固定网址,该文件也能强化网站安全。数以百万的 WordPress 用户利用它来保护网站免于垃圾邮件发送者、黑客和其他已知的威胁。

今天,小编分享一些用于 .htaccess 的程式码片段,可以强化各位的网站安全。总有一个适合您的。

大家可能也注意到上面固定网址的 .htaccess 程式码是包覆于 #BEGIN WordPress 及 #END WordPress里。WordPress 可以更新这个标签里的程式码,必须把要新增的程式码片段放置于.htaccess

文件的顶部或底部(在 #BEGIN WordPress 之前或 #END WordPress 之后)。

请注意.htaccess 是 WordPress 里个性倔强的文档,只要其中任何一个字符出错,整个就会出现错误。当错误发生时,它通常会影响到整个网站的运作,最重要的是必须确保输入 .htaccess 的程式码没有

问题。

在开始前,备份一下当前使用的 .htaccess 文件,或者重命名。将它保存到你电脑里安全的位置。无论何时更新了.htaccess ,记得回到网站重新整理一下,看看网站是不是还能正常运作。不要跳过这个步骤,因为确认网站运作正常是至关重要的一个步骤。如果访问白屏,立即恢复 .htaccess 修改前的上个步骤。

如果无法还原备份,那么将.htaccess 删除,然后建立一个空白的 .htaccess 档案并将它上传。当你的网站出现问题,这显然是最重要的一步。

1. 保护 .htaccess

既然 .htaccess 拥有你整个网站的控制权,保护它远离不相关人士就显得很重要。以下的程式码将让黑客无法存取你的 .htaccess 档,只需要通过 FTP 来修改 .htaccess 文件。

·order allow,deny

·deny from all

·satisfy all

·

2. 保护 WP-Config.php

另一个重要的文件是 wp-config.php。这就是配置文件。这个文件里包含数据库的登陆信息,以及其他的系统设定。因此,明确的作法是禁止任何人访问它。

·

·order allow,deny

·deny from all

3. 保护 /Wp-Content/

wp-content文件夹也是 WordPress 相当重要的一部分,在这个文件夹里包含了背景主题、外链、上传的媒体档案(图片、影片)等。

有鉴于此,这通常也是黑客下手的目标。当垃圾邮件发送者试图破坏老网站,他必须将邮件程式传到网站的上传资料夹。然后使用空间来寄送垃圾邮件;这么做会使网站被列入垃圾邮件名单。

可以透过创建一个独立的 .htaccess 文件来解决类似问题:

·Order deny,allow

·Deny from all

·

·Allow from all

·

必须将 .htaccess 档案独立上传到 wp-content 主目录,例如 www.simplehost2.com/wp-content/。这么做只会允许 XML、CSS、JPG、JPEG、PNG、GIF 和 JavaScript 被上传到媒体文件夹,其余的

文件类型将被拒绝。

4. 保护 Include-Only 档案

某些文件是绝不用让使用者存取的。可以加入以下程式码,来阻挡使用者存取这些文件:

·# Block the include-only files.

·

·RewriteEngine On

·RewriteBase /

·RewriteRule ^wp-admin/includes/ – [F,L]

·RewriteRule !^wp-includes/ – [S=3]

·RewriteRule ^wp-includes/[^/] .php$ – [F,L]

·RewriteRule ^wp-includes/js/tinymce/langs/. .php – [F,L]

·RewriteRule ^wp-includes/theme-compat/ – [F,L]

·

5. 限制存取 WordPress 后台

另一个黑客觊觎的目标是 WordPress 后台。如果他们获取了存取该区域的权限,他们就可以在网站上为所欲为。

确保 WordPress 后台更加安全,建立一个 .htaccess 文件并加入以下程式码:

·# Limit logins and admin by IP

·

·order deny,allow

·deny from all

·allow from 127.121.xx.xx

·

请务必将 127.121.xx.xx 更改为自己的 IP 位址,然后将它上传到网站的 /wp-admin/ 路径下,例如 www.simplehost2.com/wp-admin/ 。

只有自己能够存取 WordPress 后台,其他人将会被阻挡在外。

其他的管理员或作者的 IP 可以加在后面,可以在 allow from 后面加入其他 IP,不同的 IP 间使用半形逗号来区隔,例如:

allow from 127.121.xx.xx, 127.121.xx.xx, 127.121.xx.xx

6. 禁止某人进入网站

如果知道某个来者不善的 IP 位址,你可以使用以下的程式码将它拒于网站之外。举例来说,可以封锁某些留下垃圾留言或是尝试存取WordPress 后台的使用者。

·

·order allow,deny

·deny from 127.121.xx.xx

·deny from 127.121.xx.xx

·allow from all

·

7. 将使用者传送到维护页面

一些维护外链像是 Ultimate Maintenance Mode 和 Mainteance 相当实用,当在维护网站时,可以显示一个暂时的页面给访客,或是在更新网站时。

不幸的是,维护外链只有在网站运作正常时才起得了作用。

如果想未雨绸缪,小编建议大家建立一个基本的 .html 页面,将它命名为 maintenance.html 来提醒使用者目前网站遭遇一些问题,但会在短时间内恢复。当网站无法访问时,只要将以下程式码加入

.htaccess 档案,就能将所有流量引导至维护画面。

·RewriteEngine on

·RewriteCond REQUEST_URI} !/maintenance.html$

·RewriteCond REMOTE_ADDR} !^ 127.121.xx.xx

·RewriteRule $ /maintenance.html [R=302,L]

必须要为网站来自定上方程式码。变更上方的文件名称,来对应维护页面路径,也必须加入自己的 IP 位址,以便在维护状态时不会被引导至维护页面(可以继续调整网站)。

8. 禁止浏览目录

让未经授权的用户浏览目录下的文件或文件夹是相当危险的一件事情。如要禁止访问网站的目录,只要在.htaccess 加入以下程式码即可:

·# disable directory browsing

·Options All -Indexes

9. 允许浏览器快取

当启动浏览器快取功能后,将允许访客从网站储存资料,而无须重新下载。

它用于设计元素,例如 CSS 样式表和其它媒体内容,例如图片。这是一个实用的技巧,因为当图片上传到网站后,很少会再次更新。浏览器快取能让访客直接读取储存在他们电脑里的图片,而不用从空间下载,节省流量、也提升了页面载入速度。

启用浏览器快取,需要做的就是把以下程式码加入 .htaccess 文件:

·## EXPIRES CACHING ##

·

·ExpiresActive On

·ExpiresByType image/jpg “access 1 year”

·ExpiresByType image/jpeg “access 1 year”

·ExpiresByType image/gif “access 1 year”

·ExpiresByType image/png “access 1 year”

·ExpiresByType text/css “access 1 month”

·ExpiresByType application/pdf “access 1 month”

·ExpiresByType text/x-javascript “access 1 month”

·ExpiresByType application/x-shockwave-flash “access 1 month”

·ExpiresByType image/x-icon “access 1 year”

·ExpiresDefault “access 2 days”

·

·## EXPIRES CACHING ##

以上都是实用功能,不妨去试一试。希望能够帮助到各位站在朋友!

 

纯Linux环境、免备案【海外简单云】php空间,108元一年起。

 

网上创业步骤】:
1 开通云主机、域名  2 建设官方网站 3 整体网站推广 … 成功见证 创业技能素质培训

更多有价值的内容:

简单主机官方网站 www.simplehost2.com

简单主机官方网店 store.simplehost2.com

简单主机官方相册 gallery.simplehost2.com

简单主机官方博客 blog.simplehost2.com

QQ空间
腾讯微博
新浪微博
网易微博
搜狐微博
人民网微博
微信公众号
朋友网
淘宝网
豆瓣网
百度空间
新华微博
优酷网
人人网
开心网
天涯社区
简单云,简单主机,简单建站

微信号:simplehost

扫一扫,了解更多…

【简单云】简单实现WORDPRESS同步微博的方法

在这信息泛滥的年代,在这微博横行的岁月,无博不成席。一句话、一件事、哪怕你放了一个与众不同的屁,都有可能在微博之间引发转载。作为个人博客发布站的龙头老大wordpress个人博客系统,能与微博同步的插件也是多的让你无从选择。本文不介绍插件,每多安装一个插件,就会网站就会失去一分性能,简单主机(www.simplehost2.com)将从修改wordpress源代码方式实现:wordpress向各大微博同步。

 

目标:wordpress同步各大微博。(ps:请注意同步方向,是从wp到微博)

方法:修改functions.php文件,加入一段代码即可搞定问题。简单又实用。

原理:调用微博通的api接口,实现同步。

步骤:

1、  登录微博通官方网站,申请一个帐号备用,并配置授权自己的微博(如新浪微博、腾讯微博等等)

2、  下载functions.php文件,修改文件,加入如下代码,即可。

(注意在引用复制下面的代码的时候,注意如果执行报错,请确认将代码中的标点符号全部在全英文状态下修改一次)

function update_wbt($wbtstatus){

require_once(ABSPATH.WPINC.’/class-snoopy.php’);

$snoop = new Snoopy;

$snoop->user = “你申请微博通帐号”;

$snoop->pass = “你的密码”;

$snoop->submit(

‘http://api.weiboto.com/statuses/update.json’

, array(

‘status’ => $wbtstatus

, ‘source’ => ‘wpthread’

)

);

}

add_action(‘publish_post’, ‘publish_post_2_wbt’, 0);

function publish_post_2_wbt($post_ID){

$wbt = get_post_meta($post_ID, ‘wbt’, true);

if($wbt) return;

$wbtstatus = $_POST[‘post_title’].’ ‘.get_permalink($post_ID);

update_wbt($wbtstatus);

add_post_meta($post_ID, ‘wbt’, ‘true’, true);

}

如果你觉得太复杂,你也可以通过安装微博通的wp插件来实现,本方法是最简单,也最不费资源的方法,我已经测试通过。Wp站长都知道一个道理,插件安装越多,wp运行的就越慢,能用代码搞定,就尽量用代码实现把。

 

 

纯Linux环境、免备案【海外简单云】php空间,108元一年起。

 

网上创业步骤】:
1 开通云主机、域名  2 建设官方网站 3 整体网站推广 … 成功见证 创业技能素质培训

更多有价值的内容:

简单主机官方网站 www.simplehost2.com

简单主机官方网店 store.simplehost2.com

简单主机官方相册 gallery.simplehost2.com

简单主机官方博客 blog.simplehost2.com

QQ空间
腾讯微博
新浪微博
网易微博
搜狐微博
人民网微博
微信公众号
朋友网
淘宝网
豆瓣网
百度空间
新华微博
优酷网
人人网
开心网
天涯社区
简单云,简单主机,简单建站

微信号:simplehost

扫一扫,了解更多…

【简单云】WordPress图片实现真正延迟加载-加快页面打开速度节省服务器资源

Wordpress图片实现真正延迟加载-加快页面打开速度节省服务器资源

网页打开速度的好慢直接影响到网站的访问,大多数用户基本上不会对超过5秒钟还没有完全打开的网页产生任何好感。根据相关的研究发现,一个网站的图片太多,图片文件过大,页面太长,是导致网页打开时间过长的主要原因之一。

有人经常抱怨Wordpress网页打开速度太慢,为了提升WordPress的打开速度,我们不妨好好研究一下如何来加快网页中的图片的打开速度。 对图片太多的网页,不妨借鉴一下微博、淘宝和瀑布流主题的“按需加载”方式来加快速度。

于是就有了本文的实现文章图片真正延迟加载的主题了,它的目的就是实现在浏览器可视区域外的图片不会被载入,直到用户将页面滚动到它们所在的位置。对于一些图片特别多的网站,利用图片延迟加载技术可以在一定程度上减轻服务器压力。

图片延迟加载效果之前部落也用过一段时间,不过后来发现在网速慢的情况下有看到网页上的图片实际已经全部加载完成了,然后才看到Lazy Load的渐隐效果,这样实际上是“伪延迟”,顶多给图片加了点展示的特效,实际用处不大,之后就放弃了。

这次说要的是实际真正的延迟加载,实际上仍然来源于以前的Lazy Load插件,只不过经过改良之后,Lazy Load插件让图片真正实现了延迟加载。更多有关于Wordpress优化加速的做法还有:

WordPress图片实现真正延迟加载-加快页面打开速度减轻服务器压力

一、Wordpress图片延迟加载准备工作

1、Lazy Load jQuery plugin地址:

  • 1、官方网站:http://www.appelsiini.net/projects/lazyload
  • 2、Github:https://raw.github.com/tuupola/jquery_lazyload/master/jquery.lazyload.js

2、下载并上传jquery.lazyload.js到你的网站服务器上,这是 Lazy Load jQuery plugin下载地址

3、编辑你的Header.php文件,或者是其它的能够使用JS在任意页面调用的Wordpress主题文件,放入以下代码:

 <script src="http://www.freehao123.com/jquery.lazyload.js" type="text/javascript"></script> 

4、注意要将代码中的域名换你自己的,JS的路径也要相应的更改过来,如果你的Wordpress没有加载jQuery,还得自己手动添加代码加载jQuery v1.4.4+。(PS:现在的Wordpress主题应该都有加载jQuery)

图片延迟加载引入JS文件

5、然后在你的</head>前面加入以下JS代码,激活jquery.lazyload.js。

 <script type="text/javascript">
jQuery(function() {         
       jQuery("img").lazyload({ 
        effect : "fadeIn",
        failure_limit : 10 }); 
        });
</script> 

二、修改图片IMG标签启用迟延加载

1、Lazy Load 要求图片的IMG属性写成这样的才可以正确启用延迟加载效果。

 <img src="http://blog.simplehost2.com/wp-content/uploads/auto_image/2015/01/091203RnD.png" data-original="xxxx/xxxx/example.jpg"  width="600" heigh="400"> 

2、基本要求是:src中赋予一个1×1大小图片,data-original中写入图片的真实地址。

3、Lazy Load 延迟加载图片的原理是:打开网页时所有的图片是一个1×1大小默认图片,随着网页的拖动,Lazy Load jQuery plugin会“按需”将可视窗口内图片的src值替换成data-original的值,从而显示图片,其它的不在可视范围内的依然是被默认的图片所代替。

4、所以,建议大家将默认的src的图片放在一些免费CDN服务器上,或者是其它的主机空间上,以最大限度地减少图片对自身服务器的请求,同时最好是个微小的图片,例如1×1大小,这样可以保证默认图片以最短的时间加载进来,将图片加载时间降低到最低。

5、通过上面的设置,网站上所有的图片就会启用Lazy Load延迟加载技术了。

三、自动修改Wordpress文章、评论、缩略图片的IMG属性

1、 上面已经讲到,如果想要让图片实现卸载加载,则必须在IMG中设置好SRC默认值,加入data-original元素,但是实际上我们在Wordpress添加文章图片时默认的是没有这样的IMG标签的。

2、另外,对于已经存在了大量的文章图片的网站,是不可能再一篇一篇文章重新编辑修改图片的IMG属性。这时我们就可以采用Wordpress强大的过滤机制,自动将图片的IMG进行重写了。

3、将以下代码加入你的functions.php文件。代码来自:http://wptheming.com/2013/03/lazy-loading-images/

 function add_image_placeholders( $content ) {
    // Don't lazyload for feeds, previews, mobile
    if( is_feed() || is_preview() || ( function_exists( 'is_mobile' ) && is_mobile() ) )
        return $content;
    // Don't lazy-load if the content has already been run through previously
    if ( false !== strpos( $content, 'data-original' ) )
        return $content;
    // In case you want to change the placeholder image
    $placeholder_image = apply_filters( 'lazyload_images_placeholder_image', get_template_directory_uri() . '/images/grey.png' );
    // This is a pretty simple regex, but it works
    $content = preg_replace( '#<img([^>]+?)src=['"]?([^'"s>]+)['"]?([^>]*)>#', sprintf( '<img${1}src="%s" data-original="${2}"${3}><noscript><img${1}src="${2}"${3}></noscript>', $placeholder_image ), $content );
    return $content;
}
add_filter( 'the_content', 'add_image_placeholders', 99 ); 

4、注意最后一句:add_filter( ‘the_content’, ‘add_image_placeholders’, 99 );是用来匹配Wordpress文章页面内容中的图片的。代码中的:/images/grey.png 是默认图片地址,你需要替换成你自己的。

修改Wordpress函数

5、如果你想让你的评论头像也实现延迟加载,请加入下列代码:

 add_filter( 'get_avatar', 'add_image_placeholders', 11 ); 

6、有些Wordpress可能采用了timthumb 缩略图片,如果你想让你的缩略图片实现延迟加载,请加入下列代码:

 add_filter( 'post_thumbnail_html', 'add_image_placeholders', 11 ); 

四、Wordpress图片延迟加载效果分析

1、通过上面的方法,我们已经将Wordpress所有的图片(文章内容图片、评论头像、缩略图片)都启用了延迟加载技术,打开网页可以看到图片的SRC值都是默认的图片地址,并加上了data-original元素。

重写了Wordpress图片标签

2、当页面往下拉的时候,图片进入可视窗口中,这时就直接显示出图片了。IMG的SRC值变成了真实的图像地址了。

Wordpress图片出现真实的地址

五、Lazy Load 图片延迟加载插件的高级设置

1、Lazy Load 允许自己定义图片延迟加载效果。默认情况下图片会出现在屏幕时才加载,如果你想提前加载图片, 可以设置 threshold 选项:threshold : 200 表示令图片在距离屏幕 200 像素时提前加载。

 <script type="text/javascript">
 jQuery(function() {         
       jQuery("img").lazyload({ 
        threshold : 200 }); 
        });
</script> 

2、默认的情况下用户滚动到窗口上图片所在位置时图片就会被自动加载显示,如果你想设置为只有鼠标点击该图片或者当鼠标放在图片上时才会加载图片,可以加上click 和 mouseover事件。如下:

 <script type="text/javascript">
jQuery(function() {         
       jQuery("img").lazyload({  
      placeholder : "img/grey.png",
      event : "click" }); 
        });
</script> 

3、当图片完全加载的时候, 插件默认地使用 show() 方法来将图显示出来. 其实你可以使用任何你想用的特效来处理,例如FadeIn是渐显特效。

 <script type="text/javascript">
jQuery(function() {         
       jQuery("img").lazyload({  
       effect : "fadeIn" }); 
        });
</script> 

4、有了网页的图片的布局可能会比较混乱,设置failurelimit的数字有助于我们提高插件的效率,failure_limit : 10表示插件找到 10 个不在可见区域的图片是才停止搜索,根据你的需要可以调高或者调低。

 <script type="text/javascript">
jQuery(function() {         
       jQuery("img").lazyload({  
       failure_limit : 10  }); 
        });
</script> 

六、Wordpress图片延迟加载插件:simple-lazyload

1、simple-lazyload官网:

  • 1、插件地址:https://wordpress.org/plugins/simple-lazyload/

2、也许有人对上面如此多的JS代码已经感到“压抑”了,那么你可以使用simple-lazyload这个Wordpress图片延迟加载插件来实现上面纯代码效果:simple-lazyload插件下载

3、启用了simple-lazyload插件后,可以看到所有的图片(包括评论、缩略图、文章图片)的SRC值变成了默认的1像素的图片。同时写入了File元素,值为图片的真实地址。

Wordpress安装延迟加载插件

4、将网页往下拉的时候,图片显示出来了,SRC值也变成了图片的真实地址了。

Wordpress插件图片显示效果

七、关于图片延迟加载的一些问题

1、如果你的程序不是Wordpress,可以使用纯代码的方法实现,如果是Wordpress,为了“懒”,可以试一试simple-lazyload插件,注意该插件可能会与其它的插件不兼容,需要自己修改一下。

2、图片延迟加载质疑一:是不是有利于加快网页的打开速度?Lazy Load 将所有的图片变成了1×1大小的图片,减少了单一网页的带宽请求,同时除了第一张默认图片是从服务器下载到本地外,其它的都是用的浏览器本地缓存,所以从理论上讲,Lazy Load 可以减轻浏览器客户端的压力,特别是对于一些图片特别多、页面特别长的网页更有效果。

3、图片延迟加载质疑二:是不是真的有利于减轻服务器负担?理论上,Lazy Load 是增加了网页中图片总请求数(多了一个默认1×1的图片请求)。但是实际情况是这样的,很多人打开一网页都是看了前面的内容就关闭了,这时延迟加载的作用就出来了,它避免了每次打开网页都把所有的图片请求完毕,加上我们把默认的图片换成外部服务器的,所以实现上Lazy Load 是有可能减轻服务器压力的。

4、图片延迟加载质疑三:是不是不利于SEO?这个问题其实比较重要,尤其是现在百度搜索排名中出现了图文和缩略图。经过测试,由于使用了<noscript><img src=”真实地址”></noscript>这样的代码谷歌可以收录(实际上谷歌JS也可以读懂),但是百度这厮就不敢肯定了。理论上讲,<noscript></noscript>是被所有的浏览器所支持的。

 

网上创业步骤】:
1 开通云主机、域名  2 建设官方网站 3 整体网站推广 … 成功见证 创业技能素质培训

更多有价值的内容:

简单主机官方网站 www.simplehost2.com

简单主机官方网店 store.simplehost2.com

简单主机官方相册 gallery.simplehost2.com

简单主机官方博客 blog.simplehost2.com

QQ空间
腾讯微博
新浪微博
网易微博
搜狐微博
人民网微博
微信公众号
朋友网
淘宝网
豆瓣网
百度空间
新华微博
优酷网
人人网
开心网
天涯社区
简单云,简单主机,简单建站

微信号:simplehost

扫一扫,了解更多…

【简单云】WordPress同步更新到新浪微博和WordPress连接微信同步文章内容

Wordpress同步更新到新浪微博和Wordpress连接微信同步文章内容

微博和微信作为当下两个最流行的社交方式,占用了多数人的上网时间了。几年前人们上网的方式还比较“单一”:电脑—开机—浏览器—QQ,现在越来越多的人把自己在一天内有限的时间花费在手机上了,以至于手机微信都快成了电脑QQ的用户“死敌”了。

用户一天的时间是有限的,当人们愿意把自己的时间越来越多的分配在微信等手机APP上时,打开PC上QQ的时间自然会越来越少了。腾讯既要维持QQ原有的用户基础,同时又想成为无线领域的“霸主”,鱼和熊掌不可兼得,这也怪不得微信的电脑版客户端迟迟未推出正式版。

之前部落一直认为像部落这样的博客没有必要开发一个APP出来,一来用户基本上都是来自PC,二来博客以提供教程和资源分享为主。但是越来越多的朋友建议部落优化一下博客的手机浏览效果,同时通过百度统计和谷歌统计也能发现移动流量呈现逐年增长的趋势。

互联网发展到现在,不得不承认PC时代主体地位还没有改变,但是移动时代已经快要到来。作为一个很有“远见”的站长,及时地“拥抱”移动互联将对自己的博客发展是极为有利的。本篇文章就来分享一下如何将Wordpress传统博客融入到微博和微信中,让移动流量也为网站下一个访问增长的支点。

移动互联时代对我们站长做站也提出了新的要求,移动SEO、网站手机版、电脑版等一个都不能少:

WordPress同步更新到新浪微博和Wordpress连接微信同步文章内容

一、Wordpress同步更新到新浪微博

1、有少的朋友的博客在用多说社会化评论插件,第一是因为多说跨博客回复提醒功能,第二是自带了同步文章到社交平台;也就是本文中将要实现的功能。先来两张图片

Wordpress微博分享
Wordpress微博来自哪里

2、不难看出两张图的区别:除了内容不同外,还有来自XXX ,即红框标注位置;图2为以前使用多说插件同步的效果,图1为实现本博客中功能后的效果。

3、为什么要自己“自主”开发一个Wordpress自动同步到新浪微博的应用来呢?第一:为自己的博客网站引流量 ;第二:提升逼格,凸显自己博客高大上的气质;就是因为这一点,所以我们要自己实现功能,不用插件的原因。

4、实现此功能,在新浪微博开发者中心申请权限,也就创建网站接入应用 。使用你的新浪微博账号登陆微博开放平台,网址:http://open.weibo.com/

5、点击页面导航中[编辑开发者信息]或访问:http://open.weibo.com/developers/basicinfo ,根据页面表单内容填写信息,提交后等待新浪方审核。(下图是基本流程)

Wordpress申请新浪微博开发者账号

6、新浪审核一般需要1个工作左右。审核通过后就可以创建应用了 。点击 [我的应用]->创建应用 或 访问:http://open.weibo.com/apps/new?sort=app 创建应用,根据表单内容一步一步填写就好了,注意:第一步的应用名就是图1和图2中的来源名称。

7、补全应用信息之后,提交审核。这里的审核时间会长一些,具体多长时间忘了。 这段时间你就可以使用新浪的开放端口进行开发了,只是在审核通过之前,来源位置显示的是未审核应用字样,但不影响开发和使用。

二、同步新浪微博Wordpress代码

1、新浪微博有很多很多接口供开发者调用,有兴趣的朋友可以仔细研究研究,不过本文中主要介绍 “2/statuses/update”接口(开发文档:http://open.weibo.com/wiki/2/statuses/update)。

Wordpress微博开发接口

2、根据开发文档(http://open.weibo.com/wiki/2/statuses/update)中的介绍,我们可以得知:

  • 接口URL:https://api.weibo.com/2/statuses/repost.json
  • 数据格式:JSON
  • 请求方式:POST
  • 请求参数:status(微博内容)、source(AppKey,从开发者中心我的应用中获得;图3)
  • 是否需要登陆:是

 

3、根据以上信息,我们编写的代码如下(appkey、username、userpassword这三项替换成你自己的):

function post_to_sina_weibo($post_ID) {
if (wp_is_post_revision($post_ID)) return;//修订版本(更新)不发微博
$get_post_info = get_post($post_ID);
$get_post_centent = get_post($post_ID)->post_content;
$get_post_title = get_post($post_ID)->post_title;
if ($get_post_info->post_status == 'publish' && $_POST['original_post_status'] != 'publish') {
$appkey='3838258703';
$username='微博用户名';
$userpassword='微博密码';
$request = new WP_Http;
$status = '【' . strip_tags($get_post_title) . '】 ' . mb_strimwidth(strip_tags(apply_filters('the_content', $get_post_centent)) , 0, 132, '...') . ' 全文地址:' . get_permalink($post_ID);
$api_url = 'https://api.weibo.com/2/statuses/update.json';
$body = array('status' => $status,'source' => $appkey);
$headers = array('Authorization' => 'Basic ' . base64_encode("$username:$userpassword"));
$result = $request->post($api_url, array('body' => $body,'headers' => $headers));
}
}
add_action('publish_post', 'post_to_sina_weibo', 0);//给发布文章增加一个分享微博的动作

 

三、Wordpress安装WeChat Subscribers Lite微信插件

1、WeChat Subscribers Lite官网:

2、WeChat Subscribers Lite微信插件功能足够强大了,支持“同步文章内容”(支持图文和文字消息),“自动回复最新内容”(仅支持图文消息模式),“消息历史记录”,详细如下:

  • 1、可根据类型(Post-type)设定自动回复最新文章;
  • 2、可选择某篇文章内容,并将它同步到自动回复中;
  • 3、便捷管理多种消息模版,可随时切换,数量不限;
  • 4、无需安装任何其他程序,完全使用Wordpress原生支持;
  • 5、带有接收消息的历史记录;
  • 6、多种消息模式,默认自动回复消息,关键词自动回复消息,订阅自动回复欢迎消息;
  • 7、自动检测关键词冲突;
  • 8、自由设置纯文本消息、图文消息、最近消息,可随时切换消息类型,排序;
  • 9、图片上传管理都使用Wordpress原生图片管理器。

3、下载安装好了WeChat Subscribers Lite后,进入到插件的设置页面,先输入一个Token,点击保存后插件会自动生成一个URL,这个两个等会儿到微信公众平台要用到。

WeChat Subscribers Lite安装

4、进入到微信公众平台,点击“开发者中心”,然后在服务器配置中点击“修改配置”。

微信公众平台修改配置

5、这里就是输入WeChat Subscribers Lite插件生成的Token和URL,EncodingAESKey(消息加解密密钥)可以自己点击生成,最后提交。

微信公众平台提交认证

6、提交后,记得点击启用服务器配置。

WeChat Subscribers Lite启用配置

7、然后回到WeChat Subscribers Lite插件页面,在这里我们就要添加新的回复了——即当你的微信粉丝提交回复后,展示给用户的微信信息。

WeChat Subscribers Lite添加回复

8、回复标题可以自拟,关键字就是用户回复时触发的条件,“触发”类型有:默认、普通、订阅。“普通”:订阅者输入关键字和上面输入的匹配后触发。 “默认”:订阅者输入不明关键字后触发。 “订阅”:陌生人成为你的订阅者后触发。 “发布”要记得勾选。(点击放大)

WeChat Subscribers Lite设置回复关键词

四、WeChat Subscribers Lite微信插件同步更新和自动回复

1、在添加新的回复时可以选择消息类型:纯文本、图文、最近消息、关键字。

WeChat Subscribers Lite消息类型

2、纯文本消息很简单,只要输入你的消息文字即可。

WeChat Subscribers Lite输入文字

3、WeChat Subscribers Lite微信插件支持插入文章,页面或其他post_type的内容至纯文本类型中,点击插入按钮,在弹出窗口选择相应条目进行插入。

WeChat Subscribers Lite插入文章

4、如果选择图文消息,则在编辑图文消息的时候,必须选择一张图片,第一组图文内容的图片尺寸是360×200,这里的消息简述则可以选填。(点击放大 )

WeChat Subscribers Lite图文消息

5、图文消息可以添加最多10组,点击右下角的按钮添加。

WeChat Subscribers Lite添加多个消息

6、单组图文消息可以点击右上角的箭头上下移动,依次来排列消息的顺序。点击每组图文消息右下角的移除按钮可以去掉这组内容。

WeChat Subscribers Lite调整顺序

7、图文消息类型,可以直接同步已有的文章、页面或其它post_type的内容至图文表单中,只需点击同步按钮,在弹出窗口选择相应条目即可。

WeChat Subscribers Lite自动同步

8、其中如果同步的对象有特色图像,将会载入特色图像的合适尺寸到图像中,没有则会寻找文章中的第一张图片,都没则会自动插入插件提供的默认图片,用户也可以自行上传或选择媒体库的图片。(注:本地上传的图片会自动裁剪生成适合微信的尺寸,在插入图片弹出框右下角进行尺寸选择即可)也可以点击插入URL按钮,只插入选择对象的链接地址。

9、最近消息类型,只需要选择自动回复的类型,分类和数量即可。

WeChat Subscribers Lite最近消息

10、用户用户发送的消息记录,点击左边消息统计进入页面进行查看管理。(点击放大)

WeChat Subscribers Lite消息统计

五、Wordpress同步微博和微信小结

1、新浪微博原先有一个支持绑定Wordpress的RSS到自己的微博账户上,虽然这项功能现在还没有取消,但是新浪微博现在已经将其隐藏,且添加博客后也会显示有问题。从这一现象也足以证明自己自主开发一个同步应用程序是多么重要。

2、Wordpress微信插件需要一个微信公众平台账户,就目前来看多数Wordpress微信插件都是收费的,WeChat Subscribers Lite微信插件的功能也很强,插件的作者也非常地尽心的维护更新。如果你不喜欢用插件,可以自己研究微信的开发文档编写代码。

文章出自:无主题 博主投稿   由部落编辑整理,版权归原作者所有。本站文章除注明出处外,皆为作者原创文章,可自由引用,但请注明来源。

 

 

纯Linux环境、免备案【海外简单云】php空间,108元一年起。

 

网上创业步骤】:
1 开通云主机、域名  2 建设官方网站 3 整体网站推广 … 成功见证 创业技能素质培训

更多有价值的内容:

简单主机官方网站 www.simplehost2.com

简单主机官方网店 store.simplehost2.com

简单主机官方相册 gallery.simplehost2.com

简单主机官方博客 blog.simplehost2.com

QQ空间
腾讯微博
新浪微博
网易微博
搜狐微博
人民网微博
微信公众号
朋友网
淘宝网
豆瓣网
百度空间
新华微博
优酷网
人人网
开心网
天涯社区
简单云,简单主机,简单建站

微信号:simplehost

扫一扫,了解更多…

【简单云】比尔盖茨,一位改变开源软件的人

在比尔·盖茨退休前的一周召开了一场会议,会议的主题是关于开源软件。

那是2008年夏天,多年以来开源社区将微软公司视作头号公敌。七年以前,微软CEO史蒂夫·鲍尔默(Steve Ballmer)曾将Linux称作“恶性肿瘤”。2007年夏天,微软法律顾问布拉德·史密斯(Brad Smith)和授权许可主管霍拉西奥·古铁雷兹(Horacio Gutierrez)告诉《财富》杂志,Linux侵犯了微软的235项专利,并暗示将对任何使用Linux的大型企业收取授权费。

与此同时,微软也逐渐意识到自由软件运动的力量,并开始探索向开发者数量日益增长的开源软件社区示好的方式。在两年的时间中,萨姆·拉姆齐(Sam Ramji)担任了微软开源战略主管。每隔三个月,他会与盖茨以及微软其他高管会面,展示由一组微软小型工程师团队收集的不同开源技术。

 

 

然而这天下午的会议与以往不同。在公司首席法律智囊史密斯和古铁雷兹的邀请下,拉姆齐和盖茨、微软首席软件架构师雷伊·奥兹(Ray Ozzie),以及其他一些高管坐在一起,讨论微软是否真的可以开始使用开源软件。拉姆齐和奥兹,站在他们支持微软应当拥抱开源技术的一边,而古铁雷兹也给出了能使这一提议成为现实的法律框架。不过微软其他高管对此提出强烈质疑。

这时,比尔·盖茨站了起来。

他走到白板前,画下一张系统如何运作的框架,其中包括版权、代码贡献和专利。盖茨斩钉截铁地表示,微软必须做出改变。

拉姆齐此时已经担任微软的首席开源战略师超过3年半时间。对他来说,盖茨站起来的那一刻就是微软改变对自由软件的态度。拉姆齐表示:“开源社区,甚至整个科技行业都不相信盖茨真正理解开源,包括开源为何变得非常重要,为何成为了竞争优势,以及为何当竞争对手开始使用开源技术的同时时,微软也必须这么做。盖茨实际已经领悟到,在那一刻,他教会我们所有人。”

从外界来看,似乎微软已经彻底改变了态度。微软近期为Windows Azure中加入了两项开源技术平台,并和其他支持开源企业一样,向开源项目贡献代码。这些都不是小型的开源项目,而是知名的大型开源项目,包括Node.js和Hadoop。这在以前是不可能的。

微软的改变是由于这样一群人,例如萨姆·拉姆齐,以及聘用他的比尔·希尔夫(Bill Hilf),当然还有比尔·盖茨。不过微软这样的转变也反映了科技行业正在发生巨大的变化趋势。随着越来越多的应用从本地数据中心转移至云计算系统,例如亚马逊Amazon Web服务和微软Windows Azure中,软件经济也在发生着变化。以往,企业付费给微软等公司的软件,再将微软的软件安装在自己的服务器上。现在,企业更多地愿意付费使用在线服务。通过在Windows Azure之上提供开源软件,这是微软一条的确可以赚钱的方法。

Windows Azure负责人希尔夫表示:“凭借Azure,我们通过提供计算能力、存储空间和网络带宽赚钱。我们希望我们将能够提供更多类型的应用程序和系统,所以开源技术能够帮助(业务)迅速提升……我们在Azure上提供Node.js并非完全是利他的,这也是推动微软业务发展的一种方式。”

 

 

比尔·希尔夫(Bill Hilf),微软开源技术先驱 相片提供: Microsoft

希尔夫曾是一名Linux开发者。2000年代初,他曾是IBM的高级架构师,利用Linux与其他开源软件搭建过大型商业业务。他还曾负责过 IBM的开源战略。1990年代末,IBM曾经在Linux业务领域投下重注,以对抗微软。这时,在2004年,希尔夫接到了一通来自微软的电话。

希尔夫回忆道:“微软给我打来电话,对我说:‘我们不太了解开源软件,我们需要了解的人。’我就像是成为微软这颗星球上的第一名宇航员。”

希尔夫的主要任务(至少在最初阶段)是教会微软的人了解开源。他表示:“我花费了大量时间指导他人,例如开源过程是怎样的:开源项目如何运作,互联网上的社区软件如何工作,授权如何进行,人们是否真的为此无偿工作等。”他同时也帮助建立了微软内部的开源实验室,并与同事一起在安装Windows软件PC平台上搭建Linux系统进行批量测试。对于一家长期回避像Samba项目的公司,这是一个重要的许诺。Samba也是一个开源项目,能帮助Windows计算机与Linux文件服务器通信。

与此同时,希尔夫的实验室开始探索新项目,推动现有开源工作的发展。在他微软职业生涯结束前,希尔夫开始接触到开源社区的一些成员。他表示:“我们希望了解微软与开源社区合作的方式,不仅是了解开源社区如何运作,以及我们是否能实现互动,更希望寻找我们可以相互推动的领域。”

希尔夫表示,基于这样的想法推动微软参与了Node.js和Hadoop。去年,微软不仅宣布将把Node.js和Hadoop等Linux技术移植到Windows中,还表示将直接向开源社区贡献代码。

希尔夫表示:“我们有一个专门的团队从事这一工作。我们已经进入实际工程开发工作中。我们将取得的成果置于开源协议下,并通过Github等组织发布这些成果。这在六年前是不可想象的。”

去年秋季,微软甚至还为Samba贡献了代码。Samba的贡献者之一克里斯托弗·赫特尔(Christopher Hertel)写道:“时间退回到几年前,微软程序员提交代码将会让人感到不可思议。但争端已基本结束,时代也发生了改变。”他指出:“大部分人并未注意到贡献者的来源,若发生在四年前也是遥不可及的事情,但我们中的一些人将其视为里程碑,并希望表达我们对此的赞赏。”

微软的最佳状态是在它坐立不安的时候

微软已经走过了漫长的道路。2006年,当希尔夫聘请拉姆齐负责微软的开源项目时,微软与自由软件行业的关系十分紧张。一年后,史密斯和古铁雷兹在接受《财富》杂志采访时公开威胁Linux。当拉姆齐接受微软的聘请时,事后他回忆说,他曾对自己将扮演的角色感到怀疑和担忧。

事物的发展总是有起有落,不过他与盖茨的会议意味着巨大的改变终将发生。在这次会议之后不久,微软收购了语义搜索创业企业 Powerset,而该公司是最先基于Hadoop项目开发网络服务的公司之一。在整合期间后,微软允许Powerset的工程师继续向Hadoop贡献代码,而该服务也在一段时间内继续基于Hadoop。不过Powerset最终放弃了Hadoop,转而采用微软的自有技术,至少一名主要的开源代码贡献者离开了微软。不过Powerset至少设定了正确的方向。

在此后的一年中,拉姆齐和他的团队开发了类似亚马逊的云计算网络服务原型产品,这完全基于开源软件,例如Zend、OpenNebula、 Eucalyptus、OpenScale和Hadoop等。拉姆齐回忆称:“我们就像测试小分队。我们会说:‘你认为你是领先的?让你看看通过开源两周的时间,还有通过Linux天才能对你的项目做些什么。’”

拉姆齐表示,这一项目曾引起了微软智囊团的深深不安。微软当时已开始利用自有技术开发Windows Azure,代号Red Dog。对拉姆齐来说,这种“深深不安”是件好事。他认为:“微软的最佳状态是在它坐立不安的时候。这正是微软的精神,这是一家以危机为导向的公司。”

微软正在变为谷歌

拉姆齐于2009年离开微软,加入一家名为Apigee的初创企业,抓住这一领域的发展机遇与开源运动早期类似:致力于将全球的网络服务集成到应用程序接口或说API。不过,他在雷德蒙德留下自己的烙印。

拉姆齐表示:“我认为,我们建立的团队是我工作过的最优秀团队。着实执行一个信条是将外部的事物引入内部。在这个世界中,我们无法继续仅仅依靠自有技术,那只能将我们变成沙文主义者——摇旗呐喊的狂热微软粉丝。”此后,该团队的成员随后分散至微软内部的其他团队,并传播了这样的思想。

Windows Azure仍基于微软自有技术软件。不过令许多人感到惊讶的是,该服务向开发者提供了多种开源工具,帮助他们开发自己的应用。这不仅包括Node.js和 Hadoop,也包括Java和PHP等开源语言。微软甚至表示,将允许开发者在Windows Azure之上运行Linux。

拉姆齐承认,微软在一定程度上也在发生了改变,因为世界已经发生了变化。他援引维克多·雨果(Victor Hugo)的名言:“当一种思想的时代来临时,世界上没有比这更强大的力量。”他更通俗的语言形容到:“对于开源这块巧克力来说,云计算就是花生酱。”

不过,作为长期以来的开源软件的公敌,微软仍然备受质疑,即微软是否真正改变了自己的做法。资深开源用户、2001年微软反垄断案后的监督者罗恩·施奈尔(Ron Schnell)表示:“就我个人而言,我认为微软在开源时代的篇章还未开始书写。微软还需要向开源运动做更多贡献,才能被视作开源运动的朋友。”

在采访尾声时,施奈尔表示,所有归宗于金钱。他表示:“开源解决方案对于财务报表没有太大好处。问题在于,在云计算获得成功导致Windows等桌面操作系统必要性的降低情况下,微软是否仍能获得以往的高额利润?”这是问题的一方面,但云计算的发展也使得企业通过开源软件盈利更容易,显然,微软认识到了这点。

多年以来,人们总是容易认为谷歌是开源运动的朋友,而微软则对自由软件保持着距离。不过作为互联网服务,谷歌与微软所处的位置有很大不同,微软主要通过销售软件授权码才取得了今天的地位。如今,微软也正变成为一家互联网公司,变得更像谷歌——不单是通过一种方式。

是的!微软正在多起案例中向Android手机厂商收取授权费,而Android系统正基于Linux。这表明,微软在软件行业中处境仍旧复杂。尽管微软已经向互联网实现战略转移,但仍是一家依赖传统软件业务的公司,并依然有心想采取措施保护传统业务。不过,微软与Android阵营之间的斗争与以往不同。作为谷歌的一个项目,Android作为谷歌项目并非那么开源。

现实并不是一个非黑即白的二元世界,软件世界同样如此,并不是每个人都意识到这一点。但比尔盖茨做到,而微软更因此受益。

 

 

纯Linux环境、免备案【海外简单云】php空间,108元一年起。

 

网上创业步骤】:
1 开通云主机、域名  2 建设官方网站 3 整体网站推广 … 成功见证 创业技能素质培训

更多有价值的内容:

简单主机官方网站 www.simplehost2.com

简单主机官方网店 store.simplehost2.com

简单主机官方相册 gallery.simplehost2.com

简单主机官方博客 blog.simplehost2.com

QQ空间
腾讯微博
新浪微博
网易微博
搜狐微博
人民网微博
微信公众号
朋友网
淘宝网
豆瓣网
百度空间
新华微博
优酷网
人人网
开心网
天涯社区
简单云,简单主机,简单建站

微信号:simplehost

扫一扫,了解更多…

【简单云】十大精选开源软件推荐:编程化繁为简

开源这块甜蜜的巧克力酱备受宠爱,似乎人人都想尝尝。这一次,我为开发者们贡献十款开源编程工具,它们分别是Rhomobile Rhodes、Git、Gerrit、Hadoop等,这十款开源工具会越来越流行,想知道其中的奥秘吗?让我们一起来看看它们的神奇之处吧!

1.Rhomobile Rhodes

Ruby可能是GitHub上的第二大流行编程语言,但如果你想从事与iPhone相关的开发工作,Ruby可就爱慕能助了。iOS平台上最为给力的是Objective-C语言,这也许是赚钱的利器之一吧!

 

 

Rhomobile Rhodes是一个捆绑了Ruby网站的开源平台,能够将Ruby网站直接嵌入到iPhone App中。您还可以选择使用jQuery Mobile 来调整布局,看起来它更像一个Web app,。此外,Rhomobile Rhodes框架支持跨平台移动应用开发,可以让开发者的应用实现在多个不同的设备上运行,如iPhone、Windows Mobile和BlackBerry等,提供了很多炫酷的功能。

2.Git开源编程工具

最近谈到版本控制,所有人都在谈Git。随着越来越多的开发人员继续使用CVS和Subversion时,也会有更多的项目陆续转移到Git上,这是一 款源代码控制工具,对于缺少一个主要的中心库的团队而言,这款工具非常重要。Git的操作非常快速、你可以把时间花在更有意义的事情上。在没有网络的情况 下如何工作?如果你用SVN或者CVS的话就很麻烦。而Git可以让你在本地做所有操作,提交代码,查看历史,合并,创建分支等等。 使用Git,你就不必担心版本丢失的问题,因为任何一个人机器上的版本都有一个完整的备份。Git支持整个代码提交的回滚操作,即使不小心犯了错误,也可 以及时撤销,并恢复相应的提交操作。随着越来越多的公司使用开源项目Git,包括Ruby On Rails,jQuery,Perl,Debian,Linux Kernel等等,聪明的程序员也应该随大流吧!

3.开源编程工具Gerrit

 

 

Gerrit 是一个基于 Web 的代码评审和项目管理的工具,面向基于 Git 版本控制系统的项目。首先贡献者的代码通过 git 命令(或 repo 封装)推送到 Gerrit 管理下的 Git 版本库,推送的提交转化为一个一个的代码审核任务,审核任务可以通过 refs/changes/ 下的引用访问到。代码审核者可以通过 Web 界面查看审核任务、代码变更,通过 Web 界面做出通过代码审核或者打回等决定。测试者也可以通过 refs/changes/ 引用获取(fetch)修订对其进行测试,如果测试通过就可以将该评审任务设置为校验通过(verified)。最后经过了审核和校验的修订可以通过 Gerrit 界面中提交动作合并到版本库对应的分支中。

4.开源编程工具 Hadoop

Hadoop是一个工具包,利用分布式原理将文件部署在多台服务器上。Google正在急于部署多台服务器来抓取网页,而Hadoop正好派上用场。

 

 

有很多衍生品,将Hadoop绑定代码来处理一些特殊问题。比如,Mahout是一款可扩展的框架,用于分析大数集,Hive提供了数据仓库,该数据仓库可以使用HiveQL实现并行搜索查询。这种方法较为流行,尤其是用来处理大批量的Web 日志。

 

 

5.开源编程工具 jQuery

 

 

这些天,许多Web开发者在使用JavaScript之前就开始忙于学习jQuery了,因为jQuery相比于JavaScript,操作DOM更简 单,也更有效率。它如此盛行,有一部分原因在于它庞大的插件库,甚至有更多的插件。这些插件形成了强大的生态系统,提供了各种有趣的工具来优化网站,比如 jQuery Mobile,可以产生更好的应用,运行在智能手机

更小的屏幕上。

6.开源编程工具Eclipse Marketplace

提起编程工具,很少有人不会想到Eclipse。无论是哪种编程语言,都有相应的插件,比如PHP、Ruby和C语言,都和这款IDE配合得天衣无缝。

 

 

现在,Java平台被广泛使用的IDE(集成开发环境)Eclipse也推出了自己的软件商店Eclipse Marketplace. Eclipse Marketplace就是这么一个站点,可以帮助用户挖掘出他们所需要的工具。从目前Eclipse软件商店的网站来看,该商店共分工具插件、中间件、 富客户端平台和培训咨询四大类应用,目前已上线1000多款应用,主要集中了Eclipse大量的插件。

7.开源编程工具Firebug

有越来越多的程序员纷纷开始关注浏览器的嵌入工具,Firefox插件Firebug就成为了一路披荆斩棘的佼佼者。

 

 

Firebug生态圈是如此的肥沃,以出乎意料的方式,派生了基于Firebug扩展的子插件。比如FirePython,它并没有内嵌到浏览器中,但 却可以入驻到服务器端,将调试信息发送到浏览器中。多亏了Firebug,所有主流的浏览器能够提供图片、代码等详细信息。

8.开源编程工具CoffeeScript

 

值得推荐的十款开源编程工具
 

许多程序员都无法忍受复杂的语法带来的困扰。CoffeeScript可以看做是一个JavaScript的预编译器,而且是个完整的编译器。“在各种 零散的分号和括号语法下,JavaScript有一套自己的对象模型,而CoffeeScript 会以一种简单的方式全方位呈现JavaScript的真面目,使得整个JavaScript的编程过程看起来很像Python”。

9.开源编程工具NoSQL

NoSQL趋势几年前就开始蔓延了,随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型 的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。

 

 

越来越多的网站意识到未来大批数据将不再需要Oracle了,NoSQL开始白热化了。

最新工具会简化云端部署NoSQL的过程。 比如Apache Cassandra是一套开源分布式Key-Value存储系统。它最初由Facebook开发,用于储存特别大的数据。Facebook目前在使用此系统。

总之,这十大精选开源编程工具会越来越流行,喜欢编程的朋友们,千万不要错过这些工具,它们会让你省省心,不用发愁,整个编程化繁为简。

 

纯Linux环境、免备案【海外简单云】php空间,108元一年起。

 

网上创业步骤】:
1 开通云主机、域名  2 建设官方网站 3 整体网站推广 … 成功见证 创业技能素质培训

更多有价值的内容:

简单主机官方网站 www.simplehost2.com

简单主机官方网店 store.simplehost2.com

简单主机官方相册 gallery.simplehost2.com

简单主机官方博客 blog.simplehost2.com

QQ空间
腾讯微博
新浪微博
网易微博
搜狐微博
人民网微博
微信公众号
朋友网
淘宝网
豆瓣网
百度空间
新华微博
优酷网
人人网
开心网
天涯社区
简单云,简单主机,简单建站

微信号:simplehost

扫一扫,了解更多…

【简单云】DEDECMS织梦内容管理系统站点目录结构

有关dedecms系统站点目录下文件、文件夹,需要我们进行修改或删除等操作来加强dede网站的安全。简单主机(www.simplehost2.com),将官方关于dedecms站点目录的文档,进行整理,并在php空间上验证后,编写本文,借此帮助你能更好的掌握dedecms安全设置,防范网站注入挂马。

 

说明:

1、文中涉及的“网站根目录”指无忧主机网站根目录——public_html

文中 / 表示public_html目录

2、登录简单云php虚拟主机ftp,点击“public_html”就可以看到dede系统的所有目录文件。

3、下面只是简单云认为部分dede系统比较重要的目录。如果你需要更详细的目录介绍,请登录DEDE官方网站可以获得

网站根目录

/dede                        dede管理后台地址(安装后请修改此目录名)

/html                        默认文中生成目录(文章生成的静态页面都在这里)

/include                  网站核心文件目录(不能删除)

/member                会员功能目录(选择删除)

/plus                       插件及辅助功能目录

/special                 专题目录(选择删除)

/templets              模板目录不能

/index.php           网站首页

/robots.txt           搜索控制文件

/templets/模板目录存放,安装dedecms模板的地方

/templets/default                                 默认模板目录

/templets/article_article.htm          普通文章页面模板

/templets/article_default.htm        一般文档页面模板

/templets/article_flash.htm           flash页面模板

/templets/article_image.htm          图集页面模板

/templets/article_soft.htm            软件页面模板

/templets/article_spec.htm          专题页面模板

/templets/index.htm                      网站首页模板

/templets/index_article.htm         文章频道封面模板

/templets/index_article_webart1.htm

/templets/index_article_webart2.htm

/templets/index_article_webart.htm

/templets/index_default.htm                一般文档封面模板

/templets/index_flash.htm                   flash频道封面模板

/templets/index_image.htm                图集频道封面模板

/templets/index_soft.htm                     软件频道封面模板

/templets/list_article.htm                   文章列表模板

/templets/list_default.htm                一般文档列表目录模板

/templets/list_flash.htm                    flash文档列表模板

/templets/list_free.htm                      自由列表模板

/templets/list_image.htm                  图集列表模板

/templets/list_soft.htm                      软件列表模板

/templets/list_spec.htm                    专题列表模板

Include 目录             核心程序目录

include/inc_fun_funAdmin.php                    获取拼音码等函数

include/inc_fun_funString.php                     html代码处理等函数

include/inc_fun_SpGetArcList.php             获取文档列表SpGetArcList

70%  的用户选择使用了php虚拟主机做为搭建平台,请安装dede完毕后,发点时间来阅读下站点目录的介绍,让你在对目录进行删除、修改操作时候,更加得心应手。

 

 

纯Linux环境、免备案【海外简单云】php空间,108元一年起。

 

网上创业步骤】:
1 开通云主机、域名  2 建设官方网站 3 整体网站推广 … 成功见证 创业技能素质培训

更多有价值的内容:

简单主机官方网站 www.simplehost2.com

简单主机官方网店 store.simplehost2.com

简单主机官方相册 gallery.simplehost2.com

简单主机官方博客 blog.simplehost2.com

QQ空间
腾讯微博
新浪微博
网易微博
搜狐微博
人民网微博
微信公众号
朋友网
淘宝网
豆瓣网
百度空间
新华微博
优酷网
人人网
开心网
天涯社区
简单云,简单主机,简单建站

微信号:simplehost

扫一扫,了解更多…

【简单云】关于开源软件:你不知道的那些事儿

1 开源是大势所趋

随着计算机技术的发展,尤其是互联网技术和相关企业的兴起,开源软件在操作系统、编译工具链、数据库、WEB服务器、移动操作系统等各个方面已经成为主流。而且许多企业利用开源软件形成了独特的商业模式。比如谷歌的 Android 操作系统,从 2007 年开源发布第一个版本起,到今天已经发展到 4.1 版本,占据了智能手机操作系统一半以上的市场份额,谷歌也通过 Android 操作系统在移动互联网这一新兴行业中占据了领先和主导地位。再比如在服务器端广泛使用的关系型数据库 MySQL,在以开源软件和商业许可并行的模式下,得到了快速发展,并在 2008 年作价 10 亿美金由 Sun 收购(后者又在 2009 年被 Oracle 公司以 74 亿美金的高价收购)。相反,以前一直和开源软件做斗争的微软公司,却因为无法快速推出适应市场的 Windows Phone 操作系统,在移动互联网竞争中处于下风。为顺应潮流,微软也开始拥抱开源,比如向Samba项目贡献代码,放弃自己研发多年的大数据项目而选择 Hadoop为其大数据的核心等。

显然,纵观 IT 行业这二十多年的发展,开源软件从黑客的理想之国,已经形成了一股推进计算机及相关行业不停进步的巨大力量。很多人可能尚未意识到,我们使用的电脑中运行 有开源软件,手机中运行有开源软件,家里的电视也运行有开源软件,甚至小小的数码产品(如电子相框)中也运行有开源软件,尤其是互联网服务器端软件,几乎 全部是开源软件。毫不夸张地说,开源软件已经渗透到了我们日常生活的方方面面。那么,开源软件到底什么,开源软件尤其是国内的开源软件及社区的现状如何, 发展面临哪些困难和问题?

host

2 开源软件的基本概念

在讲述国内开源软件的发展情况之前,我们先就开源软件的一些基本概念做一些普及。

2.1 为什么会有开源软件?

广义上讲,开源软件指所有公开源代码的软件,包括某些商业软件也可能是开源的。但我们通常所说的开源软件,是狭义上的,指任何人可以通过极低的成本 (如仅仅访问互联网而无需其他额外费用)获得该软件源代码的软件,也就是其源代码向公众开放。和狭义上的开源软件相对应的,就是那些不向公众公开源代码的 软件,通常就是商业软件。

实质上,在计算机出现的最初年代,几乎所有的软件都是开源的。那时的计算机企业,主要是以销售硬件产品为主,软件几乎都是附送的,加上那时的软件规 模都不大,以源代码形式提供给用户还可以缓解一定的技术支持压力——有问题由用户自己修改解决。所以,最初的软件几乎都是以开源的方式提供的。因此,对着 迷于计算机编程的工程师来讲,获得软件的源代码几乎是天经地义的事情。这样,当以微软为代表的企业开始实践纯软件产品的商业模式(核心思想是提供二进制可 执行程序的使用许可,而不提供源代码),就引起了许多计算机编程爱好者的不满:给我一堆二进制程序,我如何才能按我自己的想法改进程序?在这种背景下,真 正意义上的开源软件就自然而然地产生了。

2.2 开源软件的发展历程

开源软件的发展,和互联网的发展密不可分。真正有规模的开源软件,应该是从上个世纪 90 年代开始进入公众视线,也就是互联网开始兴起的年代。我们大致可以将开源软件的发展分为如下三个阶段:

  1. 萌芽阶段(上世纪九十年代之前)。这个阶段主要以个人和大学为主,因为发布条件受限,大多数开源软件无法得到有效传播,而仅仅流传于互相熟悉的程序员和老师、学生之间。这个阶段的典型开源软件为 BSD 操作系统。
  2. 以非盈利组织为主的阶段。这个阶段应从上个世纪九十年代算起,说起这个阶段,我们不得不提到 Richard Stallman 发起的自由软件基金会,还有 Apache 基金会等。前者发起的 GNU 项目(1983 年发起,九十年代后随 Linux普及),成就了 Linux 操作系统;后者维护的 Apache WEB服务器,在互联网上几乎占据了统治地位。
  3. 以大型IT企业为主的阶段。这个阶段出现于 2005 年之后,以谷歌为代表的大型互联网企业,开始以各种方式发布开源软件,最为著名的是 Chrome 浏览器以及 Android 操作系统;当然还有 Intel、Nokia 等企业主导的 Moblin、MeeGo 等基于 Linux 的智能手机操作系统。

2.3 开源软件许可证

笔者看来,软件作者选择向公众开放源代码,其理由无外乎如下三种:

第一,那些认为所有软件都应该以源代码方式发布的。如 Richard Stallman,他认为所有的软件都应该是开放源代码的,甚至为了建造一个理想中的全开源软件世界,创立了自由软件基金会,发明了 GPL 许可证,发起了 GNU 项目。

第二,通过开源软件展示自己的软件设计、算法和编码水平,并期望获得他人认可的。大部分小型软件或者程序的作者,或者由大学主持和维护的开源软件,出于这种目的向公众开放源代码。

第三,通过开源软件谋求获得广泛推广,并通过提供增值的产品或者服务来获得商业收益的。这通常是商业企业选择开源软件的原因。如 FireFox、MySQL、Android、WebKit 等属于这种情形。

为了达到上述三种不同的目的,人们在现有软件著作权的法律框架内,发明了多种用于开源软件的许可证。这些许可证从法律上帮助对开源软件有不同诉求的软件作者,获得自己想要的结果。要想具体了解这些许可证的实质内容,我们首先需要更加深入地了解软件著作权。

许多开发者对软件著作权只有一个初步的、模糊的认知。我们经常会在各种软件的启动画面或者关于对话框中刚看到类似“版权所有 (C) 2012 某公司;保留所有权利”的用语。这说明,软件著作权包含了很多权利,所以才有“保留所有权利”这样的说法。具体而言,软件著作权大致包括如下几个权利:

  • 署名权。就是署上自己大名的权利,向人们说明这是我的作品。这里的“我”,可能是个人,也可能是法人单位。
  • 修改权。就是是否可以修改软件,比如翻译软件界面中的文字。对非开源软件,就是是否允许你反编译软件并修改的权利。对开源软件来讲,就是修改其中可能存在的缺陷,或对一些代码进行优化、重构等等。
  • 复制权。就是将软件进行复制的权利。和图书类比,就是你能不能抄写和/或复印图书。
  • 发布权。就是将软件副本交给他人的权利,不管是收费的还是不收费的。

对商业软件而言,这些权利都被保留,意思是什么呢?就是说,你不能修改,也不能复制,还不能随便发布给别人。那用户能做什么,唯一的就是安装和使用 这个软件了。当然,大部分商业软件都附带有一个《最终用户许可协议》,其中告诉了你能做什么,不能做什么。比如,你可以因为备份的原因复制这个软件。另 外,还定义了很多免责条款,比如,如果 90 天内软件的存储介质损坏,可以免费替换;如果因为使用本软件导致数据丢失或损坏,概不负责之类的。

对开源软件而言,因为任何人可以几乎无成本获得软件的源代码或者最终程序,用户使用这个软件要是有了问题,都去询问作者,那作者就吃不消了。所以,开源软件也通常使用某个特定的许可证来约定作者以及使用者所承担的权利和义务。

自由软件基金会制定的 GPL 许可证,应该是开源软件使用的各种许可证中最为严格的。为了区别于其他开源软件,Richard Stallman 将使用 GPL 许可证的开源软件称为自由软件。GPL 许可证的核心内容是:

  • 你可以随意复制和发布软件。如果以二进制方式发布软件,则必须能够让获得二进制版本的人,以不付出额外成本的方式获得其源代码。
  • 你可以随意修改源代码。一旦要发布修改后的软件,必须同时发布修改后的源代码。也就是说,修改版本也必须以 GPL 许可证发布。这就是 GPL 许可证被称为病毒许可证的一个最重要原因。
  • 如果 GPL 软件作为其他软件的一部分使用(后者称为 GPL 软件的衍生作品),不论是静态链接还是动态链接,衍生作品也要遵循 GPL 许可证。这是 GPL 许可证被称为病毒许可证的另外一个重要原因。
  • 无任何担保。就是说,使用 GPL 软件,出了问题不要找原作者,你需要自己负责。

Richard Stallman 希望通过这样严格的 GPL 许可证,来建立一个所有软件均遵循 GPL 的理想软件世界。除了 Richard Stallman 所倡导的理想王国之外,还有许多个人和组织,以不同于自由软件的方式来发展开源软件。这些开源软件所使用的许可证相比 GPL 要宽松一些,或者很宽松。这些开源软件作者,通常属于本节前面所讲的第二、第三种人,所以他们使用的许可证有如下共同点:

  • 免担保,责任由使用者自负。
  • 随便复制和发布。
  • 不限制商用。

这些许可证的不同点在于:

  • Apache 许可证:如有修改,必须保留已有的版权声明,且必须包含新的版权声明。通俗理解,就是要保留原作者信息,也就是署名权。
  • BSD 许可证:不允许在衍生软件作品中提原作者的名字,其理由是,因为你的修改可能污染原有代码,破坏原作品的品质。
  • MIT 许可证:在衍生软件作品中,必须提原作者的名字;其理由是,原有代码作者应得到充分尊重。
  • Mozilla 许可证(MPL):就原有软件所做修改,必须可以以各种可能的方式发布其源代码(包括使用 GPL 许可证),且应该有修改说明。

除了上述许可证之外,还有一个广泛使用的 LGPL 许可证。该许可证最初是针对函数库专门制定的。为了避免类似 C 基础库这样的软件因为采用 GPL 许可证而让使用它的软件(衍生作品)成为 GPL 软件,从而定义了 LGPL 许可证。试想,如果 C 基础库也采用 GPL 许可证,那就失去了它本身存在的实际价值,因为其他任何非 GPL 软件都不能使用采用 GPL 的 C 基础库。所以,LGPL 定义,当 C 基础库这样的软件以动态链接的形式由其他软件使用时,这些软件就可以不遵守 GPL 许可证,甚至可以是商业软件。另外,本某种角度看,LGPL 和 MPL 本质上是一样的。

当然,除了上面的各种许可证,还有的开源软件作者根本不关心保留什么权利,或者对其作品做什么样的约束,相反,这些作者开源其软件,就是为了“有 用”,任何人拿这种软件做什么,对原作者来讲,都是无所谓的。这种软件亦称为“礼物软件”,相当于作者放弃了有关软件著作权的所有权利,也就是所谓置于 “公共领域(public domain)”当中——随你怎么用。

2.4 为什么开源软件会得到快速发展并广泛应用?

很多人不理解,既然作者这么大方地将源代码都公开了,只是为了“有用”,且不提供任何“担保”,看起来原作者是无法直接获利的,那为什么没有直接的利益驱动,开源软件却能够得到这么快速的发展和广泛应用呢?

笔者初探其原因,大致有四:

  1. 开源软件虽说不提供任何担保,但既然原作者愿意公开源代码,说明作者对代码的质量还是非常有信心的。实际上,开源软件的作者通常都是编码高手(俗称“黑客”),其质量甚至超过某些商业软件。
  2. 开源软件因为其免费特征,能够得到大量用户的使用和验证,通过形成和用户(往往也是编码高手)之间的互动和交流,能够以最快的速度修复可能的缺 陷,改善软件设计。Linux 内核的发展就形成了一个以全世界内核高手为主的松散社区,通过快速迭代开发,加上其免费特征,迅速占据了原先由商业 UNIX 系统控制的服务器操作系统领域。
  3. 因为任何人都可以得到其源代码,所以很多用户就可以自行修改其源代码,以满足自己的一些特别需求。
  4. 因为开源软件的涉及面非常广,利用已有的各种成熟开源软件,任何具有一定实力的组织,均可在较短时间内形成一个基本成熟的软件平台,进而可和已有的商业软件平台进行竞争。谷歌的 Android 系统属于此种情况的典型。

所以,尽管开源软件的发展历程并不是一帆风顺的,但基于以上原因,开源软件显现出了其强大的生命力。各种基于开源软件的成功商业模式,也为开源软件的发展注入了加速剂。有关围绕开源软件的成功商业模式,可见本文第 4 章。

 

3 国内开源软件的发展及社区现状

3.1 国内开源软件的发展简史

国内开源软件的发展大致始于 1997 年前后。那时,中国第一个(局部)互联网(CERNET)刚刚建立不久,1995 年在清华大学建立的著名水木清华 BBS 就是开源软件。自那之后,Linux 内核以及 GNU 项目中的成百上千个开源软件突然展现在国人的面前。在这之前,国内软件开发者,几乎没有人会认为获得程序的源代码是天经地义的事情(写到此处,笔者再次感 叹文化和背景的不同所带来的认知差别)。但随着带有源代码的 Linux 操作系统随着互联网以及廉价光盘的广泛传播,当你能看到这些优秀的软件是如何设计和编写出来的的时候,我相信,大部分程序开发者都会和笔者一样——那心情 岂止是“激动”两个字可以形容的?

在这样的背景下,中国也出现了一些开源软件。最初由国人开发的开源软件,主要解决的是 Linux 系统的汉化问题,流传最为广泛的应该是可以显示和输入中文的伪终端应用程序 CCE。在 1998 年之后的两三年内,出现了如下三个开源软件:

  • 章文嵩博士开发的 LVS(Linux Virtual Server),后来被 Linux 内核收录,成为使用 Linux 操作系统搭建集群服务器的重要核心软件组件。
  • 当时的清华大学博士生苏哲开发的 Smart Boot Manager,是一种引导管理器,类似现在流行的 GRUB,主要解决引导多种操作系统的问题。苏哲后来主持开发的 SCIM 系统,被各种流行的 Linux 发行版收录,成为了 Linux 操作系统上提供多语种输入法支持的标准框架。
  • 笔者开发的 MiniGUI,后来由笔者创立的北京飞漫软件技术有限公司继续维护和发展,在功能手机、数码相框、工业控制系统和工业仪表中得到了广泛应用。

上述三个开源软件,成为中国开源软件早期的代表作,在国际上具有较强的影响力,很多台湾同行也知道这些软件,提起来往往是赞不绝口。

在此之后,国内开源软件的发展长期处于停滞状态,这和 2000 年左右 DotCOM 泡沫的破裂有一定的关系。DotCOM 泡沫的破裂,让许多梦想通过开源软件来创造商业奇迹的 Linux 发行版厂商很是受伤。比如,笔者曾经供职过的蓝点软件,在 NASDAQ OTCBB 板借壳上市,半年之内股价从 20 多美金跌到 0.2 美金,后于 2001 年贱卖。RedHat 等知名 Linux 发行版厂商也深受其害,另外一些抗跌能力不强的从事开源软件相关业务的企业更是一蹶不振,甚至关门大吉。

DotCOM 泡沫的破裂,给很多支持开源软件的理想主义者浇了一桶凉水,开源软件的商业化发展步伐减缓,从而影响了国内开源软件的发展。2000年前后几年,以北京、 武汉等地的 LUG(Linux User Group)为代表的各类开源软件组织非常活跃,而从 2003 年开始,逐渐降温甚至消失。

但是,国际上深信理想主义的黑客文化并没有因为 Linux 发行版厂商的商业化遇阻而停止发展,Linux 内核、GNU 项目、GNOME 和 KDE 等等软件继续向前发展。同时,2005 年后,又出现了如下在当前 IT 领域有着举足轻重影响力的几款开源软件:

  • Mozilla 基金会(以 Mozilla 基金会下属 Mozilla 公司的成立为准)以及 FireFox 浏览器。Mozilla 公司通过 FireFox 浏览器获得了来自谷歌等公司的大量合作收入,从而实践了没有赞助也能自负盈亏的商业模式。
  • WebKit 浏览器引擎。WebKit 浏览器是苹果 Safari 浏览器、谷歌 Chrome 浏览器使用的浏览器核心引擎。WebKit 其实是由苹果公司发起的开源项目,在早期 KDE 系统的 KHTML 和 KJS 两个子系统基础上发展而来。
  • 谷歌的 Android 操作系统。Android 操作系统的上层虽然是虚拟机和 Java 应用,但底层却使用了大量开源软件,如 Linux 内核、SQLite 内嵌式数据库、FreeType 矢量字体渲染库等等。

显然,从 2005 年起,开源软件的发展从一个低谷重新引来了发展的高潮,而这次,与前述的第三个阶段吻合,即以大型 IT 企业为主导进行发展。在此期间,国内也出现了为数不多的一些开源软件项目,其中以清华大学陈渝副教授主持的 SkyEye 最具代表性。该项目旨在提供一个面向嵌入式软件开发和调试的 ARM 或其他架构的纯软件仿真器(虚拟机)。该项目持续活跃长达七年时间,吸引了许多来自海外的高手参与,是为数不多具有国际影响力,且充分体现了国际化协作、 分享的开源软件项目。

与此同时,RedHat 以及国内的红旗等公司,也开始通过提供针对服务器的 Linux 定制版本而获得可观收入,之后,Ubuntu 这一在桌面系统上广泛应用的 Linux 发行版也实践了其成功的商业模式,占据了绝大部分 Linux 桌面发行版的市场份额。

2008年金融危机后,传统企业为了降低IT的总拥有成本逐步使用Linux和开源软件,尤其是金融企业,世界上主要证券交易所如纽约交易所、NASDAQ、东京交易所、伦敦交易所等先后迁移到Linux。这标志着开源软件进入了不可逆转的发展通道。

从 2005 年开始,国内的开源软件也开始进入上面所说的由大型企业主导的第三个阶段,参与开源项目的企业当中,最为活跃的是淘宝,接下来是新浪、百度、腾讯和华为 等。同时,随着“开源中国”等社区的兴起,个人主持或者参与的开源软件逐渐多了起来。根据“开源中国”收录的开源软件,当前已经有一千多个由国人开发或者 主持的开源软件。这和十年前相比,已经有了非常大的进步。有兴趣的读者可访问http://www.oschina.net 了解。其中值得一提的开源软件有:

  • TFS。TFS是一款由淘宝开发的分布式对象存储系统,于2010年9月开源,在淘宝它存储了几百亿张图片和交易快照。新浪微博已在生产系统中使 用TFS作图片等对象存储。淘宝承诺发布的开源版本与自身使用的版本保持高度一致,并同步更新,这为国内开源软件的发展起到了积极的推动作用,TFS已经 成为国内企业利用开源方式形成核心竞争力的典范。
  • TAIR。TAIR 是一个高性能、可扩展、高可靠的分布式key/value存储系统,淘宝在2010年6月开源。在淘宝约有600台TAIR服务器广泛应用在Web服务器和数据库中间作对象缓存。国内的豆丁网等公司已使用TAIR。
  • OceanBase。OceanBase是一个高性能海量数据库系统,由淘宝开发,于 2011 年 5 月开源。淘宝在其收藏夹等多项功能中使用该数据库,已经历实际应用的检验。
  • RT-Thread。这是一个由国人主持开发的开源实时操作系统,曾获得“第六届中日韩开源软件竞赛”的技术优胜奖(其他两个技术优胜奖获得者为淘宝OceanBase 和红旗Qomo Linux)。RT-Thread 目前也获得了诸多商业应用。
  • Linux Deepin。这是近几年发展起来的面向桌面的中文 Linux 发行版,由一群来自武汉的 Linux 高手发起并维护。
  • ucore:2010 年暑假开始,陈渝博士组织清华大学学生开展教学用开源操作系统ucore的设计与实现,并直接用于清华大学的操作系统课程,学生可参考实验文档和 ucore源码通过实践逐步深入掌握操作系统。这相对国内操作系统旧有的教学方法有较大改变,获得了国内外操作系统教学领域专家的认可,并将在教育部的支 持下进行更大范围内的推广。

3.2 国内开源软件的特点和问题

但国内开源软件也存在很多问题,如缺乏重量级软件,缺乏持续维护和更新,质量一般,用户不多等等。另外,如开源中国创始人所言,国人所开发的这些开源软件,和国际主流开源软件脱节严重,绝大多数的状态是单打独斗。

比如淘宝主导或参与的开源软件,大多数和互联网服务器后台、云计算相关,这些项目的主要用户是淘宝自己。因为门户之见,这些软件很难被其他的互联网 企业所使用,大家不停地“造轮子”而忽视了开源软件发展必须具备的“共享”、“协作”之精神。当然,这种情况正在改变,比如上面提到的淘宝 TFS 系统已被其他互联网企业使用,ucore 项目也得到了诸多国内、国外大学积极响应和支持。

笔者希望国内的开源软件作者能够和国际主流的开源软件步伐保持一致,摒弃门户之见,要么加入国际化的开源软件,要么将自己主持的开源软件逐步国际化。这样,我们的开源软件才能得到源源不断的前进动力,也才能在国际化舞台上扮演更加重要的角色。

3.3 新的力量

但不论如何,国内大型 IT 企业参与开源软件本身就是一个良好的开端,将为中国开源软件的发展起到非常大的促进作用。

与此同时,各种开源社区活动也越来越活跃,比如具有政府背景的“开源软件高峰论坛”和草根性质的“我们的开源软件”巡回展演等。在最近的“我们的开源软件”巡回展演中,参与介绍的开源软件多达几十种,参会人员众多,而这一切都是社区成员通过“微博”等方式发起和组织的。

这表明,开源软件即将在国内引起新一轮的发展浪潮。

4 开源我的软件?

在高物价、高房价的今天,大部分人对此问题的第一反应是:“我就一刚解决温饱的码农,我开源,谁养我?”这问题,和我们在十年前推广开源软件理念时 遇到的问题几乎一样。但其实,这话已经大大落后于时代了!我们不仅仅可以通过使用其他人的开源软件赚钱,还可以通过开源自己的软件来赚钱。

4.1 别人靠开源软件如何赚钱?

在证明上述论点之前,我们先看看别人是如何利用开源软件赚钱的。靠开源软件赚钱的方式(经过验证的)无外乎有如下几种:

  1. 双许可证模式。即在采取严格的开源软件许可证的同时(通常选择 GPL),给商业用户提供非 GPL 许可方式。这本质上是一种贩卖软件许可的行为,但开源软件带给开发者一个很大的好处,即传播迅速,快速迭代。笔者主持的 MiniGUI 项目就采用这种模式,在过去的五年当中,获得了几千万元的软件许可收费。当然,使用这个模式最成功的当属MySQL。
  2. 基础软件采用宽松许可证,同时向基础软件的商业用户贩卖增值服务或者增强组件、开发工具等的许可。这种模式可用于类似 RT-Thread 这类的基础性软件上,RT-Thread 本身可以是开源且可无偿商用的,但其上的各种增值组件,如网络、文件系统、图形系统等,可以是商业软件。国外采用这种模式的以各类 CMS 系统为主。比如 Drupal 和 Concrete 系统,其基本系统是开源且免费的,但其上的许多插件、主题、模版等是收费的。有兴趣的读者可访问 http://www.concrete5.org 网站,其中还有“Marketplace(市场)”频道。
  3. 混合模式,既贩卖工具等软件的许可,同时还向用户提供付费服务的模式。比如 Ubuntu Linux 发行版。
  4. 成为平台型软件,并承载自己的互联网业务。这种模式在大型互联网企业中应用广泛。比如谷歌开发并开源 Chrome 浏览器,短短几年抢占了微软的很多市场份额,通过在 Chrome 中默认使用谷歌搜索引擎而获得极大的收入;再比如谷歌开源 Android,一方面为了遏制苹果 iOS 的增长势头,一方面通过预置 Google 搜索而获得了大量来自移动互联网的流量收入。

显然,有了先驱们的成功案例,作为开源软件参与者,不论是企业还是个人,都可能名利双收。

4.2 IT 企业为何要参与开源软件?

IT 行业中的企业,即使是销售硬件产品的企业,也在不停地开发各种软件,同时也大量使用各种开源软件。对这类企业,开源自己开发的软件其动力是什么?

作为企业,参与或者主导一个开源软件,其最为明显的动力应该是上述的第四个商业模式,即打造一个平台型软件。但是,就中国 IT 企业来讲,笔者尚未看到有此种实力,或者此种抱负的企业存在,毕竟,打造一个平台需要长期的投入,一般情况需要五年或者更长的时间。貌似中国没有一个企业 有这个耐心来投入五年这么长的时间在一个软件上。

那么为什么企业还要参与到开源软件的开发中?笔者认为,谋不了大利就谋点小利,企业主导或参与开源软件,至少有如下几个好处:

  • 提高企业的美誉度。在利用开源软件的同时,也参与到开源软件当中,企业的美誉度会得到很大的提升。
  • 员工更有激情。因为自己的作品能够公之于众,虽然著作权本质上属于企业,但作为实际的编码者,可以通过开源自己的作品来获得额外的成就感和满足感。这对于稳定开发团队、提高开发人员的积极性会有很大的帮助。

当然,也许过不了几年,中国也能出现实践第四种商业模式的大型 IT 企业,让我们拭目以待吧!

4.3 个人开发者如何利用开源软件获益?

如果你是一名开源软件的开发者,打算利用自己的软件开创一家软件公司,该如何做?第一,我们要确定好自己的商业模式;第二,为自己的开源软件选择恰当的许可证。

如果决定选择双许可证模式,应选择 GPL 这样较为严格的许可证,这是这种商业模式能够成功的基础。当然,选择双许可证会阻碍产品在商业用户中的推广。尤其是对初生的开源软件来讲,显然是一种两难 的境地。MiniGUI 之所以可以采用双许可证模式,是因为在成立公司之前和最初的一段时间内,MiniGUI 采取的是 LGPL 许可证,之后在软件足够成熟的时候才改为 GPL 许可证,另外,MiniGUI 用于功能手机等系统中时,因为这种设备一般使用实时操作系统,缺乏应用 LGPL/GPL 许可证的技术条件,所以面向这种设备收取许可费也是天经地义的事情。MySQL 采用双许可证模式得以成功的原因,在于 MySQL AB 公司并不会对仅仅用于WEB服务器的 MySQL 商用行为收费,因为这种情况下,商业用户并不会发布 MySQL 的副本——它只是在服务器上运行而已。

所以,看起来上面提到的第二种、第三种商业模式是最适合个人开发者或者初创公司的商业模式,能够很快的速度推广和迭代软件本身,还能够确保有足够的 收入来保证下一步的发展。在这种模式下,应该选择较为宽松的许可证。但大部分开源软件作者,因为并不真正理解开源软件的许可证,所以采取了错误的许可证 (指在法律上是错误的)。比如 RT-Thread,一方面采用 GPL V2 许可证,一方面又承诺不会对商业使用收费。这其实没有解决根本的法律问题,也就是,使用 RT-Thread 开发的衍生作品,到底要不要遵循 GPL?这个问题和是否收费没有直接关系。要解决这个问题,其实很简单,采用类似 Apache、BSD 或者 MIT 许可证即可。有读者会问,那为什么不能采用 LGPL 许可证?就 RT-Thread 这样的软件来讲,采用 LGPL 和 GPL 没有本质的区别,因为 RT-Thread 的应用场合下一般不支持函数库的动态链接,这导致失去了适用 LGPL 许可证的技术条件。

那么上面提到的最后一种模式,是否适用于个人开发者或者初创公司?笔者的答案是,这种模式是大公司的玩法,小团队或者小公司是没法做这类事情的。

当然,一家软件公司的成败所涉及因素很多,不仅仅取决于产品和服务等技术因素,也取决于很多其他的因素,比如大的市场环境、政策因素等等。因此,真正拿自己的开源软件经营一家企业的并不多,更多人开发开源软件,还是因为个人兴趣,以及对获得业界尊重和名望的驱使。

但真正能够获得业界尊重的开源软件开发者及其开源软件,其实也并不多。也就是说,要通过开发开源软件获得上面所说的“名”,需要开发者具有较高的开发水平和相关能力。这其中主要的能力有:

  • 好的选题。好的选题应该能够跟得上 IT 领域的前沿技术,最好避免重复造轮子的尴尬境地。
  • 较高水平的软件架构设计能力以及编码能力。既然开放了软件的源代码,那自然希望有人去看,并欣赏这些源代码。所以,拥有较高水平的软件架构设计能力、编码能力,是开源软件能够获得用户青睐的一大条件。
  • 较高水平的文档能力。除了编码之外,要让你的开源软件得到大量的用户,你还需要能够编写漂亮的文档,起码要能够撰写很好的安装指导说明文件。
  • 适度的宣传能力。不论好坏,适当宣传自己的开源软件,是获得公众认知的一个良好方式。宣传并不意味着需要花钱,你可以参加各种开源会议,或者在微博上进行宣传,或者通过一些开源社区帮助你来宣传自己的作品。
  • 适度的坚持。好的软件是打磨出来的,如果仅仅靠一时兴趣弄个软件并开源,并没有持续改善,那肯定会半途而废。

当然,除了自己创作一个全新的开源软件之外,要获得上面所说的“名”,还有一个办法是加入到已有的知名开源软件的开发中,尤其是海外的知名开源软件开发中。你可以从帮助他们“汉化”软件开始,然后提交补丁,最后成为主要的开发者。

5 大专院校应该成为开源软件的主力军

一个有趣的现象是,很多开源软件其实就是作者在大专院校或者研究机构工作或学习时发起的,比如本文提到的三个国内早期的开源软件项目。甚至某些开源软件由特定的大学主持和维护,如 BSD 操作系统、PostgreSQL 关系数据库、Minix 操作系统等等。

从国际视角看,开源软件的发展离不开一些知名大学的参与,BSD 和 MIT 许可证分别由加州大学伯克利分校和麻省理工学院定义,并由两所大学在其众多开源软件中使用,也被其他开源软件广泛应用。值得一提的是,苹果公司 Mac 操作系统和 iOS 操作系统,均使用了加州大学伯克利分校开发的 BSD 操作系统内核。

从现实情况看,国内在各大公司工作的程序员们,除非因为供职单位支持,否则很难独立发起和维护一个大型的开源软件,但在大专院校和科研机构工作的老 师和学生,则有得天独厚的条件(主要是有大量的时间,并可能和科研课题和教学任务相结合)来发起和持续维护一个开源软件项目。清华大学陈渝副教授主持的 SkyEye 和 ucore 两个开源项目就是典型的案例。笔者希望国内有更多的大专院校和科研单位(尤其是教师)能够积极参与到开源软件的发展当中,并成为国内开源软件的主力军。

6 政府和开源社区应该做什么?

说实话,笔者并不认为政府在开源软件的发展中应该起主导作用。政府要做的就是制定公平、合理的规则,促进相关法律法规的完善。

从法律上讲,你编写了一个程序,你就自动获得这个程序的软件著作权。在实际操作中,法律要求进行软件著作权的登记,就如同房产证一样,你非要有个政 府颁发的证书才能得到法律的承认。我们暂且不论这个做法是否合理,也不论登记收费这事儿,你需要了解的是,在中国,如果你打算遵循 GPL 许可证开源你的软件,你就无法登记著作权!

当然,众所周知,中国的知识产权保护力度不够,不仅仅阻碍了软件产业的发展,也阻碍了开源软件的发展。

还有,在中国,要注册一家非公益性的 NGO 组织(国外各种软件基金会都是这类组织),是非常非常困难的。这导致截止今天,中国没有任何一家支持开源软件为己任的非营利性基金会组织。

政府所要做的,就是撤销那些违背历史发展大潮的法规和规定,并建立完善的知识产权保护制度,加强对盗版等的打击力度,教育国民尊重他人劳动成果,而不是仅仅停留在口头上。

政府,把上面这些问题解决好了,比直接参与推动开源软件什么的,要强许多倍!比如,加大知识产权的保护力度,一方面可以让商业软件在传统贩卖软件使用许可的商业模式下得到良性发展的机会,也可以让一部分人转向使用免费的开源软件,进而促进开源软件的发展。

当然,在现阶段,通过从财政中拿出来一些钱,设立一些奖励基金之类的东西,给开源软件的作者以一些奖励,也许是更有效的途径。

开源软件本就应该是以松散、自组织的形式开发和发展,开源社区的存在,为开源软件开发者和使用者提供赖以生存的土壤。开源社区可以是网站、论坛,也可以是松散的交流、展演等。当然,开源社区第一步要解决的问题就是自己的生存问题。

笔者的建议是,开源社区应该尝试在现有法律框架下,以有限责任公司的治理结构来做国外开源基金会所做的工作。通过这样一种方式,可以有效避免无法注 册 NGO 组织的问题,然后从企业(尤其是那些大型互联网企业)当中募集捐款,通过赞助一些开源项目,逐步推进开源软件社区的良性发展。

另外,国内开源社区还需要从使用者社区转向开发者社区,为开发者参与开源软件提供便利,如建立类似 GitHub/SourceForge 那样的开源软件托管站点,为开源软件项目提供邮件列表、论坛、博客服务等等。

7 结语——给那些仅仅使用开源软件但不做贡献的企业

将开源软件和商业结合,不管是在自己的项目中使用开源软件,还是靠自己的开源软件来赚钱,都无可厚非。关键是,我们需要尊重开源软件著作权的拥有者,按照开源软件所采纳的许可证办事,只有这样,开源软件才能得到长足发展。

通常,开源软件的作者发布开源软件,是希望获得最多用户使用的,在此基础上,作者要么会获得业界的追捧而一夜成名,要么获得一定的商业利益。所以,从某种角度上讲,使用开源软件本身就是对开源软件的一种支持。

但是,这并不意味着你可以随意使用他人的开源软件。合法使用开源软件的前提,就是遵守开源软件的许可证规定的各种义务。

当然,更有积极意义的方式是,将使用开源软件中遇到的问题或者修正、增强代码提交给开源软件的作者,帮助其改善作品。其实,这是任何使用开源软件的企业都能做到的。

 

 

纯Linux环境、免备案【海外简单云】php空间,108元一年起。

 

网上创业步骤】:
1 开通云主机、域名  2 建设官方网站 3 整体网站推广 … 成功见证 创业技能素质培训

更多有价值的内容:

简单主机官方网站 www.simplehost2.com

简单主机官方网店 store.simplehost2.com

简单主机官方相册 gallery.simplehost2.com

简单主机官方博客 blog.simplehost2.com

QQ空间
腾讯微博
新浪微博
网易微博
搜狐微博
人民网微博
微信公众号
朋友网
淘宝网
豆瓣网
百度空间
新华微博
优酷网
人人网
开心网
天涯社区
简单云,简单主机,简单建站

微信号:simplehost

扫一扫,了解更多…

【简单云】如何利用.HTACCESS实现ZBLOG和WORDPRESS之间的链接跳转

站长朋友们都是知道.htaccess可以实现很多我们想要的功能,比如301 伪静态等等,简单主机php空间也是支持.htaccess的。那么既然是这样,站长朋友只知道htaccess可以实现简单的域名跳转,但是要实现链接跳转,比如说要实现zblog的xxx.com/post /25.html 要跳转到wordpress的vvv.com/25.html,像这样的跳转要怎么跳转呢,根据小编不断的找资料进行查看,根据测试,还是蛮不错的。至少我们可以从这个博客跳转到这个博客的链接。接下来就看简单主机小编的方法:
1、首先我们要把zblog的这个站点的域名指向wordpress这个站点去,然后在wordpress根目录下建立.htaccess,把wordpress的规则复制进去:

1 # BEGIN WordPress
2 RewriteEngine On
3 RewriteBase /
4 RewriteRule ^index.php$ - [L]
5 RewriteCond %{REQUEST_FILENAME} !-f
6 RewriteCond %{REQUEST_FILENAME} !-d
7 RewriteRule ./index.php [L]
8 # END WordPress

2、然后在wordpress的根目录index.php里面把一下代码放进去:

1 $pageurl=str_replace("/post", "", $_SERVER[REQUEST_URI]);
2 $pageurl=str_replace("/catalog.php?tags=","/tag/", $pageurl);
3 $pageurl=str_replace("&page=", "/page/",$pageurl);
4 $pageurl=str_replace("/catalog.php?date=","/date/", $pageurl);
5 $pageurl=str_replace("-","/",$pageurl);
6 Header("HTTP/1.1 301 Moved Permanently");
7 header("location: http://vvv.com/".$pageurl);

这样就完美的实现了跳转
需要注意的是:如果您的zblog是asp的那么就需要把最后代码里面的php换成asp即可。

 

 

纯Linux环境、免备案【海外简单云】php空间,108元一年起。

 

网上创业步骤】:
1 开通云主机、域名  2 建设官方网站 3 整体网站推广 … 成功见证 创业技能素质培训

更多有价值的内容:

简单主机官方网站 www.simplehost2.com

简单主机官方网店 store.simplehost2.com

简单主机官方相册 gallery.simplehost2.com

简单主机官方博客 blog.simplehost2.com

QQ空间
腾讯微博
新浪微博
网易微博
搜狐微博
人民网微博
微信公众号
朋友网
淘宝网
豆瓣网
百度空间
新华微博
优酷网
人人网
开心网
天涯社区
简单云,简单主机,简单建站

微信号:simplehost

扫一扫,了解更多…

【简单云】WORDPRESS文章编辑时怎么设置段落首字下沉

今天简单主机小编给大家介绍的是不问题的解决方法了,问题也不是每天都会遇到的,今天就给大家介绍一个美化网站文章的技巧吧,文章的第一个字或者一段话呈现下沉效果,这个方法也就是使用BBCode快速标签来实现的,浏览文章的用户可以考虑一下要不要在自己的wordpress博客上使用。

首先大家要准备好flashFXP等FTP工具,和N++等文本工具,有这两件神器我们就可以开始了。

使用FTP工具登录php虚拟主机进入到当前使用的主题目录里,把style.css下载出来,然后到路径为…/wp-includes/js的文件夹里面把quicktags.js下载出来,好的,所需要的文件都已经下载出来了,使用文本工具打开它们。

首先给BBCode快速标签添加一个样式,在style.css文件里添加下面的样式代码

1 #fp:first-letter {
2
3  font-size : 300%;
4
5  font-weight : bold;
6
7  float : left;
8
9  margin-right: 3px;
10
11  }

然后在quicktags.js里面的edButtons栏目里添加下列的JS代码作为调用BBCode快速标签的

1 edButtons[edButtons.length] =
2
3  new edButton('ed_capdrop'
4
5  ,'CapDrop'
6
7  ,'<p id="fp">'
8
9  ,'</p>'
10
11  ,'c'
12
13  );

添加完成后把文件保存,上传会相应的位置,就可以使用BBCode快速标签来实现文章的首字下沉或者是文章的任意一段下沉,就看使用者怎么时候这个标签了,还有上面的CSS代码都是灵活的,那家也可以任意修改下沉的距离和字体大小,CSS代码大家应该都可以看的简单明了,大家就动手操作吧。

 

纯Linux环境、免备案【海外简单云】php空间,108元一年起。

 

网上创业步骤】:
1 开通云主机、域名  2 建设官方网站 3 整体网站推广 … 成功见证 创业技能素质培训

更多有价值的内容:

简单主机官方网站 www.simplehost2.com

简单主机官方网店 store.simplehost2.com

简单主机官方相册 gallery.simplehost2.com

简单主机官方博客 blog.simplehost2.com

QQ空间
腾讯微博
新浪微博
网易微博
搜狐微博
人民网微博
微信公众号
朋友网
淘宝网
豆瓣网
百度空间
新华微博
优酷网
人人网
开心网
天涯社区
简单云,简单主机,简单建站

微信号:simplehost

扫一扫,了解更多…

【简单云】利用帝国CMS调用WORDPRESS文章方法

在国内有几款比较流行的开源程序例如帝国cms、dedecms、wordpress等,对于建站的老站长朋友以及做SEO的一定对以上程序非常熟悉不过了,一般都在首页或者内页里面调用最新的或者是最新随机文章爱好吧!假如文章是同一个开源程序,调用起来的话就非常简单了如果不相同的话呢怎么办?下面由简单主机(www.simplehost2.com)小编大概说下如何在帝国cms中调用 wordpress文章方法。

在帝国cms中信息调用标签用的比较多的是ecmsinfo,如下图可以看见是利用ecmsinfo调用标签实现.

 

利用帝国cms调用wordpress文章方法 dg1

帝国CMS

栏目/专题ID和模板ID这两个参数,操作系统默认ID是24。比如[ecmsinfo]10,5,36,1,24,20,0[/ecmsinfo]”10″代表在”管理栏目”里的被标识的相应栏目的ID.20的话代表管理标签为标签模板ID而小编的理解就是整个代码的意思是按照标签模板ID(20)的规则在栏目ID(10)里调用其5篇文章的标题,而且调用的文章标题前不显示其栏目名和图片。

按照上面的例子可以看出,帝国cms调用wordpress博客随机文章的标签如下:

 

利用帝国cms调用wordpress文章方法 dg2

帝国CMS

以上代码的意思是select post_title as title,id as id from wp_posts order by rand() desc limit 5″这一段表示用SQL语句调用wordpress博客的数据库的字段命令。

 

利用帝国cms调用wordpress文章方法 dg3

帝国CMS

而wp_posts是存放wordpress的文章数据库的,假如帝国cms与wordpress博客是
不同数据库,那么,上面的”wp_posts”改为”博客数据库名。 wp_posts”。因为是调用wordpress博客的URL地址,所以,一定要另行自定义一个标签模板。进入帝国cms后台的”模板管理”—“管理标签模板”—“增加模板”以下是小编截图的:

利用帝国cms调用wordpress文章方法 dg4

帝国CMS

一般模板的名字可以随便写写一个自己能记得住的就ok了,如果要调用wordpress博客文章模板的话要在页面模板内容里面输入如下代码
[!–empirenews.listtemp–]
<!–list.var1–>
[!–empirenews.listtemp–]
列表内容模板list.var输入如下:
<li class=”no[!–no.num–]”>
<a href=”/blog/?p=[!–id–]” target=”_blank” title=”[!–title–]”>
[!–title–]
</a>
</li>
这就可以说明,wordpress相对地址是 /blog/?p=* 的,则用 /blog/?p=[!–id–]
伪静态地址 blog/*.html的,则是/blog/[!–id–].html (*代表数字)最后保存
“order by rand() desc”这一段代码表示随机排序,而如果是调用最新文章,则相应的是”order by id desc”
limt 5 这个表示调用5篇文章数目,如果这里是5,后面的第一个数字也必须一样是5(好,接下来把ecmsinfo标签代码放到一些想调用的帝国cms模板里就OK了.完成以上步骤就可以大功告成的喝一杯咖啡放松下!以下是简单主机(www.simplehost2.com)小编给大家本人测试完成后截图!首先展示Wordpress文章截图:

利用帝国cms调用wordpress文章方法 dg5

帝国CMS

帝国cms调用wordpress文章:

利用帝国cms调用wordpress文章方法 dg6

帝国CMS

 

 

纯Linux环境、免备案【海外简单云】php空间,108元一年起。

 

网上创业步骤】:
1 开通云主机、域名  2 建设官方网站 3 整体网站推广 … 成功见证 创业技能素质培训

更多有价值的内容:

简单主机官方网站 www.simplehost2.com

简单主机官方网店 store.simplehost2.com

简单主机官方相册 gallery.simplehost2.com

简单主机官方博客 blog.simplehost2.com

QQ空间
腾讯微博
新浪微博
网易微博
搜狐微博
人民网微博
微信公众号
朋友网
淘宝网
豆瓣网
百度空间
新华微博
优酷网
人人网
开心网
天涯社区
简单云,简单主机,简单建站

微信号:simplehost

扫一扫,了解更多…