Linux下Apache+MySQL+PHP的rpm包安装实现DISCUZ论坛

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介:

1.环境说明与准备

1
2
3
4
5
6
7
8
9
10
11
12
13
[root@localhost ~] # yum list | egrep -i "(httpd|mysql|php)" | grep 'installed'
This system is not registered with RHN.
RHN support will be disabled.
httpd.i386                               2.2.3-11.el5           installed       
mysql.i386                               5.0.22-2.1.0.1         installed       
mysql-server.i386                        5.0.22-2.1.0.1         installed       
perl-DBD-MySQL.i386                      3.0007-1.fc6           installed       
php.i386                                 5.1.6-15.el5           installed       
php-cli.i386                             5.1.6-15.el5           installed       
php-common.i386                          5.1.6-15.el5           installed       
php-mysql.i386                           5.1.6-15.el5           installed       
php-pdo.i386                             5.1.6-15.el5           installed       
[root@localhost ~] #


说明:

第一,Apache+MySQL+PHP全部采用YUM源安装完成,可以挂载安装ISO光盘,做成YUM源。

我的YUM配置文件如下供大家参考。

1
2
3
4
5
6
7
[root@localhost ~] # cat /etc/yum.repos.d/mytest1.repo 
[mytest1]
name=myyumtest1
baseurl= file : ///home/yum/cdrom/Server
enabled=1
gpgcheck=0
[root@localhost ~] #


第二,关于APACHE的配置。

关于Apache httpd的详细分析,可以参考我的博客:

http://zhangfengzhe.blog.51cto.com/8855103/1545425

这里需要说明的是,我将采用的是基于servername的虚拟主机方式进行试验。配置如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[root@localhost ~] # cat /etc/httpd/conf.d/myhttpd.conf 
NameVirtualHost 192.168.204.88:80
<VirtualHost 192.168.204.88:80>
     DocumentRoot  /web/v1/
     ServerName   www.zfz1.com 
     ErrorLog logs /www .zfz1.com-error_log
     CustomLog logs /www .zfz1.com-access_log common
< /VirtualHost >
<VirtualHost 192.168.204.88:80>
     DocumentRoot  /web/v2/
     ServerName   www.zfz2.com 
     ErrorLog logs /www .zfz2.com-error_log
     CustomLog logs /www .zfz2.com-access_log common
< /VirtualHost >
[root@localhost ~] #

当然,大家需要在客户端配置好hosts,把SERVERNAME和IP的关系配好。


第三,关于MYSQL的配置。

关于MYSQL的安装及入门使用,可以参考我的博客:

http://zhangfengzhe.blog.51cto.com/8855103/1547611

需要注意的是用户的访问授权:

1
2
3
4
5
6
7
8
mysql> show grants  for  'root' @ '%' ;
+ --------------------------------------------------------------------------------------------------------------------------------+
| Grants  for  root@%                                                                                                              |
+ --------------------------------------------------------------------------------------------------------------------------------+
GRANT  ALL  PRIVILEGES  ON  *.*  TO  'root' @ '%'  IDENTIFIED  BY  PASSWORD  '*A488BC0454FA2FD261762BD37034100FFF0B0510'  WITH  GRANT  OPTION 
+ --------------------------------------------------------------------------------------------------------------------------------+
1 row  in  set  (0.00 sec)
mysql>


第四,由于PHP需要访问MYSQL,因此需要安装php-mysql包。就如同JDBC中访问ORACLE,MYSQL等

数据库时需要提供驱动JAR一样。



2.Test LAMP

完成了第一步的LAMP平台搭建后,我们应该对LAMP进行测试,以确保他们可以协同工作。


第一步,启动httpd,mysql.

1
2
3
4
5
6
7
8
9
[root@localhost ~] # service httpd start
Starting httpd:                                            [  OK  ]
[root@localhost ~] # service mysqld start
Starting MySQL:                                            [  OK  ]
[root@localhost ~]
[root@localhost ~] # netstat -tnlp | egrep '(80|3306)'
tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN      3686 /mysqld         
tcp        0      0 :::80                       :::*                        LISTEN      3566 /httpd          
[root@localhost ~] #

