热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

篇首语:本文由编程笔记#小编为大家整理,主要介绍了vm虚拟机上安装apache+php+ftp+mysql相关的知识,希望对你有一定的参考价值。 我在vm虚拟机上想安装 winxp和linu

篇首语:本文由编程笔记#小编为大家整理,主要介绍了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配置端口访问规则 - 允许外网访问 3306

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,因此需要修改。

登录到mysql服务器,使用grant命令分配权限

mysql> grant all on database_name.* to user_name@\'%\' identified by \'user_password\';

其中database_name、user_name和user_password根据实际情况设置。

完成后使用mysql命令连接,提示成功,为了确保正确可以再远程登陆测试一下。


ERROR 1130: Host \'192.168.1.3\' is not allowed to connect to this MySQL server 
解决方法: 
1。 改表法。可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"
mysql -u root -pvmwaremysql>use mysql;mysql>update user set host = \'%\' where user = \'root\';mysql>select host, user from user;

 

执行FLUSH   PRIVILEGES命令   然后再进行连接

2. 授权法。例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。 
GRANT ALL PRIVILEGES ON *.* TO \'myuser\'@\'%\' IDENTIFIED BY \'mypassword\' WITH GRANT OPTION;
如果你想允许用户myuser从ip为192.168.1.3的主机连接到mysql服务器,并使用mypassword作为密码 
GRANT ALL PRIVILEGES ON *.* TO \'root\'@\'192.168.1.3\' IDENTIFIED BY \'mypassword\' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO \'root\'@\'10.10.40.54\' IDENTIFIED BY \'123456\' WITH GRANT OPTION;

 

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

常用检查步骤。
1. PING hostname 或 PING 189.xx.xx.xx 确认服务器IP层通信没有问题。如果PING通则继续(2),PING不通则找网络方面专家协助。
2. TELNET hostname 3306  确认服务器TCP层通信没有问题。(你的端口号可能不是3306),如通则继续,如不通,请检查mysqld 是否已经在运行,防火墙屏蔽了端口。
3. 检查用户权限, show grants ...

 

你的用户没有使用 root  账户,或者你的root账户没有授予登录权限,需要使用
GRANT ALL PRIVILEGES ON *.* TO \'myuser\'@\'%\' IDENTIFIED BY \'mypassword\' WITH GRANT OPTION;
授权主机是%,%即代表任意位置的主机,

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// =====================================================================================================
故障现象 : 无法连接 mysql 
错误信息 :ERROR 1045 (28000): Access denied for user \'usera\'@\'localhost\' (using password:YES)
原因 : 用户账号并未创建
检查 :以管理员ROOT登录后,show grants for \'usera\'@\'localhost\'; 或者 select user from mysql.user; 确认用户账号是否存在。
处理 :创建用户账号。
=====================================================================================================

==========================================================================
故障现象 : 无法连接 mysql 
错误信息 :ERROR 1130: Host xx.xx.xx.xx is not allowed to connect to this MySQL server 
原因 : mysql服务器没有赋予此客户端远程连接的权限。 
检查 :在mysql服务器本地查询mysql库里user表对应的host是否包含客户端机器的IP(%为不限制IP允许远程连接)。 
处理 :修改mysql库下的user表:update user set host = \'%\'  where user =\'XXX\';flush privileges;
====================================================================================

=====================================================================================================
故障现象 : 无法连接 mysql 
错误信息 :ERROR 2003 (HY000): Can\'t connect to MySQL server on \'hostxxxxx\' (10061)
原因 : mysqld数据库服务没有启动。
检查 :在windows 的任务管理器,或者 unix/linux 下 ps -aux | grep mysql 看一下。确认服务已经启动。
处理 :启动mysqld 服务
=====================================================================================================

===================================================================================================== 
故障现象 : 无法连接 mysql 
错误信息 :ERROR 2003 (HY000): Can\'t connect to MySQL server on \'hostxxxxx\' (10061) 
原因 : mysqld 客户端与服务端端口不一致。 
检查 :在my.ini 设置下服务端口 这种情况特别是客户都与远程服务器端口不一致 很容易出现的问题
处理 :启动mysqld 服务 
===================================================================================================== 

