Joomla!吧

Sunday, May 20th

Last update04:29:37 AM GMT

You are here: Joomla教程 >> Joomla入门教程 >> 用XAMPP快速搭建Joomla本地服务器

用XAMPP快速搭建Joomla本地服务器

虽然本站一直强调,真正做网站应该事先买好主机域名之后的实战才能以认真的态度来完成,当然,前提是你已经想好了你的建站目的和网站构造。但是群里还是有不少朋友提到了一款本地服务器搭建软件XAMPP的使用问题,今天,Joomla8就向大家介绍如何使用XAMPP来搭建Joomla本地服务器。不过对于新手,我还是推荐使用PHPnow,PHPnow是国人开发的一款本地服务器搭建软件,使用起来比XAMPP简单容易不少。

首先,还是先介绍一下XAMPP的来头,XAMPP 是一个易于安装且包含 MySQL、PHP 和 Perl 的 Apache 发行版。XAMPP 的确非常容易安装和使用:只需下载,解压缩,启动即可。目前XAMPP有4种版本,分别是Linux版,Windows版,Mac版和Solaris版,但是考虑到大部分人都是使用Windows系统的(使用Linux系统的人肯定比我厉害),所以接下来的分析讲解都将以Windows版作为标准。

1.为什么我们要选择XAMPP呢?

1.XAMPP是免费的

2.易于安装和卸载。您只需下载并解压 XAMPP 就能完成安装,且对 Windows 的注册表不做任何改动(但使用 XAMPP 的 Windows 安装包时除外). 您也无需编辑任何配置文件。没有更简单的方法了吧!如果您觉得不再需要 XAMPP 了,只需直接将其目录删除,就完成卸载了。

3.XAMPP使用简单方便

2.XAMPP包含内容

适用于 Windows 2000、XP、Vista 和 7 的发行版。该版本包括:

  1. Apache
  2. MySQL
  3. PHP + PEAR
  4. Perl, mod_php
  5. mod_perl
  6. mod_ssl
  7. OpenSSL
  8. phpMyAdmin
  9. Webalizer
  10. Mercury Mail Transport System
  11. Ming
  12. JpGraph
  13. FileZilla FTP Server
  14. mcrypt
  15. ,eAccelerator
  16. SQLite
  17. WEB-DAV + mod_auth_mysql

也就是说,只要按照好了XAMPP,我们就能有了自己的本地Apache服务器,MySQL服务器,PHP服务器,并且支持FTP上传、SSL功能等,这些都是非常有用的,虽然我们在安装Joomla时并不一定能用上这些,但是足以证明我们选择XAMPP是明智的选择。

3.XAMPP的安装

正如XAMPP官方网站所说的那样,安装XAMPP是一件如此简单的事,只需要对下载下来的安装包直接解压就可以完成安装了。XAMPP下载地址:http://sourceforge.net/projects/xampp/,这是一个exe文件,但是执行之后是解压操作。推荐将XAMPP安装到除去C盘之外的其他分区的根目录,且名称为英文。

解压之后,你就可以看到如下图所示的画面。

这就表示XAMPP已经安装完成了,其实XAMPP的安装过程比PHPnow的安装过程要简单非常多,但是,使用过程却比较复杂一些。安装过程就这么简单!

4.初次运行XAMPP

初次运行XAMPP,需要运行Xampp_start,然后弹出一个DOS页面,告诉你Xampp已经正常运行。或者使用Xampp_control,控制开关各个功能,推荐使用Xampp_control,管理比较方便。

运行XAMPP之后,打开浏览器(推荐使用chrome或者firefox),输入:http://localhost/或者http://127.0.0.1/,就能看到如下如所示的界面,就能说明你已经成功安装使用XAMPP了。如果无法运行,则说明你悲剧了,可能是迅雷或者其他软件占用了端口。

OK,运行测试成功,下面就是如何设置XAMPP和其基本参数了。

5.XAMPP基本参数

1) MySQL:

  • 用户名: root  
  • 密码:  (无密码)

2)FileZilla FTP:

  • 用户名: newuser  
  • 密码: wampp
  • 用户名: anonymous  
  • 密码: some@mail.net

3) Mercury:

4) WEBDAV:

  • 用户名: wampp  
  • 密码: xampp

6.深入调节XAMPP参数

① 启用 mod_rewrite

不论是 Joomla! 1.0 还是 Joomla! 1.5,当你需要开启系统自带的 SEF 时,都需要 Apache 服务器的 mod_rewrite 支持。XAMPP 却是默认禁用了这个模块。

