天天看点

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

1.环境说明与准备

1

2

3

4

5

6

7

8

9

10

11

12

13

<code>[root@localhost ~]</code><code># yum list | egrep -i "(httpd|mysql|php)" | grep 'installed'</code>

<code>This system is not registered with RHN.</code>

<code>RHN support will be disabled.</code>

<code>httpd.i386                               2.2.3-11.el5           installed       </code>

<code>mysql.i386                               5.0.22-2.1.0.1         installed       </code>

<code>mysql-server.i386                        5.0.22-2.1.0.1         installed       </code>

<code>perl-DBD-MySQL.i386                      3.0007-1.fc6           installed       </code>

<code>php.i386                                 5.1.6-15.el5           installed       </code>

<code>php-cli.i386                             5.1.6-15.el5           installed       </code>

<code>php-common.i386                          5.1.6-15.el5           installed       </code>

<code>php-mysql.i386                           5.1.6-15.el5           installed       </code>

<code>php-pdo.i386                             5.1.6-15.el5           installed       </code>

<code>[root@localhost ~]</code><code>#</code>

说明:

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

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

<code>[root@localhost ~]</code><code># cat /etc/yum.repos.d/mytest1.repo </code>

<code>[mytest1]</code>

<code>name=myyumtest1</code>

<code>baseurl=</code><code>file</code><code>:</code><code>///home/yum/cdrom/Server</code>

<code>enabled=1</code>

<code>gpgcheck=0</code>

第二,关于APACHE的配置。

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

<a href="http://zhangfengzhe.blog.51cto.com/8855103/1545425" target="_blank">http://zhangfengzhe.blog.51cto.com/8855103/1545425</a>

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

14

15

<code>[root@localhost ~]</code><code># cat /etc/httpd/conf.d/myhttpd.conf </code>

<code>NameVirtualHost 192.168.204.88:80</code>

<code>&lt;VirtualHost 192.168.204.88:80&gt;</code>

<code>    </code><code>DocumentRoot </code><code>/web/v1/</code>

<code>    </code><code>ServerName   www.zfz1.com </code>

<code>    </code><code>ErrorLog logs</code><code>/www</code><code>.zfz1.com-error_log</code>

<code>    </code><code>CustomLog logs</code><code>/www</code><code>.zfz1.com-access_log common</code>

<code>&lt;</code><code>/VirtualHost</code><code>&gt;</code>

<code>    </code><code>DocumentRoot </code><code>/web/v2/</code>

<code>    </code><code>ServerName   www.zfz2.com </code>

<code>    </code><code>ErrorLog logs</code><code>/www</code><code>.zfz2.com-error_log</code>

<code>    </code><code>CustomLog logs</code><code>/www</code><code>.zfz2.com-access_log common</code>

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

第三,关于MYSQL的配置。

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

<a href="http://zhangfengzhe.blog.51cto.com/8855103/1547611" target="_blank">http://zhangfengzhe.blog.51cto.com/8855103/1547611</a>

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

<code>mysql&gt; show grants </code><code>for</code> <code>'root'</code><code>@</code><code>'%'</code><code>;</code>

<code>+</code><code>--------------------------------------------------------------------------------------------------------------------------------+</code>

<code>| Grants </code><code>for</code> <code>root@%                                                                                                              |</code>

<code>| </code><code>GRANT</code> <code>ALL</code> <code>PRIVILEGES</code> <code>ON</code> <code>*.* </code><code>TO</code> <code>'root'</code><code>@</code><code>'%'</code> <code>IDENTIFIED </code><code>BY</code> <code>PASSWORD</code> <code>'*A488BC0454FA2FD261762BD37034100FFF0B0510'</code> <code>WITH</code> <code>GRANT</code> <code>OPTION</code> <code>| </code>

<code>1 row </code><code>in</code> <code>set</code> <code>(0.00 sec)</code>

<code>mysql&gt;</code>

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

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

2.Test LAMP

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

第一步,启动httpd,mysql.

<code>[root@localhost ~]</code><code># service httpd start</code>

<code>Starting httpd:                                            [  OK  ]</code>

<code>[root@localhost ~]</code><code># service mysqld start</code>

<code>Starting MySQL:                                            [  OK  ]</code>

<code>[root@localhost ~]</code><code># </code>

<code>[root@localhost ~]</code><code># netstat -tnlp | egrep '(80|3306)'</code>

<code>tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN      3686</code><code>/mysqld</code>         

<code>tcp        0      0 :::80                       :::*                        LISTEN      3566</code><code>/httpd</code>          

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

第二步,测试HTTPD与PHP.

<code>[root@localhost v2]</code><code># cd /web/v2</code>

<code>[root@localhost v2]</code><code># cat test.php </code>

<code>&lt;?php</code>

