分享
 
 
 

Linux系统中搭建LAMP动态博客网站

王朝system·作者佚名  2006-11-23
窄屏简体版  字體: |||超大  

在新Web2.0革命中,博客是最早出现的,也被更多的人所了解。博客的中文有两重含义,既指撰写个人网络日志的人(Blogger),也指承载个人网络日志的网站(Blog)。用全球最大博客网站Blogger.com的解释:“blog 可以是个人日记、每日道坛、合作空间、政治讲坛、特发新闻集散地、各种链接的汇集地、您的个人想法、世界大事备忘录等”,“简单地说,blog 是一个网站,您可以源源不断地往里填充内容。新内容显示在顶部,以便访问者能够阅读到最新内容。然后他们可以发表评论、进行链接或给您发电子邮件”。 显然最早的博客是作为网络“过滤器”的作用出现的,那就是挑选一些特别的网站,并作简单的介绍。因此有人认为浏览器发明人Marc Andreesen开发的Mosaic的What’s New网页就是最早的博客网页。Justin Hall的(http://www.links.net/vita/web/story.html)也是最早的博客网站原型之一。1998年诞生了博客这个概念并有了固定的网站。在美国2000年前后博客发展如火如荼,受到了社会普遍关注。美国很多政治、经济和文化届的名流都有自己的博客,并且这些博客有时就是一些重大新闻事件的源头,对社会有着深远的影响。

目前LAMP (Linux + Apache + MySQL + PHP) 近几年来发展迅速,已经成为Web 服务器的事实标准。现在的Web网站已经不再是仅向浏览者或用户提供静态网页内容的浏览,而是要求能够和用户进行动态的信息交流的动态Web网站,所以,搭建Web网站平台不仅要支持简单的HTML网页浏览,更重要的是使Web站点能和用户实现一种动态的交互式操作。这就要求Web服务器在提供标准的HTML网页浏览之外提供一种能和用户交流的技术。这种技术不但要能够收集和反馈用户信息,还要支持数据库操作(把信息存入数据库和从数据库中检索信息)。PHP是一种跨平台的服务器端的嵌入式脚本语言,它大量的借鉴C、Java和Perl语言的语法,并加入了PHP自己的特性,使Web开发者能够快速地写出动态页面。PHP支持所有主流数据库。它是完全免费的,使用时不需要支付任何费用。本文将要搭建LAMP动态网站博客是基于Linux的完全免费的PHP技术的实现方法。

一、软件的获得安装

在整个配置过程中,我们使用的软件都是完全免费的开放源代码软件,可以从互联网上免费下载。在Linux下开发Web应用,一定要有一个HTTP服务器,这就是著名的Apache。当然数据库是一定少不了的,Linux支持多种数据库,包括像Oracle、DB2等这样大型的数据库。不过与PHP最为相配、也是运用最多的数据库当属MySQL了。另外PHP语言本身也是必不可少的。下面是它们相应的网站: Apache http://www.apache.org ;MySQL http://www.mysql.com ;PHP http://www.php.net 。就Apache而言,有1.3.X版本与2.X版本两个分支。由于2.X是在1.3.X上进行重写,因此在结构和功能上都有很大的改进。关于Apache 1.3.X的安装介绍比较多,故本文选用了Apache 2.X版本。同样,也选用了支持Apache 2.X版本的PHP版本。如何用Red Hat Enterprise Linux AS4.0+Apache+PHP +MySQL+bblog来架构动态网站论坛,所选取的是目前最新版本的软件,均从源代码开始编译,而不是下载二进制文件来进行安装。LAMP的具体安装过程,由于这方面文章比较多笔者就不赘述了。

二、搭建bblog博客网站

下面以Linux发行版Red Hat Enterprise Linux AS 4.0为例,介绍搭建bblog博客网站从安装到使用。

bblog官方网站是http://www.bblog.com/ 最新版本:0.7.6。

1. bblog软件下载:

#cd var/www/html

wegt http://jaist.dl.sourceforge.net/sourceforge/bblog/bBlog-0.7.6.tar.gz

#tar –zxvf bBlog-0.7.6.tar.gz “建立一个目录”

2.为bblog建立数据库:

# mysql –u root –p

Enter password: xxxxxxxxx

Your Mysql connection id is 3 to server version: 4.11

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.

Mysql> create database bblog ; “为phpbb2建立数据库”

Query OK, 1 row affected (0.01 sec)

Mysql>grant all privileges on bblog.* to bblog@localhost identified by ‘76543981’ ; “将建立的 bblog 权限给bblog 帐号,并且设定密码”

mysql>quit

Bye

3. 测试刚建立的数据库与帐号是否可以使用:

# mysql –u bblog –p

Enter password: xxxxxxxxx

Your Mysql connection id is 3 to server version: 4.11

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.

Mysql> connect bblog ;

Connection id: 5

Current database: bblog

mysql>show databases;

+--------------+

| Database |

+--------------+

| mysql |

| bblog |

+--------------+

2 rows in set (0.00 sec)

mysql>quitquit

Bye

4.开始安装bblog :

安装前需要说明的是:Mysql服务器名称为 localhost ,这个是 Mysql 的服务器名称,不是 Linux服务器名称。通常 Mysql 的服务器名称是: localhost 。Mysql 数据库名称为 bblog ,Mysql 帐号为 bblog 且密码为上面设定值。

#cd /var/www/html/bblog #进入到Apache 服务器的确省目录中#

#chmod 777 cache#赋予文件和目录的可以执行权限#

#chmod 777 config.php

#chmod 777 compiled_templates ;#chmod 777 cache/favorites.xml

#chmod 777 install.php ;#chmod 777 install

进行网络安装安裝非常简单,打开Linux的Firefox火狐浏览器在地址栏直接输入:http://主机名/bblog/install.php 后,出现一个协议书,选择同意后点击“NEXT”按钮,会出现对话框让你填写一些系统信息见图-1。

图-1 填写系统信息

为了读者填写方便笔者把它作一个列表,填写内容分见表-1:

表-1系统信息

填写系统信息

填写内容

说明

General Config

基本设定

Blog Name

Cjk

博客名称

Blog Description

My cjk

博客描述

Full Name

Caojh

全名

Username

Admin

管理员名称

Password

XXXXXXX

管理员口令

Re-enter Password

XXXXXXX

再次输入管理员口令

Email address

goodcjh@2911.net

系统管理员电子邮件

Mysql Setting

Mysql数据库设定

Mysql Username

bblog

Mysql数据库用户帐号

Mysql Password

XXXXXXXXXXX

Mysql数据库用户帐号密码

Mysql database name

bblog

Mysql数据库用户帐号

Mysql Host

localhost

Mysql数据库主机名称

table Prefix

Bb_

Mysql数据库表格字首

Server Config

服务器设定

Url to your blog

http://192.168.1.16/

Blog的完整URL

Path to bBlog

/var/www/html/bblog/

Bblog目录的完整UNIX路径

填写结束后按“Next ” 按钮继续,所有配置结束后系统如果出现图2表示安装成功,如果有错误会自动退回到开始的对话框让你从新设定。

图-2系统设定成功

5.安全设定

测试成功后系统提醒你出于安全考虑,删除安装文件(防止他人使用这些文件修改系统信息)

#chmod 644 config.php

# rm –rf install ;# rm –rf install.Php

6.博客的常规设置

以系统管理员的身份登录,登录后对话框下边会出现“博客的管理员控制面板”(见图-3)。

图-3博客的管理员控制面板

博客的管理员控制面板,一共十一个大版面:Post(邮局)、comments(注释)、Archives(管理)、RSS Links(RSS链接)、RSS Fetcher(RSS联播)、Links(链接)Section、Plugins (插件)、Option(选项)、About(声明)、docs(在线帮助,http://www.bblog.com/docs)。通过这些版面这样你也可以自己管理博客了。点击“Post”按钮就可以写自己的博客了,界面见图4。另外在在线帮助页有常见问题回答。可以通过点击“Archives”管理文章。

图4 博客书写的界面

博客写完后就可以发布了,可以点击“Vist you Site”进行浏览了,见面见图5。

图5 Web页面浏览

Bblog的RSS选项:RSS就是互联网信息相互交流引用的通用语言,是一种简单的新闻聚合标准,一种将信息推送到用户端的推送技术。RSS是基于文本的格式。它是XML(可扩展标识语言)的一种形式,所以通常RSS文件都标为XML。目前有很多根据RSS标准开发的阅读器软件,或者内容聚合主页。RSS技术最早是由NetScape设计出来的,目的是建立一种新闻频道标准,遗憾的是当时NetScape和微软在浏览器两强争霸中节节败退,也就没有多余的心思和精力去发展完善RSS技术,RSS也因此沉寂多年,直到这两年网络中博客(Blog)横行,RSS才重新找到了用武之地,使其成为Blog间相互传递新闻主题和内容的方式,RSS也由此随着Blog的日渐盛行而被新闻网站认同并加以应用。Bblog内置了RSS Linker和RSS Fetcher。方便用户使用RSS阅读器浏览博客。RSS应用最火爆的当属博客、播客等网站支持RSS。在传统网站中,目前只有一部分支持RSS,而且一般只提供很简单的内容提要,要阅读全文还需要打开相应的网页。因此,RSS应用仍然受到了很大的局限,故此更多地与新型的网络应用播客、博客等紧密结合。

7. bblog博客的一些安全措施

1.管理员权限

bblog博客的系统管理员具有最大的权限,而该权限可能会与其它的板主权限相冲突而造成不可预期的错误,所以最好不要让系统管理员当版主。另外用root权限运行MYSQL也不太安全,这里推荐使用其他用户运行MYSQL。方法是:

# mysql -u root -p

Enter password:xxxxxxxxx

………

mysql>update user set user="cao" where user="root";

mysql> flush privileges;

mysql>quit

Bye

以后就得通过cao帐号访问mysql数据库了。

2. 关闭Mysql远程连接

首先,应该关闭3306端口,这是MySQL的默认监听端口。由于此处MySQL只服务于本地脚本,所以不需要远程连接。尽管MySQL内建的安全机制很严格,但监听一个TCP端口仍然是危险的行为,因为如果MySQL程序本身有问题,那么未授权的访问完全可以绕过MySQL的内建安全机制。关闭网络监听的方法很简单,mysqld进程启动时,会自动寻找/etc/my.conf这个配置文件。在/etc/my.cnf文件中的[mysqld]部分,去掉#skip-networking前面的“#”即可。另外要尽量养成在mysql下输入密码的习惯,因为Shell下面输入的时候可能会被其它人看见。

3.php配置文件的安全设定:

phpinfo和get_cfg_var函数主要用于调试程序是否正常,当LAMP安装结束后应当禁用,在php.ini文件加入一行:

disable_functions = phpinfo,get_cfg_var

这样可以避免泄漏系统服务信息。关于php和Apache其他安全措施可以查看笔者的:教您如何应用PHP开发出安全的应用程序,链接:教您如何应用PHP开发出安全的应用程序

4.关注补丁问题

bBlog功能强大包含系统信息也比较多,所以,您必须要了解到这个软件有可能会产生一些安全上的漏洞的。例如2004-10-12 bblog被发现bBlog包含的rss.php脚本不正确处理用户提交的URI输入,远程攻击者可以利用这个漏洞

进行SQL注入攻击,可以获得敏感信息或更改数据库。rss.php脚本对用户提交的$p参数缺少过滤,就直接传递给$bBlog->make_post_query()函数,攻击者提交特殊的SQL数据作为$p参数数据,可以更改原有SQL逻辑,可以获得敏感信息或更改数据库。使用0.7.3和0.7.2版本的用户请马上下载补丁(http://www.servers.co.nz/security/patches/SCN200409-1/rss.php-patch.txt)或者升级到0.7.4版本以上。建议您随时注意bblog官方网站,这里不定期的会有一些安全技术公告,可以帮助您的博客使用更加安全。

另外 你应该经常到你所安装的系统发行商的主页上去找最新的补丁。对于私有操作系统,如Windows/Solaris等,由于个人用户不能直接接触其源代码,其代码由公司内部开发人员维护,其安全性由同样的团队保证,内核的修正与其他应用程序一样,以patch/SP包的方式发布。对于Linux这样的开放式系统,是一种开放的结构。应该说,开放的模式是双刃剑。从机制上讲,全世界的开发人员都能获得源代码,从而找出其中的纰漏,似乎安全性应该更好;但是同时,如果网络管理人员不能及时更新内核,也会留下安全隐患。而且,影响操作系统安全的因素有很多。仅仅通过开放或者封闭源代码,都不能从根本上解决安全问题。如果你是一个Linux网管员,你经常需要上相应的网站看,是否有补丁,是否有了bug fix,是否需要升级。Linux服务器运行的软件主要包括:Samba,Mysql,Php,Apache,Firefox等,这些软件,大都是开源软件,而且都在不停升级,稳定版和测试版交替出现。在Apache等网站上,最新的ChangeLog中都写着:bug fix, security bug fix的字样。所以Linux网管员要经常的关注相关网站的bug fix和升级,及时升级或添加补丁。

总结:LAMP和bblog可以组成一个优秀的博客网站,可以在互联网上运行,也可以在Linux局域网中运行。1999年,也是博客开始高速增长的一年,主要是包括Pita、Greymatter、Manila、Diaryland、Big Blog Tool,但是基本是基于Windows操作系统。Bblog是Linux网络环境下的为数不多的博客软件。有了Bblog一个博客就可以低成本地发布、更新和维护自己的博客网站。在预算短缺的今天,LAMP+bblog组成博客网站无疑具备明显的价格优势。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有