基于LAMP环境的PHPBB论坛毕业设计.doc

上传人:仙人指路1688 文档编号:4250493 上传时间:2023-04-12 格式:DOC 页数:48 大小:6.54MB
返回 下载 相关 举报
基于LAMP环境的PHPBB论坛毕业设计.doc_第1页
第1页 / 共48页
基于LAMP环境的PHPBB论坛毕业设计.doc_第2页
第2页 / 共48页
基于LAMP环境的PHPBB论坛毕业设计.doc_第3页
第3页 / 共48页
基于LAMP环境的PHPBB论坛毕业设计.doc_第4页
第4页 / 共48页
基于LAMP环境的PHPBB论坛毕业设计.doc_第5页
第5页 / 共48页
点击查看更多>>
资源描述

《基于LAMP环境的PHPBB论坛毕业设计.doc》由会员分享,可在线阅读,更多相关《基于LAMP环境的PHPBB论坛毕业设计.doc(48页珍藏版)》请在三一办公上搜索。

1、开源代码应用总结报告 设计题目:基于LAMP环境的PHPBB论坛专 业 计算机科学与技术 班 级 计科101班 学 号 201016021213 学生姓名 陈华军 指导教师 付湘琼 教师评分 2013年10月15日目录第一章概述11.1目的11.2使用的软件平台3第二章任务完成过程42.1 Linux系统安装及其配置(Gentoo)42.1.1安装VirtualBox52.1.2新建虚拟电脑及配置52.1.3开始安装Linux系统(Gentoo)82.2 MySQL数据库系统安装及其配置222.3Apache WEB服务器安装及其配置262.4服务器脚本安装及其配置272.5 PHPBB论坛的

2、安装及配置32第三章 总结453.1 过程及步骤453.2 所遇到的问题,你是怎样解决这些问题的463.3 体会收获及建议47第一章 概述软件是近百年发展最快的技术之一,特别是随着智能手机与平板电脑的普及,软件技术更是渗透到了我们生活的各个方面。学会编程,并不意味着要去要去建一个复杂的系统。其实写的个报表的计算公式或者做一个小动画可以是一种编程的体验。知识是多样的,学习的目的不同,学的内容也不同。计算机的出现,使学的工具发生了根本的变化,而程序的灵魂,因此学习编程不仅仅是软件工程师的事,它应该成为每个社会成员的一个基本的技能。正如语言是人类交流的基本技术,编程是人与机器交流的基本技能。学会编程

3、,可以使机器按照你的意志运行,使每个人按自己的兴趣整合信息资源,以利于更有效的学习。软件编程需要的基本环境就是一台电脑,当然如果有互联网的接入则更利于交流与技术信息的查询。1.1 目的1. 源代码是最好的营养使用Linux最大的好处是它本身就是一个软件开发的开放平台,你可以方便地下载各种开发工具,比如gnu c/c+,python或者其它。你应该学会使用apt-get, 这是一个Ubuntu下强大的软件包管理工具。在网站kernel.org上,有各种版本的内核源代码,如果你想从根本上学习操作系统,也可以通过LFS快速地学习内核构建的过程。源代码开放的最大的好处是我们不需要重复设计和制造轮子。每

4、个人都可以在软件巨人的臂膀上构造自已的梦想代码天堂。无论从美国的facebook 谷歌 苹果还是中国的华为成功的经验中我们可以看到,开源的代码以及开源的项目是当前众多商业公司的技术立足之根本。开源已经造就了无数商业神话。我们大部分人只知道苹果的酷,但很少有人在苹果的版权说明中,看有关开源项目的罗列。2. 开源的精神内涵使学习变得更加有意义在商业极度发展的今天,人们对物质的无限追求使很多人忘记了生活的本质。人被异化为物的附属品,价值被虚拟的概念、标签重置。互联网的出现,促进了人类相互之间的沟通。软件高速更新发展的自然需求和因团队协作所带来的有效性、高效性造就了一个全新的文化:开源文化。软件便与分