启用方法:

打开 xampp\apache\conf\httpd.conf 文件,在大约第118行找到下面的代码:

#LoadModule rewrite_module modules/mod_rewrite.so

删除此行开头的 # 符号(注释符号),然后保存文件,重新启动服务器即可。

②启用 Java

XAMPP 默认也禁用了 Java 功能,因此在安装某些 Joomla! 扩展时会遇到问题。例如,当你需要安装 jPFchat 聊天室组件时,如果不启用 Java,前台就看不到聊天室窗口。

启用方法:

打开 xampp\apache\bin\php.ini 文件,在大约613行找到:

;extension=php_java.dll

去掉行首的分号即可。然后重新启动服务器。

③启用 curl

在安装 BookLibrary 组件时就会要求启用 curl,而 XAMPP 也是默认禁用的。

启用方法:

打开 xampp\apache\bin\php.ini 文件,在大约582行找到:

;extension=php_curl.dll

去掉行首的分号即可。然后重新启动服务器。

④启用 Fopen

在安装 RWcards 电子贺卡组件时就需要 Fopen 功能的支持。

启用方法:

打开 xampp\apache\bin\php.ini 文件,在大概第522 行,找到如下代码:

allow_url_fopen = On

如果你看到这里是 Off,请设为 On 即可。

⑤启用 eAccelerator

eAccelerator 是一个用来加速 php 代码运行以及提供加密、解密功能的 Apache 服务器插件。XAMPP 已经自带,但是默认没有启用。

在安装 JoomlaWiki 组件时,就会发现系统需要 eAccelerator 的支持。

启用方法:

打开 \xampp\apache\bin\php.ini 文件,

大概在 1296行左右,找到

[eAccelerator]

这一节,启用下面的代码(去掉行首的 ; 分号):

extension=eaccelerator.dll
eaccelerator.shm_size = "0"
eaccelerator.cache_dir = "\xampp\tmp"
eaccelerator.enable = "1"
eaccelerator.optimizer = "0"
eaccelerator.debug = "0"
eaccelerator.check_mtime = "1"
eaccelerator.filter = ""
eaccelerator.shm_max = "0"
eaccelerator.shm_ttl = "0"
eaccelerator.shm_prune_period = "0"
eaccelerator.shm_only = "0"
eaccelerator.compress = "1"
eaccelerator.compress_level = "9"
eaccelerator.keys = "shm_and_disk"
eaccelerator.sessions = "shm_and_disk"
eaccelerator.content = "shm_and_disk"

注:JoomlaWiki 可能会建议安装 Turck MMCache,不过有了 eAccelerator,就不必安装 MMCache 了。因为“eAccelerator is a further development of MMCache.”.

⑥调整内存限额

如果你的个人电脑性能不够好,可能在运行 XAMPP 过程中有时遇到“内存不足”的提示。这是因为 XAMPP 默认给 Apache 服务器只分配了32MB 内存。

打开 \xampp\apache\bin\php.ini 文件,在第 246 行左右,找到:

memory_limit = 32M      ;

修改此数值,例如:

memory_limit = 500M      ;

现在个人电脑一般都至少 1GB 内存,因此给这里分配 128MB 以上内存不会影响 PC 的运行。

⑦调整程序执行时间

如果在 Joomla! 上安装某些比较大的扩展,例如安装包 zip 文件超过 1MB,有时候会遇到“Fatal error: Maximum execution time of 30 seconds exceeded in ...” 这样的错误提示,扩展也无法成功安装。

这是因为 XAMPP 默认的程序执行时间(execution time)太短了。

延长程序执行时间:

打开 \xampp\apache\bin\php.ini  文件,在 第244行左右,找到:

max_execution_time = 60     ; Maximum execution time of each script, in seconds

此处默认60秒,你可以加一个零或者两个零,就能延长10倍或者100倍,呵呵。

⑧安装 ionCube

ionCube 是一个 php 代码加密程序,很多商业软件都是通过 ionCube 将代码加密,然后销售出去。例如,著名的 Clexus 站内信组件就是用 ionCube 加密的。当用户安装 Clexus 时,就需要在服务器上启用 ionCube 解密程序。XAMPP 并没有带有 ionCube 程序,因此需要手动安装。

首先,从 http://www.ioncube.com/loaders.php 下载 ionCube 的解密程序(免费提供),这是一个 DLL 文件,目前最新版本是 ioncube_loader_win_5.2.dll,下载时找到对应 windows x86 的版本,下载后得到一个压缩文件,解压后即可得到 dll 文件。

