CentOs使用su命令出现PATH变量不同的问题分析 [服务器配置]

post by 朦朧中的罪惡 / 2010-7-19 10:17 Monday

配置一台安装CentOs的VPS的时候,在普通用户的权限下使用su命令提权到root操作,这时却发现有些命令不能使用了,如ifconfig,感觉肯定是系统变量PATH出现了问题。逐打印一下系统变量PATH

本用户PATH输出:

点击查看原图

su命令之后的root用户PATH输出:

点击查看原图

直接用root用户登录的PATH输出:

点击查看原图

在上面可以发现,使用su命令之后,root用户的PATH路径依然是原来用户的,导致有些应用程序无法找到(ifconfig文件夹所在的/sbin目录不在PATH变量中)。查了下su的用户手册,发现这个问题的原因是在su命令参数上:

如果我直接使用su命令,那么默认就会将我的用户角色替换为root,但是并不是使用这个用户登录shell,所以用户的相关的Shell变量依然使用替换前角色的。

如果使用命令“su -"来切换用户,那么相当于使用切换的用户的帐号登录到Shell中,Shell的一切变量值则按照切换的用户的Shell变量来设置。

由此看来,是我使用su命令的时候没有增加相关的参数导致这个问题的出现。

CentOS论坛参考资料

标签: 环境配置 linux 疑难杂症

ubuntu下安装 mercurial 步骤 [服务器配置]

post by 朦朧中的罪惡 / 2010-3-26 16:48 Friday

首先:

sudo aptitude install python-dev python-virtualenv python-setuptools

然后:

easy_install -U mercurial

最后: hg -v

如果出现以下信息,说明安装成功了

Mercurial Distributed SCM (version 1.5) Copyright (C) 2005-2010 Matt Mackall <mpm@selenic.com> and others This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

ubuntu在命令行下让系统自动查找最快更新源 [服务器配置]

post by 朦朧中的罪惡 / 2010-3-14 20:23 Sunday

使用ubuntu和debian等使用APT源的系统,有些时候是不是会不知道哪里有源,哪里的源比较快让自己的宽带完全利用,我们可以用apt-spy来自动找到

安装 apt-spy

sudo apt-get install apt-spy

测试源

apt-spy -d stable -a asia -t 5

命令行中的-d选项指定发行版本,如stable、testing、unstable。-a选项指定debian安装源服务器的区域,如asia、 Europe、North-America等。这些区域信息保存在/etc/apt-spy.conf文档中,如果要测试所有服务器,还可用ALL关健字 代替具体的区域。-t选项指定连接超时阀值,阀值以秒为单位,设置较小的阀值能有效提高测试速度,忽略慢速服务器。

测试完成后,apt- spy会自动更新你的sources.list文件。apt-spy在更新你的sources.list前会备份一次sources.list文件,把原 来的sources.list复制为sources.list.bak。但每运行一次apt-spy命令它都会生成一个新的 sources.list.bak文件,把旧的sources.list.bak覆盖掉。所以在使用apt-spy命令前最好先备份好原来的 sources.list文件。

标签: 环境配置 linux ubuntu

Windows7下使用IIS7与FastCGI模块配置PHP5.3.1运行环境图文记录 [服务器配置]

post by 朦朧中的罪惡 / 2010-2-28 20:04 Sunday

PHP5.3增加了很多新特性,是时候该好好体验一下了,本文使用了FastCGI模块来配置PHP5.3运行环境,虽然然与常规的配置方式有点区别,但是步骤更加简单方便。

1.下载PHP5.3程序代码

可以去PHP官方的下载站去下载http://windows.php.net/download/

注意使用IIS7的话需要下载VC9版本(VC9 X86)

http://windows.php.net/downloads/releases/php-5.3.1-Win32-VC9-x86.zip

2.解压缩代码压缩包并配置

解压缩后将文件夹中的php.ini-development修改为php.ini,然后用文本编辑器修改以下内容

extension_dir = "D:\PHP程序文件目录\ext"

去掉

extension=php_mysql.dll
extension=php_mysqli.dll

等扩展前面的分号注释,具体模块请根据自己的需要开启和关闭

date.timezone = "Asia/Shanghai"

上面这项是PHP5.3必须配置的项目,否则运行phpinfo时会出现Waring警告

CGI配置

fastcgi.impersonate = 1
fastcgi.logging = 0
cgi.fix_pathinfo = 1
cgi.force_redirect = 0

3.安装IIS7

进入控制面板 -  选择“程序

点击查看原图

然后再选择 “打开或关闭Windows功能

点击查看原图

选择”万维网服务

点击查看原图

注意请展开“应用程序开发功能”选中“CGI“这个选项

点击查看原图

选择完毕后点击”确定“即可完成安装过程

4.配置IIS7

进入”控制面板“ - "管理工具” - 选择"Internet信息服务(IIS)管理器"

点击查看原图

选择左侧的网站 - Default Web Site, 再双击右侧的“处理程序映射

点击查看原图

进入管理页面后再选择右侧菜单的“添加模块映射

点击查看原图

然后详细内容按照下图填写,注意可执行路径内容请根据自己机器上php-cgi的路径选择

点击查看原图

这时在IIS默认根目录新建一个文件phpinfo.php,输入

<?php

phpinfo();

保存并使用浏览器访问 http://localhost/phpinfo.php

点击查看原图

如果一切正常则会像上图一样显示,恭喜,配置成功完成!

如果在配置和使用时出现疑难问题,可以参考我先前的文章

IIS7配置PHP5.3问题解决笔记

另外再附上官方的配置指南

http://cn.php.net/manual/en/install.windows.iis7.php

标签: php 环境配置

解决linux时间不准的问题 [服务器配置]