可以发现,HTTPD,MYSQL已经正常启动并且在指定端口处进行了监听。


第二步,测试HTTPD与PHP.

1
2
3
4
5
6
[root@localhost v2] # cd /web/v2
[root@localhost v2] # cat test.php 
<?php
phpinfo();
?>
[root@localhost v2] #

进行测试访问如下:


wKiom1QKZR6wGLEaAAKKu9eW6I4889.jpg


说明APACHE已经可以和PHP进行交互。


第三步,测试APACHE,MYSQL,PHP.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
[root@localhost v2] # pwd
/web/v2
[root@localhost v2] # cat index.php 
<?php
#Phpinfo();
$con=mysql_connect( '192.168.204.88' , 'root' , 'zhangfengzhe' );
if  (!$con)
{
  echo  "can not connect to mysql" ;
}
mysql_select_db( "mydb1" , $con);
$result = mysql_query( "SELECT * FROM users" );
?>
<table border= '1' >
<?php
while ($row = mysql_fetch_array($result))
   {
   echo  "<tr><td>" ,$row[ 'id' ], "</td><td>" ,$row[ 'name' ], "</td></tr>" ;
   }
mysql_close($con);
?>
< /table >
[root@localhost v2] #


测试访问结果如下:


wKioL1QKaq3CykgUAABPY0wPzJ4063.jpg

查看MYSQL数据库:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
mysql> use mydb1;
Reading table information  for  completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> show tables;
+-----------------+
| Tables_in_mydb1 |
+-----------------+
users           
+-----------------+
1 row  in  set  (0.00 sec)
mysql>  select  * from  users ;
+------+----------+------+----------+
id    | name     | Sex  | birthday |
+------+----------+------+----------+
| 001  | zhangsan | NULL | NULL     | 
| 002  | lisi     | NULL | NULL     | 
+------+----------+------+----------+
2 rows  in  set  (0.00 sec)
mysql>


到现在,LAMP的测试工作就完成了,他们已经可以协同工作了。



3.安装部署discuz

进入www.discuz.net 下载ZIP,可以选择UTF-8版本的。

将下载的ZIP包上传至LINUX服务器,解压后,将upload目录下的所有文件COPY至/web/v1下,然后访问www.zfz1.com/install 进行安装。


wKiom1QKbsXCMqfcAAG7QBD8mFE363.jpg


在安装过程中,需要改变有关目录的权限,根据提示逐项修改即可。


wKiom1QKbhHwv2WrAAHFe8yFzj8664.jpg


指定好数据库连接的相关信息。实际上,这一步将会完成数据库相关表的创建。


安装完成后,就可以访问前台:

wKiom1QKb2uSal72AAG0GaVDdOU047.jpg


后台:

wKiom1QKb8aiTP1WAAG0xkjDjYk874.jpg


查看MYSQL相关信息:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
mysql> use luntan;
Reading  table  information  for  completion  of  table  and  column  names
You can turn  off  this feature  to  get a quicker startup  with  -A
Database  changed
mysql> show tables;
+ -----------------------------------+
| Tables_in_luntan                  |
+ -----------------------------------+
| pre_common_admincp_cmenu          | 
| pre_common_admincp_group          | 
| pre_common_admincp_member         | 
| pre_common_admincp_perm           | 
| pre_common_admincp_session        | 
| pre_common_admingroup             | 
| pre_common_adminnote              | 
| pre_common_advertisement          | 
| pre_common_advertisement_custom   | 
| pre_common_banned                 |


至此,我们的LAMP不仅搭建完毕,而且还部署了一个论坛应用,就这么简单~


本文转自zfz_linux_boy 51CTO博客,原文链接:http://blog.51cto.com/zhangfengzhe/1549533,如需转载请自行联系原作者