<code>phpinfo();</code>

<code>?&gt;</code>

<code>[root@localhost v2]</code><code>#</code>

进行测试访问如下:

<a href="http://s3.51cto.com/wyfs02/M00/48/A7/wKiom1QKZR6wGLEaAAKKu9eW6I4889.jpg" target="_blank"></a>

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

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

16

17

18

19

20

21

22

23

<code>[root@localhost v2]</code><code># pwd</code>

<code>/web/v2</code>

<code>[root@localhost v2]</code><code># cat index.php </code>

<code>#Phpinfo();</code>

<code>$con=mysql_connect(</code><code>'192.168.204.88'</code><code>,</code><code>'root'</code><code>,</code><code>'zhangfengzhe'</code><code>);</code>

<code>if</code> <code>(!$con)</code>

<code>{</code>

<code> </code><code>echo</code> <code>"can not connect to mysql"</code><code>;</code>

<code>}</code>

<code>mysql_select_db(</code><code>"mydb1"</code><code>, $con);</code>

<code>$result = mysql_query(</code><code>"SELECT * FROM users"</code><code>);</code>

<code>&lt;table border=</code><code>'1'</code><code>&gt;</code>

<code>while</code><code>($row = mysql_fetch_array($result))</code>

<code>  </code><code>{</code>

<code>  </code><code>echo</code> <code>"&lt;tr&gt;&lt;td&gt;"</code><code>,$row[</code><code>'id'</code><code>],</code><code>"&lt;/td&gt;&lt;td&gt;"</code><code>,$row[</code><code>'name'</code><code>],</code><code>"&lt;/td&gt;&lt;/tr&gt;"</code><code>;</code>

<code>  </code><code>}</code>

<code>mysql_close($con);</code>

<code>&lt;</code><code>/table</code><code>&gt;</code>

测试访问结果如下:

<a href="http://s3.51cto.com/wyfs02/M00/48/A9/wKioL1QKaq3CykgUAABPY0wPzJ4063.jpg" target="_blank"></a>

查看MYSQL数据库:

<code>mysql&gt; use mydb1;</code>

<code>Reading table information </code><code>for</code> <code>completion of table and column names</code>

<code>You can turn off this feature to get a quicker startup with -A</code>

<code>Database changed</code>

<code>mysql&gt; show tables;</code>

<code>+-----------------+</code>

<code>| Tables_in_mydb1 |</code>

<code>| </code><code>users</code>           <code>| </code>

<code>mysql&gt; </code><code>select</code> <code>* from </code><code>users</code><code>;</code>

<code>+------+----------+------+----------+</code>

<code>| </code><code>id</code>   <code>| name     | Sex  | birthday |</code>

<code>| 001  | zhangsan | NULL | NULL     | </code>

<code>| 002  | lisi     | NULL | NULL     | </code>

<code>2 rows </code><code>in</code> <code>set</code> <code>(0.00 sec)</code>

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

3.安装部署discuz

<a href="http://s3.51cto.com/wyfs02/M01/48/A8/wKiom1QKbsXCMqfcAAG7QBD8mFE363.jpg" target="_blank"></a>

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

<a href="http://s3.51cto.com/wyfs02/M01/48/A8/wKiom1QKbhHwv2WrAAHFe8yFzj8664.jpg" target="_blank"></a>

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

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

<a href="http://s3.51cto.com/wyfs02/M02/48/A8/wKiom1QKb2uSal72AAG0GaVDdOU047.jpg" target="_blank"></a>

后台:

<a href="http://s3.51cto.com/wyfs02/M00/48/A8/wKiom1QKb8aiTP1WAAG0xkjDjYk874.jpg" target="_blank"></a>

查看MYSQL相关信息:

<code>mysql&gt; use luntan;</code>

<code>Reading </code><code>table</code> <code>information </code><code>for</code> <code>completion </code><code>of</code> <code>table</code> <code>and</code> <code>column</code> <code>names</code>

<code>You can turn </code><code>off</code> <code>this feature </code><code>to</code> <code>get a quicker startup </code><code>with</code> <code>-A</code>

<code>Database</code> <code>changed</code>

<code>+</code><code>-----------------------------------+</code>

<code>| Tables_in_luntan                  |</code>

<code>| pre_common_admincp_cmenu          | </code>

<code>| pre_common_admincp_group          | </code>

<code>| pre_common_admincp_member         | </code>

<code>| pre_common_admincp_perm           | </code>

<code>| pre_common_admincp_session        | </code>

<code>| pre_common_admingroup             | </code>

<code>| pre_common_adminnote              | </code>

<code>| pre_common_advertisement          | </code>

<code>| pre_common_advertisement_custom   | </code>

<code>| pre_common_banned                 |</code>

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

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