将 ioncube_loader_win_5.2.dll 这个文件复制到 d:\xampp 目录下,然后打开 \xampp\apache\bin\php.ini  文件:

找到 [Zend] 这一节,大概在第 1264行,紧跟这一行添加新的一行代码:

zend_extension_ts = "\xampp\ioncube_loader_win_5.2.dll"

然后重新启动 XAMPP 即可启用 ionCube。

注意:这个 dll 文件的名称和版本可能会更新,因此你必须根据你得到的文件名来灵活处理。

⑨安装 Python

XAMPP 一直没有针对 Python 的支持,但是有些高级用户可能会需要 Python 功能以便在个人电脑上开发、调试 Python 程序。那么,可以考虑手动安装 Python。

以下安装方法参考了 XAMPP 官方论坛的一个帖子

首先下载 ActivePython :http://www.activestate.com/products/activepython/

然后下载 mod_python :http://www.modpython.org/ 得到一个 .exe 文件。

运行 ActivePython.exe 安装 python,安装时选择目录安装到 D:\xampp\python ,这样比较容易管理。

然后运行 mod_python 安装文件, 会询问 python 的安装位置(自动探测到),然后询问 apache 的安装位置, 手动定位到  D:\xampp\apache 目录, 安装结束后它会在 D:\xampp\apache\modules 目录中增加一个 mod_python.so 文件,这就是针对 Apache 服务器的 python 模块。

现在配置 python:

打开 D:\xampp\apache\conf\httpd.conf 文件,插入一行:

LoadModule python_module modules/mod_python.so

在 httpd.conf 文件末尾插入:

<IfModule python_module>
<Directory "D:\xampp\htdocs\test">
AddHandler mod_python .py
PythonHandler mptest
PythonDebug On
</Directory>
</IfModule>


重新启动 Apache 服务器。Python 服务器已经启用了。

现在测试 python 能否运行:

将下列代码保存为 mptest.py 文件,然后保存到 D:\xampp\htdocs\test 目录中:

from mod_python import apache

def handler(req):
req.content_type = 'text/plain'
req.write("Hello World!")
return apache.OK

然后打开浏览器,访问:

http://localhost/test/mptest.py

就会看到页面上显示:

Hello World!


这就证明 python 安装成功!

{mospagebreak_scroll title=如何启用 XAMPP 自带的邮件服务器}

如何启用 XAMPP 自带的邮件服务器

本页内容是2009年7月13日补充进来的。原来写这篇文章时没有考虑到启用 XAMPP 自带的邮件服务,一个原因是我本人并不熟悉 Mercury 邮件服务器;另一个原因是我觉得本地测试几乎用不上邮件功能,实在想用,就填写自己真正的 SMTP 服务器也能运行。

今天补充的原因也有两方面:一是很多人在本地测试时,在默认设置下就去测试会员注册、提交联系邮件,遇到了“收不到激活邮件”的问题,到处求助;二是考虑到有些人可能利用 XAMPP 自己电脑上安装了 Joomla 之后,允许别人通过 IP 地址等方式来访问这个本地服务器。

在撰写下面的内容之前,我曾经在网上搜索了30分钟,但是很遗憾,竟然从来没有人详细介绍过如何启用 XAMPP 自带的邮件服务器以配合 Joomla 运行。因此,如果你也正在寻找这方面的资料,基本上不用再去别处乱找了。言归正传:

首先,解释一下 XAMPP 本地安装 Joomla 之后为什么“注册会员时收不到激活邮件”?

原因很简单:XAMPP 服务器启动之后,默认并没有启动其自带的 Mercury 邮件服务器。而 Joomla 后台的默认设置是要使用本地的邮件服务器的,这个服务器根本没启动,你怎么能发出邮件去?

还有些用户可能是通过 Control Panel 来启动了 XAMPP,在这个控制面板上就有 Mercury 邮件服务器的按钮,他也点了“Start”按钮启动了邮件服务器,还是发不出激活邮件,为什么?

原因也很简单:XAMPP 默认的设置是无法让 Mercury 邮件服务器直接发送出邮件的。必须对它进行一点设置。具体步骤如下:

0、测试环境介绍

我进行下列操作的环境是:Windows XP sp3 + XAMPP 1.7.0 + Joomla 1.5.12

其中,XAMPP 安装位置是:D:\xampp\。如果你的安装位置不同,请注意做好相应的调整。

