<commit_before>---
layout: post
title: "CentOS终端安装xampp及遇到问题解决"
description: ""
category: IT在路上
tags: ""
---

记录在远程服务器上部署xampp并进行管理的过程。

###一、通过putty连接到远程服务器

###二、下载xampp

<code>
wget http://sourceforge.net/projects/xampp/files/XAMPP%20Linux/1.8.3/xampp-linux-x64-1.8.3-1-installer.run/download
</code>

###三、下载完以后，给该文件添加执行权限：

<code>
chmod a+x xampp-linux-x64-1.8.3-a-installer.run
</code>

###四、安装xampp过程如下：

<code>
[root@job2016 src]# ./xampp-linux-x64-1.8.3-1-installer.run
</code>

###五、安装后的文件在 

<code>
/opt/lamp
</code>

###六、启动xampp:

<pre><code>
[root@job2016 lampp]# /opt/lampp/lampp start
Starting XAMPP for Linux 1.8.3-1...
XAMPP: Starting Apache...fail.
XAMPP:  Another web server is already running.
XAMPP: Starting MySQL...ok.
XAMPP: Starting ProFTPD...fail.
XAMPP:  Another FTP daemon is already running.
</code></pre>

###七、停止xampp：

<pre><code>
[root@job2016 lampp]# /opt/lampp/lampp stop
Stopping XAMPP for Linux 1.8.3-1...
XAMPP: Stopping Apache...not running.
XAMPP: Stopping MySQL...ok.
XAMPP: Stopping ProFTPD...not running.
</code></pre>

###八、添加开机启动：
Ln命令：

<code>
	#ln –s /opt/lampp/xampp /etc/rc.d/init.d/xampp
</code>

###九、如果执行完上面这条还不能开机自动启动，再执行下面3条语句。

<code>
	#chkconfig --add xampp  
	#chkconfig --list | grep xampp  
	#chkconfig --level 3 xampp on
</code>

###十、卸载xampp

<code>
	#/opt/lampp/xampp stop  
	#rm -rf /opt/lampp
</code>


###部署可能出现问题

####问题1：访问网址时如果出现下面的画面 

