php mysql ftp_vm虚拟机上安装apache+php+ftp+mysql

我在vm虚拟机上想安装 winxp和linux,然后在linux机上装apache+php+ftp+mysql,以下为我的按装过程:

1:连通虚拟机:两个虚拟机都选Host-Onl,查看主机VirtualBox Host-Only Network ip地址为192.168.56.1,那我让linux,windowsxp都让为该网址192.168.56.2,192.168.56.3,

然后按以下方法就可以让两虚拟机互ping通,仅是如上的设置,可能还不能保证就可以实现WINDOWS与LINUX的ping互通问题。这其中就涉及到双方的防火墙问题了。

1、WINDOS侧存在防火墙。如果你发现WINDOWS可以ping通LINUX,而LINUX不能ping通WINDOWS,则应该是你WINDOWS本机上防火墙策略导致的问题。我本次也是被这个问题折磨了好长一段时间,直到关闭了WINDOSW本机的防火墙,终于就实现ping互通了。关闭本机WINDOWS防火墙的关闭方法如下:

开始 -> 控制面板 -> 系统和安全 -> Windows防火墙 -> 打开或关闭Windows防火墙 -> 关闭Windows防火墙

2、LINUX侧存在防火墙。此时可能出现LINUX能ping通WINDOWS,但是windows却不能ping通LINUX。

检查LINUX是否有防火墙的方法是:

iptables -L 命令查看当前LINUX系统的策略。

我这里不需要各种防火墙策略,因此直接简单设置防火墙规则如下:

iptables -F   //清空当前防火墙规则

iptables -X   //删除系统配置的所有防火墙规则

iptables -P INPUT ACCEPT

iptables -P OUTPUT ACCEPT

iptables -P FORWARD ACCEPT

只要配置成开机自动执行上述命令,则启动后LINUX系统当前的防火墙策略就如下:

这样,就解除了LINUX的防火墙设置。

现在,就可以实现WINDOWS LINUX系统之间的IP互通了。在LINUX上开启ssh服务,samba服务,都可以从WINDOWS上正常登陆了。

2:安装ftp:

在rhel6光盘中自带了该软件,#mkdir /mnt/cdrom

#mount /dev/cdrom  /mnt/cdrom

安装软件包:#cd /mnt/cdrom/Packages

#rpm -ivh vsftpd*

安需要修改主配置文件:/etc/vsftpd/vsftpd.conf

可能出现问题:

a:登陆时如出现,"500 OOPS",这是因为SELinux 限制了用户登陆FTP服务器,要修改SELinux的设定值:#setsebool -P ftp_home_dir  on

b:如出现“ftp:connect:NO route to host”这样的错误提示,我们要修改防火墙规则,以便让21号端口通过防火墙:#iptables -I INPUT -p tcp --dport 21 -j ACCEPT,编辑/etc/selinux/config 文件,把"SELinux=enforcing"改为" SELinux =disabled", 关闭SELinux.

c:增加ftp用户,#useradd -s /sbin/nologin user1

#passwd  user1

修改ftp目录权限:#chmod -R o+w /var/www/html

开启禁用SELinux的FTP的传输审核功能:#getsebool -a|grep ftp

#setsebool  -P allow_ftpd_anon_write off

#setsebool -P ftpd_disable_trans on

#getsebool -a|grep ftp

3:安装apache

a,查看系统中是否已安装:#rpm -qa |grep httpd

b,在rhel6光盘中自带了该软件,#mkdir /mnt/cdrom

#mount /dev/cdrom  /mnt/cdrom

安装软件包:#cd /mnt/cdrom/Packages

用#find apr*,查找 appache所依赖软件,全部安装:# rpm -ivh apr*

然后安装:# rpm -ivh http_tools*

# rpm -ivh  http-2.2.15*

# rpm -ivh  httpd_manual*

再用#rpm -qa |grep httpd确认是否已安装完成

启动apache服务器:#service httpd restart

查看状态:service httpd status

查看服务 器占用端口情况:netstat -tnlp|grep httpd

如在ie中输入服务器地址能出现read hat testpage 页面,则说明已成功安装

4:安装mysql

a,利用YUM工具安装,#yum groupinstall mysql

完成后,用 setup,开启mysql服务。

b: 无法连接 mysql

//

linux下连接本机mysql有两种方式:

1、socket 方式

2、tcp/ip方式

就是这种问题,有些时候使用tcp/ip方式,有些时候是另外一种。

所以你可以有两种方式解决:

1、直接强制使用tcp/ip方式

2、把socket补上

方法:

1、mysql 后面加个 --protocol=tcpip

2、 关闭 mysql , cd 到 /tmp 然后输入: ln -s /var/lib/mysql/mysql.sock mysql.sock , 启动 mysql

//

MySQL安装后,默认只允许通过127.0.0.1的方式在服务器访问3306端口

1). 3306端口是不是没有打开?

使用nestat命令查看3306端口状态:

~# netstat -an | grep 3306

tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN

从结果可以看出3306端口只是在IP 127.0.0.1上监听,所以拒绝了其他IP的访问。

解决方法:修改/etc/mysql/my.cnf文件。打开文件,找到下面内容:

# Instead of skip-networking the default is now to listen only on

# localhost which is more compatible and is not less secure.

bind-address  = 127.0.0.1

把上面这一行注释掉或者把127.0.0.1换成合适的IP,建议注释掉。

重新启动后,重新使用netstat检测:

~# netstat -an | grep 3306

tcp        0      0

0.0.0.0:3306

0.0.0.0:*

LISTEN

2).问题解决了吗?

现在使用下面命令测试:

~# mysql -h 10.1.1.2 -u root -p

Enter password:

ERROR 1130 (00000): Host 'B0324-Desktop.local' is not allowed to connect to

this MySQL server

结果出乎意料,还是不行。

解决方法:原来还需要把用户权限分配各远程用户, MySQL默认root账户不带%而是127.0.0.1,

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值