天天看點

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源安裝完成,可以挂載安裝ISOCD光牒,做成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,如需轉載請自行聯系原作者