XAMPP常用设置与使用总结

2016-04-10 14:23:32 Server

XAMPP是一款把建站软件整合在一起的安装包,允许用户可以在自己的电脑上轻易地建立网页服务器。

它以Apache网页服务器、PHP脚本语言、MySQL数据库为主,同时还包括FTP服务器、邮件服务器、用来跑JSP的Tomcat,以及用来网页可视化查看MySQL的phpMyAdmin等等。

我使用这款软件已经有两三年了,比较有心得,所以写一篇博客总结一下。对自己来说,主要是把一些常用设置记录下来,省得存到电脑上了(我之前都是写一个txt存起来的)。

为何要选择XAMPP

为什么要使用XAMPP套件,而不是单独配置需要的环境呢?另外,与XAMPP类似的软件还有Appserv、WampServer等,为什么要选择XAMPP呢?

  • 简单傻瓜式。在Windows上配置Apache+PHP+MySQL的环境,简直是要了命。如果你没有一定的知识储量的话,第一次去配几乎不可能成功。自己不思考,完全按教程去配,如果不用教程与同样版本的软件,也基本上很难成功。
  • 跨平台。虽然一般来说只会在Windows上用XAMPP,但是跨平台总算得上是一个优点,使得OS X和linux上的服务器配置变得简单。(我还真的在linux上装过)
  • 功能全。除了Apache+PHP+MySQL,XAMPP还自带了其他可能会用到的一些服务器软件。而且XAMPP的控制面板功能齐全,用起来很方便。
  • 设计优美。用得时间长了就越来越觉得XAMPP真好用。举个例子,XAMPP并没有在环境变量中添加各个组件,可以说几乎不影响系统,而且它提供了一个在启动时导入环境变量的Shell,用户需要以命令行方式操作时就可以用它,很方便。

下载安装

打开官网,下载,根据提示一路Next,安装完毕!

运行XAMPP Control Panel,开启Apache、MySQL。PHP是自动调用的,不需要手动开启。

在浏览器中打开localhost,若出现XAMPP欢迎界面,则安装成功。

控制面板详解

  • Start/Stop:开启/关闭对应软件。
  • Admin:打开对应软件的管理界面。例如Apache是在浏览器里打开localhost页面,MySQL是在浏览器打开phpMyAdmin页面。
  • Config:点击后提示该软件有哪些配置文件,选择某一文件后会用记事本打开以便修改。还可以浏览该软件的文件夹。
  • Logs:查看对应软件运行日志文件。
  • 右侧的Config:打开后界面如下图,可以修改打开配置文件默认使用的编辑器(我改成了Notepad++),修改XAMPP Control Panel启动时自动运行的软件等等。
  • Netstat:图形化界面显示netstat的信息,例如某进程所使用的端口。
  • Shell:一个启动时会引入各软件环境变量的Shell,如下图所示,我在这个Shell里以命令行方式使用mysql。

其他功能都不太常用,点一点基本就都知道是什么意思了。

常用设置

这些设置大多是在初次使用时需要设置的。

允许非本机访问

刚安装完XAMPP时,是不允许其他机器访问的,需要修改设置才行。

打开httpd-xampp.conf,注释掉Require local一行。(注释就是在这一行前面加#)但在Linux版中没有限制,有限制的只有phpMyAdmin。

修改Apache主目录路径

该路径即为网页文件放置的位置。

默认的路径在xampp安装目录下的htdocs文件夹。想要修改的话,打开httpd.conf,以htdocs为关键词可搜索到DocumentRootDirectory两个配置项,按需要修改路径即可。比如我修改成了

DocumentRoot "C:/server/htdocs/"
<Directory "C:/server/htdocs/">

注意:建议勿使用反斜杠\,因为它需要\\来转义。

修改Apache端口

Apache默认在80端口,通常不需要修改。如果要修改的话,打开httpd.conf,修改Listen 80为想要的端口。

一般来说这样就没问题了,想要保险,可以把配置文件里的所有带有80字样的都修改成想要的端口。

显示目录内容

当某个文件夹不存在index文件时,XAMPP默认是会显示出该目录所有的文件的,如下图。

若为了安全性问题,可以禁止该功能。修改方法是打开httpd.conf,将Options Indexes FollowSymLinks Includes ExecCGI一行注释。

禁止后页面会给出403错误,如下图。

在linux版XAMPP中,该配置项名为Options Indexes FollowSymLinks ExecCGI Includes

phpMyAdmin设置

phpMyAdmin默认使用$cfg['Servers'][$i]['auth_type'] = 'config';的认证方式,它将用户名和密码存放在配置文件中,任何打开phpMyAdmin页面的用户都可以操作数据库。

这显然是不安全的,需要修改。

打开config.inc.php,找到$cfg['Servers'][$i]['auth_type'] = 'config';,修改configcookie,这样打开phpMyAdmin页面时就会提示输入用户名和密码。

同时,需要修改$cfg['blowfish_secret'] = 'xampp';为任意字符串,以保证安全。

在linux版XAMPP中,想要远程访问phpMyAdmin,需要设置其路径允许被远程访问。具体方法是修改httpd-xampp.conf文件,注释掉phpmyadmin项中的Require local,加上Require all granted。

MySQL密码修改

MySQL的root密码默认为空,想要修改可以进入phpMyAdmin页面修改密码,也可以点击Shell进入命令行修改,执行mysqladmin -u root -p password 123456即可修改密码为123456,执行后会提示输入原密码。也可以不接新密码,这样会提示输入新密码。

MySQL使用UTF-8编码

MySQL默认使用latin-1编码。虽然这样也不影响PHP使用UTF-8字符,但是想要在phpMyAdmin中管理数据库就不行了,会显示乱码,因此需要设置为UTF-8编码。

修改my.ini,取消注释## UTF 8 Settings下面的那些内容,也就是

init-connect=\'SET NAMES utf8\'
collation_server=utf8_unicode_ci
character_set_server=utf8
skip-character-set-client-handshake
character_sets-dir="C:/server/xampp/mysql/share/charsets"

另外,似乎在[mysqld]下添加character-set-server=utf8[mysql]下添加default-character-set=utf8也是可以的。

修改错误页面

例如你想修改404页面的地址,修改xampp\apache\conf\extra\httpd-multilang-errordoc.conf中的ErrorDocument的部分即可。在httpd.conf中修改是无效的,因为会被httpd-multilang-errordoc.conf文件覆盖。

在linux版XAMPP中,该配置文件的地址在/opt/lampp/etc/extra

添加SSL

找到httpd-ssl.conf文件,修改SSLCertificateFileSSLCertificateKeyFile即可,其他都无需修改。

具体过程可参考为网站添加https支持

在linux系统中使用的一些常见问题

XAMPP在linux系统中使用的用户名是daemon,因此如果你使用了WordPress这些建站软件,遇到了权限问题,例如“安装失败:无法连接到文件系统,请确认您的凭据。”、“要执行请求的操作,WordPress需要访问您网页服务器的权限”等等,请确保你的htdocs文件夹及其内的文件所有者是daemon,执行chown -R daemon:daemon htdocs/即可。类似地,如果你使用的不是XAMPP,而是自己装的Apache/Nginx,也可以通过找到其使用的用户名是什么,相应地修改权限即可。

此外,我的这篇博客大迁移历险记里“安装配置xampp”一节提到了一些XAMPP在Linux下的一些常见操作和常见问题。

如果长时间无法加载评论,请对 *.disqus.com 启用代理!