===================================================================================================== 
故障现象 : 无法连接 mysql windows
错误信息 :ERROR 2003 (HY000): Can\'t connect to MySQL server on \'hostxxxxx\' (10061) 
原因 :  同时开启大量的tcp端口和而仅有一小部分短命端口时,当他们处于time_wait时期,mysql可能会跑错端口
检查 :在windows 默认会开启5000个临时端口供调用,而他们的生命仅仅是120s,意思是在关闭端口的时候会有120秒的延时
处理 :减少不不必要的tcp端口。
修改注册表
===================================================================================================== 

===================================================================================================== 
故障现象 : 无法连接 mysql 
错误信息 :ERROR 2002 (HY000): Can\'t connect to local MySQL server server through socket \'/var/lib/mysql/mysql.sock\'(111) 
原因 : mysqld的mysql.sock没在相应的位置。
处理 :1.先查看/etc/rc.d/init.d/mysql status 看看是否启动
2.改权限 chown -R mysql:msyql /var/lib/mysql
3.修改/etc/my.cnf (注意:先停数据库)
[mysqld]
datadir=/usr/local/mysql/data
socket=/var/lib/mysql/mysql.sock
[mysql.server]
user=mysql
basedir=/usr/local/mysql
[client]
socker=/var/lib/mysql/mysql.sock
4.启动数据库
===================================================================================================== 

归纳如下:
故障现象 : 无法连接 mysql 
===================================================================================
错误信息 :ERROR 2003 (HY000): Can\'t connect to MySQL server on \'hostxxxxx\' (10061)
原因 : mysqld数据库服务没有启动。
检查 :在windows 的任务管理器,或者 unix/linux 下 ps -aux | grep mysql 看一下。确认服务已经启动。
处理 :启动mysqld 服务
===================================================================================
错误信息 :ERROR 1130: Host xx.xx.xx.xx is not allowed to connect to this MySQL server 
原因 : mysql服务器没有赋予此客户端远程连接的权限。 
检查 :在mysql服务器本地查询mysql库里user表对应的host是否包含客户端机器的IP(%为不限制IP允许远程连接)。 
处理 :修改mysql库下的user表:update user set host = \'%\'  where user =\'XXX\';flush privileges;
===================================================================================
错误信息 :ERROR 1045 (28000): Access denied for user \'usera\'@\'localhost\' (using password:YES)
原因 : 用户账号并未创建
检查 :以管理员ROOT登录后,show grants for \'usera\'@\'localhost\'; 或者 select user from mysql.user; 确认用户账号是否存在。
处理 :创建用户账号。
===================================================================================
错误信息 :ERROR 2003 (HY000): Can\'t connect to MySQL server on \'hostxxxxx\' (10061) 
原因 : mysqld 客户端与服务端端口不一致。 
检查 :在my.ini 设置下服务端口 这种情况特别是客户都与远程服务器端口不一致 很容易出现的问题
处理 :启动mysqld 服务 
===================================================================================
错误信息 :ERROR 2002 (HY000): Can\'t connect to local MySQL server server through socket \'/var/lib/mysql/mysql.sock\'(111) 
原因 : mysqld的mysql.sock没在相应的位置。
处理 :1.先查看/etc/rc.d/init.d/mysql status 看看是否启动
       2.改权限 chown -R mysql:msyql /var/lib/mysql
       3.修改/etc/my.cnf (注意:先停数据库)
       [mysqld]
       datadir=/usr/local/mysql/data
       socket=/var/lib/mysql/mysql.sock
       [mysql.server]
       user=mysql
       basedir=/usr/local/mysql
       [client]
       socker=/var/lib/mysql/mysql.sock
       4.启动数据库
===================================================================================

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

c.配置

   # vi /usr/local/apache/conf/httpd.conf

修改此文件,更改以下指令为:

DirectoryIndex index.html index.shtml index.cgi index.php index.phtml index.php3

ServerName  12.34.56.78:80  //这里的ip和端口号视实际情况而定