5、享、开源代码便于扩展的特质,使以Linux操作系统为代表的开源项目迅速崛起。大批的软件工程师不仅通过开源项目找到的精神寄托、同道中人,而且还找到了与商业社会有效融合的模式与渠道,解决了事业与兴趣结合问题,实现了生活、学习、工作甚至社会公益有完美统一。在开源精神的感召下,学习变得更加积极主动。在分享、贡献的核心价值体系下,人们能充分体会人心温情的另一面。与传统商业社会利用信息不对称在交易中图谋利益最大化不同,开源世界里的人们在创造、协作的过程中完成一个又一个不断成长的软件系统,这些系统有些使整个社会运行更有效、当然也有的在损坏甚至危及社会的安全。人类精神世界的两面性在开源世界里更直接、更激烈地表

6、现出来,正在影响着现实的诸多方面。3. 开源社区是最好的学校软件是构建虚拟世界的基础,而开源社区则是软件新技术产生、发展的主要场所,因而也是学习软件技术最好的学校。在开源社区里,有大量热心的程序员他们乐于分享自已对技术的理解、心得,他们通过各自的行动扩大自已的影响力,在协助别人的同时不断加深自己对技术的理解程度和实践能力。而新的社区加入者也可以在与社区互动的过程中找到自已技术与精社的导师(Mentor), 正如电影黑客帝国(Matrix)中尼欧(Neo)遇到摩菲(Morpheus)。4. 移动互联网时代,学习是开放的更是开源的随着智能手机、平板电脑的普及,学校以及教室的功能将被弱化,人们可以在

7、各种公共场所组成形式多样的学习社区。而开源社区提供多种专业技术人员以及业余爱好者面对面交流的机会。有的地方还出现了包括软件、硬件开源的创客空间。大家在无线网络环境下快速组成学习社区,分享交流最新的技术,互相协助解决各种技术问题。发现的志同道合的朋友,有的技术团队在天使投资者的支持下,在学习的过程中还可以建立创业团队。在企业的内部,根据企业的发展战略,也可以形成企业内部的开源社区,通过开源项目整合企业内部与外部的技术资源。开放的心态使企业以开源文化的发展为契机引领技术的潮流。1.2使用的软件平台主机操作系统:Windows7 Profession 64bitLAMP环境(Linux+Apache

8、+MySQL+PHP)需要准备的软件和工具:gentoo install-x86-minimal-20120621VirtualBox v4.2.16.86992 .exestage3-i686-20130820.tarportage-latest.tarmysql-5.6.10.tar.gz cmake-2.8.10.2.tar.gzphp-5.4.3.tar.gzapr-1.4.6.tar.gz apr-util-1.5.1.tar.gzhttpd-2.4.4.tar.bz2ApachePHPBB论坛介绍:phpBB是一种广泛流行的开源论坛软件,具有易于使用的管理面板和友好的用户安装界面,

