我在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,