post by 朦朧中的罪惡 / 2009-12-21 12:28 Monday

emlog的VPS时间老是不准,想了个办法解决

crontab -e

* 0/2 * * * ntpdate stdtime.gov.hk;hwclock -w

另 crontab 配置参考

# MIN HOUR DAYOFMONTH MONTH DAYOFWEEK COMMAND
5 * * * * echo 'Hello'

标签: linux

设置CentOS的时区和时间 [服务器配置]

post by 朦朧中的罪惡 / 2009-12-19 18:19 Saturday

首先, 安装ntp时间同步服务
yum install -y ntp
然后,设置时区为CST
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
最后,手动同步一次时间
ntpdate us.pool.ntp.org

标签: linux

nginx实现301转向 [服务器配置]

post by 朦朧中的罪惡 / 2009-12-17 4:17 Thursday

emlog论坛搬家,需要从http://www.emlog.net/bbs 转向到 http://bbs.emlog.net

在emlog虚拟主机的配置段中增加

location /bbs {

      rewrite ^/bbs/(.*)$ http://bbs.emlog.net/$1;

}

保存更新nginx配置,成功

标签: 原创 nginx

让ubuntu更新使用网易和搜狐的开源服务器镜像 [服务器配置]

post by 朦朧中的罪惡 / 2009-11-17 15:40 Tuesday

修改/etc/apt/source.list,增加以下的服务器

163的服务器

deb http://mirrors.163.com/ubuntu/ jaunty main restricted
deb-src http://mirrors.163.com/ubuntu/ jaunty main restricted


deb http://mirrors.163.com/ubuntu/ jaunty-updates main restricted
deb-src http://mirrors.163.com/ubuntu/ jaunty-updates main restricted


deb http://mirrors.163.com/ubuntu/ jaunty universe
deb-src http://mirrors.163.com/ubuntu/ jaunty universe
deb http://mirrors.163.com/ubuntu/ jaunty-updates universe
deb-src http://mirrors.163.com/ubuntu/ jaunty-updates universe


deb http://mirrors.163.com/ubuntu/ jaunty multiverse
deb-src http://mirrors.163.com/ubuntu/ jaunty multiverse
deb http://mirrors.163.com/ubuntu/ jaunty-updates multiverse
deb-src http://mirrors.163.com/ubuntu/ jaunty-updates multiverse

搜狐的服务器:

deb http://mirrors.sohu.com/ubuntu/ jaunty main restricted
deb-src http://mirrors.sohu.com/ubuntu/ jaunty main restricted

deb http://mirrors.sohu.com/ubuntu/ jaunty-updates main restricted
deb-src http://mirrors.sohu.com/ubuntu/ jaunty-updates main restricted

deb http://mirrors.sohu.com/ubuntu/ jaunty universe
deb-src http://mirrors.sohu.com/ubuntu/ jaunty universe
deb http://mirrors.sohu.com/ubuntu/ jaunty-updates universe
deb-src http://mirrors.sohu.com/ubuntu/ jaunty-updates universe

deb http://mirrors.sohu.com/ubuntu/ jaunty multiverse
deb-src http://mirrors.sohu.com/ubuntu/ jaunty multiverse
deb http://mirrors.sohu.com/ubuntu/ jaunty-updates multiverse
deb-src http://mirrors.sohu.com/ubuntu/ jaunty-updates multiverse

更新好之后

sudo apt-get update
sudo apt-get upgrade

enjoy!

标签: linux

Windows下自定义php.ini的位置 [服务器配置]

post by 朦朧中的罪惡 / 2009-8-11 17:06 Tuesday

配置文件(PHP 3 中是 php3.ini,自 PHP 4 起是 php.ini)在 PHP 启动时被读取。对于服务器模块版本的 PHP,仅在 web 服务器启动时读取一次。对于 CGI 和 CLI 版本,每次调用都会读取。

php.ini 的搜索路径如下(按顺序):

SAPI 模块所指定的位置(Apache 2 中的 PHPIniDir 指令,CGI 和 CLI 中的 -c 命令行选项,NSAPI 中的 php_ini 参数,THTTPD 中的 PHP_INI_PATH 环境变量)

HKEY_LOCAL_MACHINE\SOFTWARE\PHP\IniFilePath(Windows 注册表位置)

PHPRC 环境变量

当前工作目录(对于 CLI)

web 服务器目录(对于 SAPI 模块)或 PHP 所在目录(Windows 下其它情况)

Windows 目录(C:\windows 或 C:\winnt),或 --with-config-file-path 编译时选项指定的位置

如果存在 php-SAPI.ini(SAPI 是当前所用的 SAPI 名称,因此实际文件名为 php-cli.ini 或 php-apache.ini 等),则会用它替代 php.ini。SAPI 的名称可以用 php_sapi_name() 来测定。

标签: php

PHP多版本共存解决方案 [服务器配置]

post by 朦朧中的罪惡 / 2009-4-29 12:42 Wednesday

我这里说的php多版本共存不仅仅是php4、php5两个大版本号程序的共存,而是php的很多小版本号程序的共存,例如php4.3.1、php4.4.5、php5.2.0、php5.2.9等等,不仅如此,由于测试的需求,我还需要做到php的版本可以随时灵活切换。

目前网上很多的解决方案是在本机安装IIS和Apache或安装多个apache服务,每个服务器安装一个版本的php来达到版本共存的要求,但是要按照 我的要求,这么做既麻烦也达不到我的要求。那么有没有别的方法呢,网上没有就只好自己来研究了,下面就是我摸索出的完美解决方案:

实现思路:Apache  + .htaccess + PHP CGI

阅读全文>>

标签: apache php 原创 享受编程

1 2