lampabc.com,lamp学习本应更简单, 互帮 互助 共享 ~~~

XAMPP安装

1、安装xampp

wget http://www.apachefriends.org/download.php?xampp-linux-1.8.3-2-installer.run
chmod 755 xampp-linux-1.8.2-installer.run
./xampp-linux-1.8.2-installer.run


xampp安装好之后就只有一个默认站点及一个默认nobody的ftp账户,这显然不符合我们平时的需求了,那么下面就来讲一下如何设置并管理多个虚拟主机及ftp账户了,至于xampp的安装不在此讨论范围,读者可自行参阅官网的相关说明。

2、首先讲一下ftp账户的配置:

xampp采用的是proftpd服务端,这个不像我们Win环境下常用的Serv-U,用户帐户不是在服务端工具里面进行配置,而是在linux系统帐户里面配置的。因此我们可以使用命令:

groupadd ftpusers

先在系统中创建一个名称为ftpusers的用户组,这里的名称可以随便设置,主要是为了区分ftp帐户与系统其他类型的帐户所以我这里就命名为ftpusers,然后在这个组里面添加一个用户:

useradd -d /opt/lampp/www/site1 -g ftpusers -s /sbin/nologin site1ftp

第一个参数-d表示用户home目录,其中/opt/lampp/www/这个路径必须是存在的,而site1则是在该命令执行时自动创建的。第二个参数-g表示此用户隶属于哪个用户组,第三个参数-s表示此用户的shell环境,为安全起见我们应该设置为一个无权限的路径。最后一个参数才是此帐户的登录名称,我这里是site1ftp。

创建好之后我们就要为该帐户设置一个密码了:

passwd site1ftp

执行该命令后按提示输入两次密码即可完成帐户site1ftp的密码设置了。

接下来我们设置一下帐户home目录的权限:

chmod -R 777 /opt/lampp/www/site1

至此,ftp帐户的添加算是完成了,顺便提示一下,删除帐户的命令是userdel,修改帐户的命令是usermod,存储帐户的文件路径为/etc/passwd。

另外,为安全起见,我们应该在proftpd的服务配置文件(一般路径是/opt/lampp/etc/proftpd.conf)中修改一下DefaultRoot为ftpusers,将ftpusers组里面的用户访问范围限制在其home目录。也可以把DefaultRoot设为~(键盘左上角的那个符号),这样表示所有的组里面的用户都有这个限制了。如果要单独设置两个组或更多的组你必须另起一行或多行,说明如下:

DefaultRoot ftpusers      #限制ftpusers组里面的用户
DefaultRoot ~      #限制所有组里面的用户
DefaultRoot ftpusers
DefaultRoot nobody      #限制ftpusers组及nobody组里面的用户
DefaultRoot ftpusers,nobody      #限制既隶属于ftpusers组同时也隶属于nobody组里面的用户

对了,还差一个步骤,应该在proftpd配置文件中对ftp目录添加可重写的权限,如下:

