简介
我们在工作中一般都会有些工具或者数据需要长期保存,这样我们可以搭建一个小的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 页面
在client 浏览器访问server的web 时会在指定的目录下面找index.php# Add index.php to the list of files that will be served as directory DirectoryIndex 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. 在 远程执行时,特别注意 “” ‘’ 的使用,二者的区别