Rootop 服务器运维与web架构

2011-11-23
发表者 Venus
暂无评论

no server suitable for synchronization found

     两台linux,NTP服务也没有配置,完全按照默认配置文件,服务器B向服务器A同步时间。

ntpdate 192.168.10.10 就报错:no server suitable for synchronization found

服务器是完全关闭iptables和selinux的。到最后重启A的ntpd服务,设置开机自启动,重启B的ntpd服务,然后stop掉ntpd服务,开启不启动。重新同步不报错了。汗···

2011-11-21
发表者 Venus
暂无评论

使用setfacl设置权限继承

查看分区是否支持facl

 临时性修改支持

mount -o remount,acl /dev/sda1

如果想永久性支持facl则需要修改fatab:

重启系统生效。

当再次查看分区是否支持acl时,有可能会不显示 acl ,其实已经支持,只是系统说明没显示出来,可以用下面的命令添加:

 tune2fs  /dev/sdb1 -o acl

 EG:

要求系统下所有账户\组对floder文件夹下有创建、删除文件夹及文件的权限

mkdir floder

chmod 777 floder              //子文件夹或者是文件创建时需要上一级目录有写权限

setfacl -R -d -m user::rwx floder      //针对本地全部用户有rwx权限  -R 递归 -d 继承父目录

setfacl -R -d -m group::rwx floder       //针对本地所有组有rwx权限

 然后我们可以用getfacl floder查看权限设置情况。

以下为Google之的资料:

 文件权限分为  owner group other

如:

drwxrwx—  5 wdj   wdj  4096 09-26 11:51 test

如果用户soft 想对test目录有读写权限,一种是将soft用户加入wdj组中。另一种是将other权限改为rw

如果想让此目录下的文件或目录继承父目录权限,则每次要chmod -R ….一下

现在可以使用setfacl解决以上问题

setfacl -R -m u:soft:rwx test

shell>ll

drwxrwx—+  5 wdj   wdj  4096 09-26 11:51 test

这样soft用户就可以操作test目录

setfacl -d –set u:soft:rwx  test

-d是让子目录继承父目录权限

使用getfacl命令查看acl权限

[soft@node2 data]$ getfacl test

# file: test

# owner: wdj

# group: wdj

user::rwx

user:soft:rwx

group::rwx

mask::rwx

other::—

default:user::rwx

default:user:soft:rwx

default:group::rwx

default:mask::rwx

default:other::—

setfacl -x u:soft  test

去掉单个用户的权限

setfacl -b test

删除test目录的所以acl权限

2011-11-18
发表者 Venus
暂无评论

解决php空白页

1、修改PHP配置文件 php.ini

short_open_tag = Off 修改为 On   //打开短标签,默认一般都是打开

<?php  //完整标签
<? php phpinfo(); ?>

<?          //短标签
<? phpinfo(); ?>

2、查看apache的error日志

3、查看空白页面的源文件
如果有任何代码,那可能是编码问题(在meta标签)。如果查看的源文件就是空的,那么就是其它程序问题。

4、如果看到phpinfo,但是比如phpmyadmin等等的首页都是空白页,这就要修改php.ini打开display_errors = On 再次访问页面就可以看到require(./…这样的语句无法执行,提示找不到文件(就是No such file),根据提示错误修改。一般这个方法比较实用,而且能找出根本原因。

以下是Google之的资料:

我们在Linux主机上安装一些PHP应用程序的时候,如dedecms、discuz 或其他的php程序,经常会遇到空白页面的问题,如果要解决这样的问题:

首先,第一步要确定 php.ini 中的 error_display 配置选项是否设置为 On,如果不是就请马上改过来;然后,在程序中找到 error_reporting 函数,将其参数改为 E_ALL,如果没有找到该函数,就在 PHP 程序的第一行写入
error_reporting(E_ALL);
现在,应该可以看到程序的错误提示,依据这些信息来判断程序的错误原因,通常都是一些常见错误,如果是那种情况就很好解决啦!例如:
Warning: session_start() [function.session-start]: Cannot send session cookie – headers already sent by (output started at /home/www/hosteguide.com/cms/php/inc_login.php:19) in /home/www/hosteguide.com/cms/php/server.php on line 3
这一类问题的原因是,你在程序中使用 session_start() 之前,已经有实际的 HTML 内容输出了,类似 echo 或 print 一条消息了,解决此类问题的办法是,将你的 session_start() 调到程序的第一行;如果这样还是不行,那么,就是属于如题所示的 PHP 程序问题。

第一种情况,在你的程序中使用 session_start() 函数之前没有使用过 header() 函数,并且也没有任何的 HTML 输出,只是 include 了一些 PHP 文件,但在这些 PHP 文件中也没有 header() 函数以及任何的 HTML 输出;对于这种情况,你是否用光标键在 ?> 这个 PHP 代码结束语句后移动检查过呢?如果发现在 ?> 这个后面有空行或几个空格,删除这几个空行或空格,那么问题就解决了;如果你检查之后发现不是这个问题,那么,可能是因为你的 PHP 文件是 UTF8 编码的,其实是 UTF8 编码不是问题所在,问题出在 UTF8 文件最前面可能会有三字节 BOM(Byte Order Mark) 的签名,使用文本编辑器无法看到和编辑它,但是页面还是有输出的,当在 header、setcooke、session_start 等时会产生错误和警告,建议使用 UltraEdit、EmEditor 或者 dreamweaver 来清除它。

第二种情况,这已经不属于 PHP 程序问题,但是对于菜鸟来说,并没有区别;这是属于 HTML 页面编码方面的问题,我曾经遇到过,当时也认为是程序出错了,很是头痛,在这里与大家分享一下经验。将 <meta http-equiv=content-type content=”text/html; charset=UTF-8″> 调整到 <head> 后面,要紧挨着 <head> 后面,为什么会这样呢,这与 DOCTYPE 声明有关,即在你的模板中使用了
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>
DOCTYPE 是 document type 的简写,主要用来说明你用的 XHTML 或者 HTML 是什么版本,浏览器根据你 DOCTYPE 定义的 DTD (文档类型定义)来解释页面代码,所以,如果你不注意设置了错误的 DOCTYPE,结果会让你大吃一惊。

2011-11-17
发表者 Venus
暂无评论

redhat关机时停留在system halted

在一台老式pc机上安装的redhat5.3,关机的时候一直停留在system halted ,不能正常关机,Google之~

解决方法:

修改/boot/grub/grub.conf配置文件,在kernel部分修改:
 root=LABEL=/ apm=on apm=power-off rhgb quiet
重启即可。

APM = Advanced Power Management,高级电源管理,一种工业标准,它允许系统处理器和各个组件进入省电模式,包括挂起、睡眠和关机。