9、可以轻松的建立起一个论坛,功能上具有很高的可配置性,能够完全定制出相当个性化的论坛。可以使用MySQl、PostgreSQL、MS-SQL和Access/ODBC等数据库。第二章 任务完成过程2.1 Linux系统安装及其配置(Gentoo)首先准备以下三个文件:2.1.1安装VirtualBox2.1.2新建虚拟电脑及配置2.1.3开始安装Linux系统(Gentoo)Gentoo最小安装光盘(gentoo install-x86-minimal.iso【190M】,在有网络的环境下安装,刻录安装光盘并启动。现在引导你的光盘,选择一个内核(如果你不喜欢默认的gentoo内核)和启动选项。启动

10、一个安装光盘:boot: gentoo dopcmcia。用光盘引导到LiveCD环境,然后你看到一个启动画面和一个进度条。配置当前LiveCD环境的网络安装Gentoo时,服务器引导的LiveCD环境必须能够连接外网。因为在安装过程中需要在线下载内核和其它相关软件。如果我们还想用ssh远程进行安装操作,服务器引导的当前LiveCD环境还要开启sshd服务,使服务器可以用Linux下的ssh或Windows下的PuTTY远程连接。所以这里的网络设置主要实现两个目的:一是使当前服务器引导的LiveCD环境能够连接外网,二是开启sshd服务,使服务器可以用ssh远程连接。设置IP地址:检查服务器是

11、否可以连接外网,我们ping一下百度的网站。可以ping通百度,连接外网OK。开启sshd服务: livecd # /etc/init.d/sshd start设置root密码: livecd # passwd这里的root是当前LiveCD环境的root用户。之所以设置密码,是因为sshd服务默认远程连接登录的用户必须设置密码。这里root用户密码设置为:chenhuajun。准备磁盘,设计分区方案。分区有三种类型:主分区,扩展分区和逻辑分区。表-1 默认分区方案分区文件系统大小说明/dev/sda1 ext232M启动分区/dev/sda2(swap)512M交换分区/dev/sda3 e

12、xt3剩余磁盘根分区一个8GB的硬盘分区规划:/dev/sda1 /boot399M/dev/sda2 /3.5GB/dev/sda3 swap 4.1GB通过fdisk创建分区:分区完成后,输入w写入分区。重新读取sda分区表:创建ext4文件系统:创建swap交换分区:激活swap分区:创建相关挂载目录并挂载文件系统根据分区规划,建立相关挂载目录,并挂载文件系统。/dev/sda1 /boot399M/dev/sda2 /3.5GB/dev/sda3 swap 4.1GB在Linux中,所有的目录都挂载在根目录“/”下。所以先挂载原先规划好作为根分区的文件系统到根“/”目录这个挂载点下,再

13、在这个根分区文件系统上建立其它相关挂载点。设定系统时间和日期,修改为当前时间和日期:2013年10月15日19时56分。上传下面两个文件到 /mnt/gentoo目录下,即/dev/sda2这个规划为根分区的文件系统上。打开Windwos下FTP客户端工具FileZilla Client,选择“文件”“站点管理器”,如下图设置好sftp;点击连接,并上传本地的两个文件到服务器上的根分区文件系统上。上传完成后,查看/dev/sda2根分区文件系统上的内容,可以看到刚上传完成的两个文件。解压stage3和portage两个文件1. stage3-amd64-20120621.tar.bz2文件是G

14、entoo的目录结构,所以要解压到/dev/sda2这个规划的根分区文件系统上,即/mnt/gentoo,这里的根目录不是livecd上的根目录,而是/mnt/gentoo/,即挂载的是/dev/sda2这个分区。2. portage-20120723.tar.bz2是系统软件维护树。解压到规划的系统根目录/usr目录下(即挂载在livecd /mnt/gentoo下的/dev/sda2分区的文件系统,usr/目录即建立在这个文件系统上。),这个目录在livecd上的目录是/mnt/gentoo/usr。这个/usr目录不是livecd中的/usr下,切记。用chroot命令切换系统到/dev

15、/sda2根分区上设置时区:设置时区信息:根据具体情况使用/usr/share/zoneinfo中的正确条目。这里使用上海。设置好时区后,时间会根据你所设的时区重启计算机,我们所设置的上海在东八区,所以会在原来时间的基础上再加上八小时。这里我们需要重新校正当前时间。内核配置:下载内核及其它相关依赖包并解压配置根据具体情况配置内核相关功能模块接着会出现以下画面,根据情况选择定制内核模块。定制EXT4文件系统之前的硬盘分区在规划时,采用EXT4文件系统。这里要定制EXT4文件系统。按上下方向键,向下移动,找到“File systems”菜单。选择进入“File systems”菜单后,找到EXT4

16、文件系统并选择编译到内核中。按“Tab”键切换到“Exit”按钮并回车,此动作进行两次。会出现以下画面询问你是否希望保存新的配置,这里选择“Yes”。编译内核:我的计算机是4核的,所以在make的时候加上参数-j4,可以加快编译的速度。安装内核:在编译完成后,会生成bzImage这个二进制内核文件。根据编译完成时的最后一行,可以知道这个文件保存的位置。修改fstab文件:作如下修改:配置网络:设置IP地址:192.168.10.240,默认网关为:192.168.10.1将网卡eth0设为开机启动。如果在/etc/init.d/下不存在net.eth0,则需要用ln命令先建立这个文件。将ssh

17、d服务也设为开机启动。设置新安装Gentoo系统用户root密码编辑设置一些配置文件:livecd conf.d # nano -w /etc/conf.d/clockTIMEZONE=Asia/Shanghailivecd conf.d # nano -w /etc/rc.conflivecd conf.d # nano -w /etc/conf.d/rclivecd conf.d # nano -w /etc/conf.d/keymaps安装系统工具:livecd conf.d # emerge syslog-nglivecd conf.d # emerge logrotatelivecd

18、 conf.d # emerge vixie-cronlivecd conf.d # emerge dhcpcdlivecd conf.d # emerge vimlivecd conf.d # rc-update add syslog-ng defaultlivecd conf.d # rc-update add vixie-cron default安装引导程序Grub:1. 在线下载grub并编译安装livecd conf.d # emerge grub2. 配置grub.conf文件3. 安装Grub到sdalivecd conf.d # grub重启系统:退出chroot环境,卸载所有

19、文件系统并重启。livecd / # reboot最后取出光盘。到此完成Gentoo 64bit系统的安装。如下图:2.2 MySQL数据库系统安装及其配置添加一个mysql标准组# groupadd mysql添加mysql用户并加到mysql组中# useradd -g mysql mysql# cd /usr/local/src/mysql-5.0.41# ./configure -prefix=/usr/local/mysql/ -with-extra-charsets=all配置Mysql:创建MySQL数据库服务器的配置文件# cp support-files/my-f /etc/

20、f用mysql用户创建授权表,创建成功后,会在/usr/local/mysql目录下生成一个var目录# /usr/local/mysql/bin/mysql_install_db -user=mysql将文件的所有属性改为root用户# chown -R root /usr/local/mysql将数据目录的所有属性改为mysql用户# chown -R mysql /usr/local/mysql/var将组属性改为mysql组# chgrp -R mysql /usr/local/mysql启动数据库# /usr/local/mysql/bin/mysqld_safe -user=mys

21、ql &查看3306端口是否开启# netstat -tnl|grep 3306简单的测试# /usr/local/mysql/bin/mysqladmin version查看所有mysql参数# /usr/local/mysql/bin/mysqladmin variables设置Mysql开机自启动# cp /usr/local/src/mysql-5.0.41/support-files/mysql.server /etc/rc.d/init.d/mysqld# chown root.root /etc/rc.d/init.d/mysqld# chmod 755 /etc/rc.d/in

22、it.d/mysqld# chkconfig -add mysqld# chkconfig -list mysqld# chkconfig -levels 245 mysqld offMysql安全性设置:没有密码可以直接登录本机服务器# /usr/local/mysql/bin/mysql -u root查看mysql用户权限信息mysql select * from mysql.user;删除非localhost的主机mysql DELETE FROM mysql.user WHERE Host=localhost AND User=;刷新授权表mysql FLUSH PRIVILEGES

23、;为root用户添加密码mysql SET PASSWORD FOR rootlocalhost = PASSWORD(abc123);再次进入Mysql客户端# /usr/local/mysql/bin/mysql -u root -h localhost p关闭MySQL数据库# /usr/local/mysql/bin/mysqladmin -u root -p shutdown2.3 Apache WEB服务器安装及其配置安装Apache:# cd /usr/local/src/httpd-2.2.9# ./configure -prefix=/usr/local/apache2 -s

24、ysconfdir=/etc/httpd -with-z=/usr/local/zlib -with-included-apr -enable-so -enable-deflate=shared -enable-expires=shared -enable-rewrite=shared -enable-static-support# make & make install配置Apache:启动Apache# /usr/local/apache2/bin/apachectl start关闭Apache# /usr/local/apache2/bin/apachectl stop查看80端口是否开

25、启# netstat -tnl|grep 80访问Apache服务器添加自启动# echo /usr/local/apache2/bin/apachectl start /etc/rc.d/rc.local2.4服务器脚本安装及其配置rootlly # tar -zxvf apr-1.4.6.tar.gz -C /usr/local/src/rootlly # tar -zxvf apr-util-1.5.1.tar.gz -C /usr/local/src/rootlly src# cd /usr/local/src/apr-1.4.6/rootlly apr-1.4.6# ./config

26、ure -prefix=/usr/local/apr把apr安装到/usr/local/apr目录下rootlly apr-1.4.6#makerootlly apr-1.4.6#make installrootlly apr-1.4.6# cd .rootlly src# cd apr-util-1.5.1/rootlly apr-util-1.5.1# ./configure -with-apr=/usr/local/apr/bin/apr-1-configrootlly apr-util-1.5.1# makerootlly apr-util-1.5.1# cdrootlly # tar

27、 -jxvf httpd-2.4.4.tar.bz2 -C /usr/local/src/rootlly # cd /usr/local/src/httpd-2.4.4/rootlly httpd-2.4.4# ./configure -prefix=/usr/local/apache -sysconfdir=/etc/httpd -enable-so -enable-ssl -enable-rewrite -with-apr=/usr/local/apr/bin/apr-1-config -with-apr-util=/usr/local/apr/bin/apu-1-config -with

28、-pcre -with-z -enable-mpms-shared=allrootlly httpd-2.4.4# makerootlly httpd-2.4.4# make installrootlly httpd-2.4.4#/usr/local/apache/manrootlly man# vim /etc/man.config把apache的man手册添加到man路径方便查看apache的man手册安装PHP:# cd /usr/local/src/php-5.2.6# ./configure -prefix=/usr/local/php -with-config-file-path=

29、/usr/local/php/etc -with-apxs2=/usr/local/apache2/bin/apxs -with-mysql=/usr/local/mysql/ -with-libxml-dir=/usr/local/libxml2/ -with-png-dir=/usr/local/libpng/ -with-jpeg-dir=/usr/local/jpeg6/ -with-freetype-dir=/usr/local/freetype/ -with-gd=/usr/local/gd2/ -with-zlib-dir=/usr/local/zlib/ -with-mcryp

30、t=/usr/local/libmcrypt/ -with-mysqli=/usr/local/mysql/bin/mysql_config -enable-soap -enable-mbstring=all -enable-sockets# make & make installrootlly # tar -zxvf php-5.4.3.tar.gz -C /usr/local/src/rootlly # cd /usr/local/src/php-5.4.3/rootlly php-5.4.3# ./configure -prefix=/usr/local/php -sysconfdir=

31、/etc -with-apxs2=/usr/local/apache/bin/apxs -with-zlib -with-gd -with-jpeg-dir -with-png-dir -enable-mbstring -with-mysql=/usr/local/mysql -with-mysqli=/usr/local/mysql/bin/mysql_config -enable-xml -with-freetype-dirrootlly php-5.4.3# make & make installrootlly php-5.4.3# cd /usr/local/php/rootlly p

32、hp# vim /etc/profilerootlly php# vim /etc/ld.so.conf.d/php.conf写入/usr/local/mysql/librootlly php# ldconfigrootlly php# ln -s include /usr/include/phprootlly php# vim /etc/httpd/httpd.conf在apache的配置文件中会自动添加modules/libphp5.so模块配置PHP:创建配置文件# cp php.ini-dist /usr/local/php/etc/php.ini使用vi编辑apache配置文件# v

33、i /etc/httpd/httpd.conf添加这一条代码Addtype application/x-httpd-php .php .phtml重启Apache# /usr/local/apache2/bin/apachectl restart测试PHP:rootlly htdocs# mv index.html index.php 把apache的测试页改为phprootlly htdocs# vim index.php刷新浏览器出现如下界面:到此PHP环境搭建成功!2.5 PHPBB论坛的安装及配置1. 给予MysQL数据库远程访问的权限本地密码和远程访问密码一致/usr/local/m

34、ysql/bin/mysqladmin -u root password 123456(设置密码后如果还像以前那样登录就会报错的,拒绝登陆)再次本地登陆时需要密码,用下面的方式进,然后输入密码/usr/local/mysql/bin/mysql -u root p设置MySQL远程管理员密码,在MySQL提示符中输入grant all on *.* to root% identified by 123 with grant option;2.在MySQL库中建立phpbb数据库create database phpbb;3下载论坛源代码和中文语言包4.解压缩中文语言包和源代码包5.复制语言包内

35、容到phpBB2的language目录下cp -r /root/lang_chinese_simplified /root/phpBB2/language/复制论坛安装源代码包内容到apache主页目录下cp -r /root/phpBB2 /usr/local/apache/htdocs6.开始安装phpbb,访问到安装界面,http:/网站IP/phpBB2/index.php7.填写一些基本的相关信息8.开始安装9.下载config.php文件到共享文件夹src下10.然后在Gentoo上再将config.conf文件下载下来11.用新下载的config.conf文件覆盖原有的旧conf

36、ig.conf文件cp config.php /usr/local/apache/htdocs/phpBB2进入到phpBB2目录下,删除安装文件contrib和install,以便正常访问cd /usr/local/apache/htdocs/phpBB2rm -rf contribrm -rf install12.再次访问改论坛(因为是测试论坛,没有搭建DNS,用IP访问)这次没有安装的提示了,可以正常访问了。以管理员的身份登录进去看下,可以控制论坛的所有内容。建立新分区,每个分区再给它建两个版面预览一下首页,已经有新建的分区和版面了发个帖子试试行不行,随便试一下看一下刚刚发的贴子,和平时

37、见到的差不多,发帖成功!管理员用户测试成功后,再注册个普通用户试试。以刚注册的用户身份登录再发个帖子试试看看刚刚发的帖子,有了到此PHPBB论坛就搭建成功了。第三章 总结3.1 过程及步骤搭建LAMP环境的大体步骤是按先Linux(Gentoo)再MySQL,然后Apache,最后PHP。先装Linux(Gentoo)为后续操作提供一个基本系统环境,在装 PHP 前必须先装 MySQL,因为 PHP 里的 MySQL 操作函数需要 MySQL 头文件和库的支持。1、 安装MySQL服务器,作为PHPBB论坛程序的后台SQL数据库服务器使用;2、 编译并安装PHP程序运行环境,为PHPBB程序提

38、供运行环境;3、 配置Apache服务器支持PHP程序运行,以便PHPBB程序能够在Apache服务器中被正确处理;4、 在已经完整构建的LAMP环境中安装和配置PHPBB程序,从而实现论坛系统功能。LAMP环境搭建好后,去下载源码安装包。3.2 所遇到的问题,你是怎样解决这些问题的安装MySQL出现错误:checking for tgetent in -lncurses. nochecking for tgetent in -lcurses. nochecking for tgetent in -ltermcap. nochecking for tgetent in -ltinfo. noc

39、hecking for termcap functions library. configure: error: No curses/termcap library found原因:缺少ncurses安装包解决:# yuminstall ncurses-devel# make & make install配置mysql时出现错误configure: error: No curses/termcap library found:原因:curses/termcap 库没有安装解决:apt-get install libncurses5-dev3.3 体会收获及建议Linux+Apache+Mysql+Perl/PHP/Python一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度共同组成了一个强大的web应用程序平台。而从网站的流量上来说,70%以上的访问流量是LAMP来提供的,LAMP是最强大的网站解决方案。自2000年发布以来, phpBB 已经成为世界上应用最广泛的开源论坛软件。 与早先的版本一样, phpBB 3.0 “Olympus” 拥有易于使用的管理面板和友好的用户安装界面, 用户可以轻松地在数分钟内建立起您的论坛。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号