XAMPP常用设置与使用总结
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
为关键词可搜索到DocumentRoot
和Directory
两个配置项,按需要修改路径即可。比如我修改成了
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';
,修改config
为cookie
,这样打开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
文件,修改SSLCertificateFile
和SSLCertificateKeyFile
即可,其他都无需修改。
具体过程可参考为网站添加https支持。
在linux系统中使用的一些常见问题
XAMPP在linux系统中使用的用户名是daemon,因此如果你使用了WordPress这些建站软件,遇到了权限问题,例如“安装失败:无法连接到文件系统,请确认您的凭据。”、“要执行请求的操作,WordPress需要访问您网页服务器的权限”等等,请确保你的htdocs文件夹及其内的文件所有者是daemon,执行chown -R daemon:daemon htdocs/
即可。类似地,如果你使用的不是XAMPP,而是自己装的Apache/Nginx,也可以通过找到其使用的用户名是什么,相应地修改权限即可。
此外,我的这篇博客大迁移历险记里“安装配置xampp”一节提到了一些XAMPP在Linux下的一些常见操作和常见问题。