<Directory /opt/lampp/www/*>
  AllowOverwrite            on
</Directory>

否则会出现ftp上传文件时无法覆盖同名文件的问题。

3、然后我们再讲一下虚拟主机的配置
先执行:

cat /opt/lampp/etc/httpd.conf

查看一下xampp的apache配置文件,我们发现其中有一行:

#Include etc/extra/httpd-vhosts.conf

看来,xampp为我们准备了一个专用于配置虚拟主机的文件了,去掉#号以删除其注释,然后编辑/opt/lampp/etc/extra/httpd-vhosts.conf文件,此文件中xampp为我们创建了两个虚拟主机的示例,我们把这两个示例注释掉,然后添加我们自己需要的虚拟主机,例如:

<VirtualHost *:80>
    DocumentRoot /opt/lampp/www/site1
    ServerName blog.ewebe.net
</VirtualHost>

DocumentRoot表示虚拟主机对应的路径,即网站目录,ServerName表示虚拟主机的访问地址,类似IIS中的主机头值。

至此,虚拟主机的设置也算是完成了。

最后我们需要在apache配置文件/opt/lampp/etc/httpd.conf中添加一下网站目录的访问权限。

<Directory "/opt/lampp/www/site1">
    Options Indexes FollowSymLinks
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>

这里可以将目录路径/opt/lampp/www/site1改为/opt/lampp/www,为以后建立更多的虚拟主机如site2、site3……等等做准备。


4、遇到的问题

4.1解决访问被拒绝问题
<Directory “/opt/lampp/phpmyadmin>和</Directory>之间,找到Deny 替换成Allow,即是Allow from all

4.2、XAMPP安全性问题

如前所述,XAMPP 并不适用于生产环境,而仅供开发环境使用。XAMPP 被设置为尽量开放,并提供开发者任何他/她想要的功能。这对于开发环

境来说是很棒的,但对于生产环境来说却可能是致命的。
这儿有一份 XAMPP 缺乏安全防护的列表:
MySQL 管理员(root)没有密码。
MySQL 可通过网络访问。
ProFTPD 使用“lampp”作为用户名“daemon”的密码。
PhpMyAdmin 可以通过网络访问。
示例程序可以通过网络访问。
MySQL 和 Apache 在同一个用户名(daemon)下运行。

要修正绝大部分的安全薄弱环节,只需执行以下命令:
/opt/lampp/lampp security
它会启用一个小小的安全检查功能,使您安装的 XAMPP 更安全。
* 高级的启动与停止参数
0.9.4 版以前的 /opt/lampp/lampp 只能简单地启动或停止 XAMPP。自从 0.9.5 版开始,它学会了很多新的东西。

5、XAMPP一些命令

XAMPP一些命令XAMPP 的高级启动与停止参数/opt/lampp/lampp start
启动 XAMPP

/opt/lampp/lampp stop
停止 XAMPP

/opt/lampp/lampp restart
重新启动 XAMPP

/opt/lampp/lampp startapache
只启动 Apache

/opt/lampp/lampp startssl
启动 Apache 的 SSL 支持。该命令将持续激活 SSL 支持,例如:执行该命令后,如果您关闭并重新启动 XAMPP,SSL 仍将处于激活状态

/opt/lampp/lampp startmysql
只启动 MySQL 数据库

/opt/lampp/lampp startftp
启动 ProFTPD 服务器。通过 FTP,您可以上传文件到您的网络服务器中(用户名“nobody”,密码“lampp”)。该命令将持续激活 ProFTPD,例如:执行该命令后,如果您关闭并重新启动 XAMPP,FTP 仍将处于激活状态。

/opt/lampp/lampp stopapache
停止 Apache。

/opt/lampp/lampp stopssl
停止 Apache 的 SSL 支持。该命令将持续停止 SSL 支持,例如:执行该命令后,如果您关闭并重新启动 XAMPP,SSL 仍将处于停止状态。/opt/lampp/lampp stopmysql
停止 MySQL 数据库。

/opt/lampp/lampp stopftp
停止 ProFTPD 服务器。该命令将持续停止 ProFTPD,例如:执行该命令后,如果您关闭并重新启动 XAMPP,FTP 仍将处于停止状态。

/opt/lampp/lampp security
启动一个小型安全检查程序。 XAMPP 的文件和目录/opt/lampp/bin/
XAMPP 命令库
例如 /opt/lampp/bin/mysql 可执行 MySQL 监视器

/opt/lampp/htdocs/
Apache 文档根目录

/opt/lampp/etc/httpd.conf
Apache 配置文件

/opt/lampp/etc/my.cnf
MySQL 配置文件

/opt/lampp/etc/php.ini
PHP 配置文件

/opt/lampp/etc/proftpd.conf
ProFTPD 配置文件

/opt/lampp/phpmyadmin/config.inc.php
phpMyAdmin 配置文件 设置 XAMPP 随系统自动启动

系统重启XAMPP是不会自动启动的,需要设置

ln -s /opt/lampp/lampp /etc/rc.d/rc3.d/S99lampp
ln -s /opt/lampp/lampp /etc/rc.d/rc4.d/S99lampp
ln -s /opt/lampp/lampp /etc/rc.d/rc5.d/S99lampp

ln -s /opt/lampp/lampp K01lampp        // 停止自动启动