Options FollowSymLinks MultiViews //为安全起见,去掉"Indexes"

 

找到AddType处,并添加以下2行:

AddType application/x-httpd-php .php .php3 .phtml .inc

AddType application/x-httpd-php-source .phps

 

vi /usr/local/lib/php.ini     可能要把php.ini 拷到bin目录下

更改以下指令为:

register_globals = On

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

我的网页目录为:/var/www/html ftp目录相同

Linux Apache php MySQL 安装配置(Centos 6.4 yum安装)

时间:2014-12-11 13:45:10    

一、yum准备

    1.Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。

      基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。

    2.在安装软件时报’Couldn‘t resolve host ‘mirrorlist.centos.org‘

      解决:打开文件/etc/resolv.conf在其中添加: (添加DNS解析)

            nameserver 114.114.114.114
            nameserver 8.8.8.8 
            nameserver 8.8.4.4 

 

二、apache安装配置

  1.安装:yum install httpd(版本:2.2.15-39)

        

  2.配置:

    httpd配置  vim /etc/httpd/conf/httpd.conf (没有vim时 用yum安装一个)

      修改两处:1.Listen 80   ------>   Listen 192.168.0.162:80  (IP:端口号)

           2.#ServerName www.xxxx.com:80 ------> ServerName 192.168.0.162

                                              ps:配置必重启应用(/etc/init.d/httpd restart)

    防火墙配置   加入80端口的监听

      方法一:编辑配置文件:vim /ect/sysconfig/ipatbles

                                                ps:此方法配置后记得重启应用:/etc/init.d/iptables  restart

      方法二:命令行加入:iptables + 配置语句(eg:ipatable  -A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT)

                                              ps:此方法是一次性的并没有真正的在配置文件中加入语句,重启应用时会读取配置文件,改添加失效

  3.测试

    配置文件中有一行  DocumentRoot "/var/www/html"  表示html文件需要在该目录下才可以被浏览器读取

    1.在该目录下新建vim /var/www/html/index.html

    2.在里面写入

This is a test

    3.在浏览器地址处写入本机IP地址(显示如下表示成功)

      

三、PHP安装配置

  1.安装:yum install php(版本:5.3.3-40)

    

  2.配置Apache能识别php文件

    vim /etc/httpd/conf/httpd.conf

    在DirectoryIndex index.html index.html.var后面加入  index.php 注:一定要加在后面,否则会出错

                                  ps:重启http  

  3.测试(Apache+php)

    在/var/www/html/目录下新建index.php  

    在里面写入

    在浏览器地址栏输入:http://192.168.0.162/index.php  (显示如下表示成功)

      