1、启动 Mercury 邮件服务器

XAMPP 自带的邮件服务器名称是 Mercury。架设你已经启动了 Apache 和 MySQL,现在点击 XAMPP 根目录下的 mercury_start.bat 就能直接启动邮件服务器;或者,你通过上面提到的 Control Panel 也能启动 Mercury 邮件服务器。

Start Mercury Mail Server
Start Mercury Mail Server

2、发送测试邮件

就这么一步,Mercury 邮件服务器已经运行起来并且能够发送邮件了。不过,只能通过 Mercury 本身来发送。我们先测试一下这个功能。

在 Mercury 主面板上点击顶部菜单“File -> Send mail message”,就会弹出一个简单的邮件撰写窗口,填写你自己的正规信箱作为收件人,随便编造一个主题和正文,点击“Send”发送出去。我是用 Gmail 的信箱来测试的,大概2分钟就收到了。看下面两个截图:

Send test mail on Mercury

Mercury test mail received
Mercury test mail received

但是,这个时候如果你使用前面介绍的 SMTP 帐号来尝试设置 Joomla 后台邮件设置,或者尝试用 Outlook Express 借助这个 SMTP 来发送邮件,都会失败。Joomla 的错误消息没有提供什么有价值的参考,而 OE 会提示你:

553 We do not relay non-local mail, sorry

下面我们来解决这个问题,其实只是一个小小的设置而已:

3、设置 Mercury 邮件服务器及默认帐号的密码

点击 Mercury 顶部菜单的“Configuration -> MercuryS SMTP Server” ,在弹出的对话框上点击“Connection control”标签页,去掉“Do not permit SMTP relaying of non-local mail”这一项的勾选,然后点击“确定”。

Mercury SMTP server settings
Mercury SMTP server settings

去掉上面一项之后,就可以向外发送邮件了。不过,Mercury 的默认帐号是没有密码的,必须设置一个密码才能连接 SMTP 服务器。为了方便记忆,我们这个测试帐号的密码就设为与用户名相同吧:都是 postmaster。

如下图操作:点击 Mercury 主面板顶部菜单上“Configuration -> Manage local users”,在弹出的对话框上选定 postmaster 这个用户,点击右边的“Change”按钮,然后在弹出的对话框中“Mail password”这里填写 postmaster,点击“OK”即可。

Mercury SMTP account password
Mercury SMTP account password

经过这两点设置,Mercury 邮件服务器就完全可以用来向外发送邮件了。接下来你要在 Joomla 后台设置这个 SMTP 帐号:

4、在 Joomla 中使用 Mercury 的 SMTP 服务器

以管理员身份登录到 Joomla 1.5.x 后台,点击控制面板上的“全局设置”,进入“服务器”标签页,在“邮件设置”这里按下图所示填写:

Joomla use Mercury SMTP server
Joomla use Mercury SMTP server

首先选择“SMTP 服务器”模式。寄件人地址填写 postmaster@localhost 。由于 Mercury 的 SMTP 服务器默认不需要验证,所以在“SMTP 认证”这里选择“否”。用户名和密码都是 postmaster,主机就是 SMTP 服务器的地址,这里填写“localhost”,端口是默认的 25。

如果你需要在 Outlook Express 里面利用这个本地的 Mercury 邮件服务器来收发邮件,也可以按照上述参数来设置。POP3 服务器的地址仍然是 localhost,端口是 110。

到现在就大功告成了。你保存全局设置之后,可以在前台分别测试一下注册新会员和通过联系人表单发送邮件,应该能收到了。

最后提醒一下:有人可能还想玩玩“邮件设置”里面的 Sendmail 模式,这几乎没什么意义。

Sendmail 本来是 Linux 平台的程序,在 XAMPP for Windows 里面,也有一个 sendmail.exe 文件,这只能算是“伪 sendmail”(fake Sendmail),而不是真正的 sendmail。

之所以说它是“伪 sendmail”,是因为在 Windows 平台上,这个 sendmail.exe 实际上是通过 SMTP 服务器来发送邮件的,而不是靠它本身。也就是说,如果你想玩 sendmail,那么还必须按照上面所说的设置,完全调整好 Mercury 的 SMTP 服务器,现在选择 Sendmail 模式就能正常工作了。但这有什么意义呢?还不如直接用 SMTP 参数来发送。

好了,XAMPP的介绍就算是完成了。深入设置XAMPP部分是从Joomla之门直接COPY来的,希望大家不要见怪。

发表评论


验证码
刷新