![forbidden](http://www.mojiaqin.cn/images/2016/0227/forbidden.jpg)

解决：先找到httpd-xampp.conf （find /opt/ -name httpd-xampp.conf ） 
如下图，注释一行，添加一行，重启即可 
![conf](http://www.mojiaqin.cn/images/2016/0227/conf.jpg)


####问题2：无法使用mysql命令
root@DB-02 ~]# mysql -u root  
-bash: mysql: command not found

解决:这是由于系统默认会查找/usr/bin下的命令，如果这个命令不在这个目录下，就会找不到命令，我们需要做的就是映射一个链接到/usr/bin目录下，相当于建立一个链接文件。
首先得知道mysql命令或mysqladmin命令的完整路径，比如mysql的路径是：/opt/lampp/bin/mysql，我们则可以这样执行命令：

<code>
	#ln -s /opt/lampp/bin/mysql /usr/bin
</code>


####问题3：修改mysql的root密码，因为默认为空 
解决：先找到mysql (find /opt/ -name mysql)如图 
 ![mysql](http://www.mojiaqin.cn/images/2016/0227/mysql.jpg)
这里看到有bin/mysql，执行命令/opt/lampp/bin/mysql -uroot -p不需要密码进入数据库。 
修改root密码：

<code>
		set password for 'root'@'localhost'=password('<PASSWORD>');
</code>

输入quit退出，重新执行命令/opt/lampp/bin/mysql -uroot -p，此时需要输入密码才能进入数据库


####问题4：无法访问phpmyadmin，返回403错误
需要修改/opt/lampp/etc/extra下的文件httpd-xmapp.conf，找到如下内容：

`

	# since XAMPP 1.4.3
	<Directory "/opt/lampp/phpmyadmin">  
	AllowOverride AuthConfig Limit  
	Order allow,deny  
	Allow from all     
	</Directory>  
`

增加一句Require all granted 
变为：

`

		# since XAMPP 1.4.3
		<Directory "/opt/lampp/phpmyadmin">
			AllowOverride AuthConfig Limit
			Order allow,deny
			Allow from all
			Require all granted 
		</Directory>
`  

同时，找到：

`

		<LocationMatch "^/(?i:(?:xampp|security|licenses|phpmyadmin|webalizer|server-status|server-info))">
				Require local
			 ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
		</LocationMatch>

`

将Require local注释掉，就可以从本地以外的地方访问了，注释如下:

`

		<LocationMatch "^/(?i:(?:xampp|security|licenses|phpmyadmin|webalizer|server-status|server-info))">
			 #Require local
			 ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
		</LocationMatch>
`

####问题5：修改了mysql的root登陆密码后phpmyadmin不能登陆 

修改了root密码后不能登录phpmyadmin
 ![phpmyadmin](http://www.mojiaqin.cn/images/2016/0227/phpmyadmin.png)

解决：找到config.inc.php文件（find /opt/ -name config.inc.php）
 ![configinc](http://www.mojiaqin.cn/images/2016/0227/configinc.jpg)
 
然后vim /opt/lampp/phpmyadmin/config.inc.php如图 
 ![configinc2](http://www.mojiaqin.cn/images/2016/0227/configinc2.jpg)
 
之后就可以打开phpmyadmin了


####phpmyadmin管理数据库时出现问题
总是提示一些表不存在的问题，如“MySQL error - #1932 - Table 'phpmyadmin.pma user config' doesn't exist in engine

解决：这是由于数据库xampp版本的问题导致初始化时phpmyadmin中的表格与配置文件有出入，需要根据以下几个步骤进行修改：<commit_msg>修改0227标题格式<commit_after>---
layout: post
title: "CentOS终端安装xampp及遇到问题解决"
description: ""
category: IT在路上
tags: ""
---

记录在远程服务器上部署xampp并进行管理的过程。
===================

### 一、通过putty连接到远程服务器
===================

### 二、下载xampp
===================
<code>
wget http://sourceforge.net/projects/xampp/files/XAMPP%20Linux/1.8.3/xampp-linux-x64-1.8.3-1-installer.run/download
</code>

###三、下载完以后，给该文件添加执行权限
===================

<code>
chmod a+x xampp-linux-x64-1.8.3-a-installer.run
</code>

###四、安装xampp过程
===================

<code>
[root@job2016 src]# ./xampp-linux-x64-1.8.3-1-installer.run
</code>

###五、安装后的文件在 
===================

<code>
/opt/lamp
</code>

###六、启动xampp
===================

<pre><code>
[root@job2016 lampp]# /opt/lampp/lampp start
Starting XAMPP for Linux 1.8.3-1...
XAMPP: Starting Apache...fail.
XAMPP:  Another web server is already running.
XAMPP: Starting MySQL...ok.
XAMPP: Starting ProFTPD...fail.
XAMPP:  Another FTP daemon is already running.
</code></pre>

###七、停止xampp
===================

<pre><code>
[root@job2016 lampp]# /opt/lampp/lampp stop
Stopping XAMPP for Linux 1.8.3-1...
XAMPP: Stopping Apache...not running.
XAMPP: Stopping MySQL...ok.
XAMPP: Stopping ProFTPD...not running.
</code></pre>

###八、添加开机启动
===================
Ln命令：

<code>
	#ln –s /opt/lampp/xampp /etc/rc.d/init.d/xampp
</code>

###九、如果执行完上面这条还不能开机自动启动，再执行下面3条语句
===================

<code>
	#chkconfig --add xampp  
	#chkconfig --list | grep xampp  
	#chkconfig --level 3 xampp on
</code>

###十、卸载xampp
===================

<code>
	#/opt/lampp/xampp stop  
	#rm -rf /opt/lampp
</code>


###部署可能出现问题
===================

####问题1：访问网址时如果出现下面的画面
-------------------- 

![forbidden](http://www.mojiaqin.cn/images/2016/0227/forbidden.jpg)

解决：先找到httpd-xampp.conf （find /opt/ -name httpd-xampp.conf ） 
如下图，注释一行，添加一行，重启即可 
![conf](http://www.mojiaqin.cn/images/2016/0227/conf.jpg)


####问题2：无法使用mysql命令
--------------------
root@DB-02 ~]# mysql -u root  
-bash: mysql: command not found

解决:这是由于系统默认会查找/usr/bin下的命令，如果这个命令不在这个目录下，就会找不到命令，我们需要做的就是映射一个链接到/usr/bin目录下，相当于建立一个链接文件。
首先得知道mysql命令或mysqladmin命令的完整路径，比如mysql的路径是：/opt/lampp/bin/mysql，我们则可以这样执行命令：

<code>
	#ln -s /opt/lampp/bin/mysql /usr/bin
</code>


####问题3：修改mysql的root密码，因为默认为空 
--------------------
解决：先找到mysql (find /opt/ -name mysql)如图 
 ![mysql](http://www.mojiaqin.cn/images/2016/0227/mysql.jpg)
这里看到有bin/mysql，执行命令/opt/lampp/bin/mysql -uroot -p不需要密码进入数据库。 
修改root密码：

<code>
		set password for 'root'@'localhost'=password('passwd');
</code>

输入quit退出，重新执行命令/opt/lampp/bin/mysql -uroot -p，此时需要输入密码才能进入数据库


####问题4：无法访问phpmyadmin，返回403错误
--------------------
需要修改/opt/lampp/etc/extra下的文件httpd-xmapp.conf，找到如下内容：

`

	# since XAMPP 1.4.3
	<Directory "/opt/lampp/phpmyadmin">  
	AllowOverride AuthConfig Limit  
	Order allow,deny  
	Allow from all     
	</Directory>  
`

增加一句Require all granted 
变为：

`

		# since XAMPP 1.4.3
		<Directory "/opt/lampp/phpmyadmin">
			AllowOverride AuthConfig Limit
			Order allow,deny
			Allow from all
			Require all granted 
		</Directory>
`  

同时，找到：

`

		<LocationMatch "^/(?i:(?:xampp|security|licenses|phpmyadmin|webalizer|server-status|server-info))">
				Require local
			 ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
		</LocationMatch>

`

将Require local注释掉，就可以从本地以外的地方访问了，注释如下:

`

		<LocationMatch "^/(?i:(?:xampp|security|licenses|phpmyadmin|webalizer|server-status|server-info))">
			 #Require local
			 ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
		</LocationMatch>
`

####问题5：修改了mysql的root登陆密码后phpmyadmin不能登陆 
--------------------

修改了root密码后不能登录phpmyadmin
 ![phpmyadmin](http://www.mojiaqin.cn/images/2016/0227/phpmyadmin.png)

解决：找到config.inc.php文件（find /opt/ -name config.inc.php）
 ![configinc](http://www.mojiaqin.cn/images/2016/0227/configinc.jpg)
 
然后vim /opt/lampp/phpmyadmin/config.inc.php如图修改密码   
 ![configinc2](http://www.mojiaqin.cn/images/2016/0227/configinc2.jpg)
 
之后就可以打开phpmyadmin了


####问题6：phpmyadmin管理数据库时出现问题  

总是提示一些表不存在的问题，如“MySQL error - #1932 - Table 'phpmyadmin.pma user config' doesn't exist in engine

解决：这是由于数据库xampp版本的问题导致初始化时phpmyadmin中的表格与配置文件有出入，需要根据以下几个步骤进行修改：
{'fraction_non_alphanumeric': 0.197084917617237, 'fraction_numerical': 0.031051964512040557, 'mean_word_length': 4.246675531914893, 'pattern_counts': {'":': 0, '<': 72, '<?xml version=': 0, '>': 72, 'https://': 0, 'lorem ipsum': 0, 'www.': 12, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6255570', 'n_tokens_mistral': 4114, 'n_tokens_neox': 4123, 'n_words': 499}