apache+php搭建一个简单的web环境【php调用脚本】

简介

我们在工作中一般都会有些工具或者数据需要长期保存,这样我们可以搭建一个小的web页面;这样我们可以把一些静态的数据放到上面,并且把一些小的工具界面化。

1. 安装包

sudo yum install httpd-2.2.11 -b current -y
sudo yum install php-5.2.9 -b current -y

2. 配置文件

1. http.conf apache默认支持cgi调用 shell、python、perl脚本;所以基本不用修改;但要注意下面几个地方:

  • 编码格式:AddDefaultCharset  GB2312 默认是这个;只报保证浏览器的编码格式[ 查看--字符编码]相同就可以正常展现中文;否则修改任何一个即可。
  • DocumentRoot:如果你的index文件不在这个跟路径下;在URL重要加上 http://....:9999/tools
  • Listen:端口  确定是 9999 还是8080  还是80
  • Directory:文件访问权限的配置,特别留意DocumentRoot的设置
  • VirtualHost:如果只提供一个web服务,则无需设置VirtualHost
  • DirectoryIndex:apache 默认的index页面【在Document目录下面】;
  • DirectoryIndex index.html index.html.var

2. php.conf

安装php后会产生一个php.con;其中一些配置项也需要了解

  • DirectoryIndex:client 端浏览器访问web的路径内找的index 页面
  • # Add index.php to the list of files that will be served as directory
    DirectoryIndex index.php
    在client 浏览器访问server的web 时会在指定的目录下面找index.php

3. web页面展现的样式

web页面需要具有更好的可读性;需要cp 一个样式表:

从网上搜一个css的样式表,修改一下即可。

tools.tgz
sudo tar -zxvf ./tools.tgz -C /
#用浏览器 F12 查看返回是500 则说明web server 有错误;查看error.log

4. php 安全模块的打开

php中有个safe_mode_gid 模块的设置;如果设置是ON【默认是ON】会有各种限制,最简单的是,

php 调用 web server非Root下面的脚本【读磁盘都会受到限制】: http://www.phpddt.com/php/643.html

所以,要把这个选项设置为ON:

sudo vim /etc/php.ini  

safe_mode_gid = Off  #安装设置关闭

php 调用脚本

1. php 调用脚本的基本结构

 <form class="form-search" method="post" action="query_test.php" οnsubmit="return check('#pid')">
      <legend>机器 从机器2上面获取数据</legend>
      <input type="text" class="input-xlarge search-query" name="machine" placeholder="machine" maxlength="30">
      <button class="btn btn-small btn-primary" type="submit">拉取数据</button>
</form>
      <?php
        if(isset($_POST['machine']))
           {
              $host = trim($_POST['machine']);
              echo "<h3>$host 从机器2 拉取数据 </h3>";
              echo "<h3>/home/a/share/htdocs/tools/test.sh $host </h3>";
              system("sh /home/a/share/htdocs/tools/test.sh $host");  #调用shell 脚本的基本格式,括号里面是个字符串""
            }
      ?>


2. 几点注意事项

  • 远程登录机器,执行命令:sudo -u test ssh host "/.../../test.sh【此时我们知道在某一台机器第一次sudo ls 时需要输入你的密码,而这个密码不可能通过打通通道来实现的;需用用expect 这样的自动输入密码来实现】

3. 链接数据库

mysql -h IP -u notify_engine -p


注意的知识点

1. laod cgi 的.so 文件

2. form 提交表单后,在firedebug网络中有完整的访问的http请求 的URL 


3.  用php 调用cgi来执行cgi 脚本需要cgi脚本具有可执行性

4.  提交表单后想我们的apache 提交http请求;apache 收到这个请求后,用 apaache 配置文件 httpd.conf 里面的 用户来执行;

所以cgi脚本中如果写文件,此用户必须有这个文件的写权限。

5. 在 远程执行时,特别注意 “”   ‘’  的使用,二者的区别


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值