相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
3天前
|
关系型数据库 MySQL 网络安全
如何排查和解决PHP连接数据库MYSQL失败写锁的问题
通过本文的介绍,您可以系统地了解如何排查和解决PHP连接MySQL数据库失败及写锁问题。通过检查配置、确保服务启动、调整防火墙设置和用户权限,以及识别和解决长时间运行的事务和死锁问题,可以有效地保障应用的稳定运行。
47 25
|
2月前
|
SQL 关系型数据库 MySQL
PHP与MySQL的高效交互:从基础到实践####
本文深入探讨了PHP与MySQL数据库之间的高效交互技术,涵盖了从基础连接到高级查询优化的全过程。不同于传统的摘要概述,这里我们直接以一段精简代码示例作为引子,展示如何在PHP中实现与MySQL的快速连接与简单查询,随后文章将围绕这一核心,逐步展开详细讲解,旨在为读者提供一个从入门到精通的实战指南。 ```php <?php // 数据库配置信息 $servername = "localhost"; $username = "root"; $password = "password"; $dbname = "test_db"; // 创建连接 $conn = new mysqli($se
73 0
|
2月前
|
存储 关系型数据库 MySQL
PHP与MySQL动态网站开发:从基础到实践####
本文将深入探讨PHP与MySQL的结合使用,展示如何构建一个动态网站。通过一系列实例和代码片段,我们将逐步了解数据库连接、数据操作、用户输入处理及安全防护等关键技术点。无论您是初学者还是有经验的开发者,都能从中获益匪浅。 ####
|
2月前
|
关系型数据库 MySQL PHP
php实现一个简单的MySQL分页
通过本文的详细步骤和代码示例,我们实现了一个简单的PHP MySQL分页功能。主要步骤包括计算总记录数、设置分页参数、查询当前页的数据以及生成分页链接。这种分页方式适用于大多数Web应用,能够有效提升用户体验和页面响应速度。
70 4
|
3月前
|
关系型数据库 MySQL PHP
PHP与MySQL的深度整合:构建高效动态网站####
在当今这个数据驱动的时代,掌握如何高效地从数据库中检索和操作数据是至关重要的。本文将深入探讨PHP与MySQL的深度整合方法,揭示它们如何协同工作以优化数据处理流程,提升网站性能和用户体验。我们将通过实例分析、技巧分享和最佳实践指导,帮助你构建出既高效又可靠的动态网站。无论你是初学者还是有经验的开发者,都能从中获得宝贵的见解和实用的技能。 ####
37 0
|
3月前
|
SQL 关系型数据库 MySQL
PHP与MySQL的高效协同开发策略####
本文深入探讨了PHP与MySQL在Web开发中的协同工作机制,通过优化配置、最佳实践和高级技巧,展示了如何提升数据库交互性能,确保数据安全,并促进代码可维护性。我们将从环境搭建讲起,逐步深入到查询优化、事务管理、安全防护及性能调优等核心环节,为开发者提供一套实战驱动的解决方案框架。 ####
|
3月前
|
安全 关系型数据库 MySQL
PHP与MySQL动态网站开发实战指南####
——深入探索LAMP栈下的高效数据交互与处理技巧 ####
|
3月前
|
关系型数据库 MySQL PHP
PHP与MySQL的无缝集成:构建动态网站的艺术####
本文将深入探讨PHP与MySQL如何携手合作,为开发者提供一套强大的工具集,以构建高效、动态且用户友好的网站。不同于传统的摘要概述,本文将以一个生动的案例引入,逐步揭示两者结合的魅力所在,最终展示如何通过简单几步实现数据驱动的Web应用开发。 ####
|
3月前
|
关系型数据库 MySQL PHP
PHP与MySQL动态网站开发实战指南####
深入探索PHP与MySQL的协同工作机制,本文旨在通过一系列实战案例,揭示构建高效、稳定且用户友好的动态网站的秘诀。从环境搭建到数据交互,再到最佳实践分享,本文为开发者提供了一条清晰的学习路径,助力其在LAMP(Linux, Apache, MySQL, PHP/Perl/Python)栈上实现技术飞跃。 ####
|
3月前
|
SQL 关系型数据库 MySQL
PHP与MySQL动态网站开发深度探索####
本文旨在为读者提供一份详尽的指南,深入剖析PHP与MySQL在动态网站开发中的应用。通过具体实例与代码解析,揭示如何高效结合这两种技术构建功能强大、响应迅速的Web应用。文章将逐一探讨PHP的基础语法、MySQL数据库管理以及二者交互的关键技巧,旨在帮助开发者提升技能,优化项目开发流程。 ####

热门文章

最新文章