四、MySQL安装配置

  1.安装:yum install mysql-server(版本:5.1.73-3)

    

  2.启动mysql服务设置密码

    启动:/etc/init.d/mysqld start

    设置密码: mysqladmin -uroot password 输入密码(eg: 888admin)

  3.进入mysql

    方法一:mysql -uroot -p 密码(eg:888admin)

    方法二:mysql -uroot -p 回车 。然后提示Enter password:   再输入密码(此方法更安全,显示如下表示成功)  

          

  4.让php支持MySQL

     yum install php-mysql php-pdo

      

                                       ps:若php与Apache链接的方式为静态此时应重启httpd(相关资料:http://www.it165.net/admin/html/201403/2603.html)

  5.测试(Apache+php+MySQL)

    第一步:新建测试文件  /var/www/html/test.php

    第二步:写入测试内容:

              $con = mysql_connect("localhost","root","888admin");
        if (!$con) {
              echo ‘false‘;
          }else{
              echo ‘win‘;
        }
        ?>

     第三步:php   /var/www/html/test.php        返回win

         在浏览器上运行(显示结果如下表示成功)

http://www.cnblogs.com/hssbsw/p/4345723.html



推荐阅读
  • linux ftp 线程数设置,Linux搭建ftp在windows下这么访问,需要怎么设置【设置vsftp最大连接数和每个ip的最大连接数】...
    文章来源:http:zhidao.baidu.comlink?urlLOfStD1kcxGhI_D5qC7oka3_4QZc1nn1SJwWaSd4onWoVl5Wt ... [详细]
  • PHP组合工具以及开发所需的工具
    本文介绍了PHP开发中常用的组合工具和开发所需的工具。对于数据分析软件,包括Excel、hihidata、SPSS、SAS、MARLAB、Eview以及各种BI与报表工具等。同时还介绍了PHP开发所需的PHP MySQL Apache集成环境,包括推荐的AppServ等版本。 ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • 如何提高PHP编程技能及推荐高级教程
    本文介绍了如何提高PHP编程技能的方法,推荐了一些高级教程。学习任何一种编程语言都需要长期的坚持和不懈的努力,本文提醒读者要有足够的耐心和时间投入。通过实践操作学习,可以更好地理解和掌握PHP语言的特异性,特别是单引号和双引号的用法。同时,本文也指出了只走马观花看整体而不深入学习的学习方式无法真正掌握这门语言,建议读者要从整体来考虑局部,培养大局观。最后,本文提醒读者完成一个像模像样的网站需要付出更多的努力和实践。 ... [详细]
  • 目录浏览漏洞与目录遍历漏洞的危害及修复方法
    本文讨论了目录浏览漏洞与目录遍历漏洞的危害,包括网站结构暴露、隐秘文件访问等。同时介绍了检测方法,如使用漏洞扫描器和搜索关键词。最后提供了针对常见中间件的修复方式,包括关闭目录浏览功能。对于保护网站安全具有一定的参考价值。 ... [详细]
  • 一、新建登录名1.在登录名右侧的文本框中输入新建的管理员账号名称;2.一对单选按钮组中,选择SqlServer身份验证,并输入登录密码;3.勾选强制实施密码策略复选框;(密码策略一 ... [详细]
  • 【教程】SecureCRT8.5安装和注册的详细步骤及操作指南
    00.目录文章目录00.目录01.SecureCRT8.5介绍02.SecureCRT8.5的特性03.SecureCRT8.5的特点04.SecureCRT8.5安装05.Sec ... [详细]
  • Ionic微信开发之环境配置
    在开发微信版的H5页面时,如果需要正常调用微信公众号的开放接口(测试或者发布情况),根据官方要求需要保证网页域名和后端维护的一致。因此,进行真服测试就显得很有必要。WebStorm ... [详细]
  • PHP程序员玩转Linux系列 搭建FTP代码开发环境
    PHP程序员玩转Linux系列搭建FTP代码开发环境-PHP程序员玩转Linux系列文章:有些同学可能觉得我写的都是啥yum安装的,随便配置一下而已,没啥技术含量,我的目的是让大家 ... [详细]
  • 本文介绍了如何将CIM_DateTime解析为.Net DateTime,并分享了解析过程中可能遇到的问题和解决方法。通过使用DateTime.ParseExact方法和适当的格式字符串,可以成功解析CIM_DateTime字符串。同时还提供了关于WMI和字符串格式的相关信息。 ... [详细]
  • Servlet多用户登录时HttpSession会话信息覆盖问题的解决方案
    本文讨论了在Servlet多用户登录时可能出现的HttpSession会话信息覆盖问题,并提供了解决方案。通过分析JSESSIONID的作用机制和编码方式,我们可以得出每个HttpSession对象都是通过客户端发送的唯一JSESSIONID来识别的,因此无需担心会话信息被覆盖的问题。需要注意的是,本文讨论的是多个客户端级别上的多用户登录,而非同一个浏览器级别上的多用户登录。 ... [详细]
  • 在单位的一台4cpu的服务器上部署了esxserver,挂载了6个虚拟机,目前运行正常。在安装部署过程中,得到了cnvz.net论坛精华区 ... [详细]
  • 原因:在vm上装7.9到sp3,打补丁到1644,再往后别打了,就打就打不开终端了,这个是java安全问题,以下只是终端的一些命令,记录一下:在系统下查看当前的串口:lsdev-C ... [详细]
author-avatar
爱夏花儿_915
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有