Linux下Apache与MySQL+PHP的综合应用案例

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:
LinuxApacheMySQL+PHP的综合应用案例
 
实验背景:
小诺公司的Linux服务器中已经编译安装了Apache服务器,为了构建公司的论坛系统,需要安装phpBB论坛程序。phpBB是典型的LAMP(Linux+Apache+MySQL+PHP)架构应用系统,因此需要在现有Apache服务器的基础上搭建完整的LAMP运行环境,具体的应用需求如下:
1、 搭建Apache服务器,并创建虚拟主机。
2、 安装MySQL服务器,作为phpBB论坛程序的后台SQL数据库服务器使用。
3、 配置Apache服务器支持PHP程序运行,一边phpBB程序能够在Apache服务器中被正确处理。
4、 在已经安装构建的LAMP环境中安装和配置phpBB程序,从而实现论坛系统的功能。
 
实验步骤:
 
一、 安装并管理MySQL服务器。
下载mysql的源码包( http://dev.mysql.com/downloads/ ),为了方便安装,可以选择下载与Apache 2.0版配置运行较好的MySQL 3.23的二进制版本,这样可以省去从源码编译安装MySQL服务器。
下载完成之后,使用tar命令将下载的mysql源码包解压到/usr/local/目录下,会释放出一个名为mysql-2.23.58-pc-linux-i686.的文件。
clip_image002
 
了方便管理,需要使用ln命令建立该目录的符号链接目录为mysql。
clip_image004
 
进入mysql服务器程序的目录,删除mysql的配置文件my.cnf
clip_image006
 
执行mysql_install_db命令初始化MySQL服务器中的数据库。
clip_image008
 
由于是手动安装MySQL数据库,因此需要在系统中建立名为mysql的用户和组,并指定mysql用户的宿主目录是“/usr/local/mysql/data”。参数“-R”是将mysql目录中的所有文件的属主和属组都修改。
clip_image010
 
使用safe_mysqld命令启动MYSQL服务器运行,并使用命令选项“--user”指定MySQL数据库服务程序以系统用户mysql的身份运行。
clip_image012
 
运行./bin/mysql,查看MySQL数据库是否能够运行。
clip_image014
 
由于MySQL数据库的管理员用户root的初始口令为空,所有mysql数据库程序启动后的第一件工作就是为MySQL数据库中的root用户设置口令,“-p”参数可以更改密码。成功设置数据库用户root口令之后,执行MySQL程序可以进入MySQL数据库的交互界面,在mysql命令中需要使用“-u”选项指定登录数据库使用的用户名,使用“-p”选项设置提示用户输入口令。
clip_image016
 
二、 安装并管理PHP环境
下载PHP环境需要的源码包文件(下载地址: http://www.php.net/downloads.php ),为了与各个用于系统保持良好的兼容性,在下载页面选择PHP4.4版。下载PHP的源码包之后使用tar命令将其释放到系统的源码目录“/usr/local/php/”中,释放过程会建立名为php-4.4.4的子目录。
clip_image018
 
进入php-4.4.4子目录,并使用“./configure”命令进行编译之前的准备工作。
--prefix设置PHP程序的安装路径。
--with-apxs2 设置PHP为Apache服务器提供的模块的安装位置。
--with-mysql 设置MySQL服务器程序的安装位置。
-with-config-file-path 设置PHP程序的配置文件所在的位置。
clip_image020
 
在完成“./configure”命令的配置后,就可以使用make命令进行编译并使用make install命令进行PHP程序的安装了。
clip_image022
clip_image024
 
安装完成之后,PHP程序还没有配置文件,需要将PHP的配置模板文件php.ini-disk复制到PHP的配置目录中作为配置文件使用。
clip_image026
 
三、进行Apache服务器中的设置
由于PHP程序需要和Apache服务器配合工作,因此需要在Apache服务器的主配置文件httpd.conf中进行PHP的相关设置。
编辑httpd.conf文件,确认LocadModule php4_module modules/lobphp4.so设置行已经有效,并在相应的位置添加设置行AddType application/x-httpd-php .php
clip_image028
 
在DirectoryIndex这一行的末尾添加index.php,以便Apache服务器能够正确处理php类型的index文件。如果访问的时候不想输入index.php,可以将index.php放置在最前面。
clip_image030
 
对httpd.conf设置完成之后,停止服务apachectl,然后启用服务apachectl。如果不生效,使用命令“killall -9 httpd服务”然后再通过以下脚步启动httpd服务。
clip_image032
 
四、测试PHP环境是否可用
使用vi编辑器在虚拟主机 www.xiaonuo.com 的个人目录public_html/中创建一个test.php测试文件,其内容如下,目的是调用PHP中的一个帮助文档。
clip_image034
clip_image036
 
编辑文件httpd.conf,在DirectoryIndex这一行前面添加主页test.php,这样,在访问的时候只需要输入 www.xiaonuo.com 即可访问。
clip_image038
clip_image040
 
修改完成之后,重新启动apachectl服务。然后在Windows客户机上进行测试。
clip_image041
clip_image043
 
如何浏览器中出现上图所示的PHP页面信息,说明php程序已经能够与Apache服务器正常协同工作了。
 
五、安装phpBB论坛系统
phpBB(下载地址:http://www.phpbb.com/downloads.php)是优秀的论坛程序,其运行环境为LAMP,是典型的LAMP架构程序。也可以在网络上下载其他的PHP程序进行安装。
clip_image045
 
使用tar命令将下载的名为phpBB-2.0.21.tar.gz的程序包释放到Apache服务器的虚拟主机 www.dreamfire.com 的根目录中,释放过程会建立名为phpBB2的子目录。
clip_image047
 
使用chown命令将phpBB2子目录及其下所有文件的属主和属组都设置为nobody(默认的系统账户,不允许登录系统),以便Apache服务器有足够的权限访问phpBB程序。
clip_image049
 
使用命令“/usr/local/mysql/bin/mysql –u root -p”登录数据库MySQL,并创建一个名为phpbb_dreamfire的数据库作为phpBB的后台数据库。
clip_image051
 
phpBB程序的初始配置过程采用Web界面的形式,在网页浏览器中输入网址 http://www.dreamfire.com/phpBB2/install/install.php 访问phpBB程序的地址,在该界面中用户需要设置phpBB程序安装和运行所需的基本信息。
Database Type: 设置数据库的版本为3.x
Your Database Name:输入数据库的名称
Database Username:输入登录数据库的用户名
Database password:输入登录数据库的密码
Admin Email Address:输入管理员的邮件地址,以便日后联系
Domain Name:输入phpBB论坛的FQDN
Administrator Username:输入管理phpBB论坛的用户名
Administrator Password:输入管理phpBB论坛的密码
Administrator Password【Confirn】:再次输入管理phpBB论坛的密码
设置完成之后,点击“Start Install”进行安装
clip_image053
clip_image055
 
在浏览器中见下图所示的安装结束画面后,先不要急于访问phpBB论坛程序的页面,出于安全性的考虑,需要先删除phpBB2程序目录中的install和contrib两个子目录。删除完成之后,单击“Finish Installation”
clip_image057
clip_image059
 
使用phpBB论坛的用户名和密码登录论坛,并进行相应的设置。
clip_image061
clip_image063
 
所有论坛的动态更新数据库都保存在“/usr/local/mysql/data/phpbb_dreamfire/”目录中。
clip_image065
 
至此在LAMP环境中安装phpBB论坛程序的整个过程已经完成了,对论坛内容的管理更多的会在Web界面下完成。


本文转自凌激冰51CTO博客,原文链接:http://blog.51cto.com/dreamfire/166056,如需转载请自行联系原作者
相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
1月前
|
运维 Linux Apache
Linux Apache服务详解——Apache虚拟目录与禁止显示目录列表实战
Linux Apache服务详解——Apache虚拟目录与禁止显示目录列表实战
22 2
|
1月前
|
域名解析 Linux Apache
Linux Apache服务详解——虚拟网站主机功能实战
Linux Apache服务详解——虚拟网站主机功能实战
33 5
|
10天前
|
关系型数据库 MySQL Linux
linux CentOS 7.4下 mysql5.7.20 密码改简单的方法
linux CentOS 7.4下 mysql5.7.20 密码改简单的方法
17 0
|
2天前
|
存储 关系型数据库 MySQL
Linux | MySQL基础
Linux | MySQL基础
|
3天前
|
关系型数据库 MySQL Linux
Linux联网安装MySQL Server
Linux联网安装MySQL Server
13 0
|
4天前
|
PHP
web简易开发——通过php与HTML+css+mysql实现用户的登录,注册
web简易开发——通过php与HTML+css+mysql实现用户的登录,注册
|
10天前
|
关系型数据库 Linux PHP
linux 编译安装php7.2 实测!!
linux 编译安装php7.2 实测!!
10 0
|
10天前
|
NoSQL Linux PHP
php添加redis扩展 linux和windos图文详解 l
php添加redis扩展 linux和windos图文详解 l
3 0
|
16天前
|
Ubuntu Linux Apache
linux下apache2更换目录
linux下apache2更换目录
|
21天前
|
应用服务中间件 Linux PHP
Linux下安装php环境并且配置Nginx支持php-fpm模块
Linux下安装php环境并且配置Nginx支持php-fpm模块
18 0