apache 伪静态设置方法

  伪静态就是将动态网页生成静态文件,从而能减轻服务器压力,提高访问速度和搜索引擎收录。下面我们看一下Apache是如何实现伪静态的.Apache伪静态主要是靠mod_rewrite.so模块来完成的。如果你的Apache还没有安装,那么在安装配置Apache时加上–enable-rewrite选项就行了,这样在你的Apache安装目录modules文件夹下就会生成mod_rewrite.so模块。倘若你已经安装完了Apache也没关系,我们可以利用Apache安装程序生成一个mod_rewrite.so模块。 1.检测Apache是否支持mod_rewrite   通过php提供的phpinfo()函数查看环境配置,通过Ctrl+F查找到“Loaded Modules”,其中列出了所有apache2handler已经开启的模块,如果里面包括“mod_rewrite”,则已经支持,不再需要继续设置。 如果没有开启“mod_rewrite”,则打开目录 您的apache安装目录“/apache/conf/” 下的 httpd.conf 文件,通过Ctrl+F查找到“LoadModule rewrite_module”,将前面的”#”号删除即可。 如果没有查找到,则到“LoadModule” 区域,在最后一行加入“LoadModule rewrite_module modules/mod_rewrite.so”(必选独占一行),然后重启apache服务器即可。 2.让apache服务器支持.htaccess 修改httpd.conf文件 Options FollowSymLinks AllowOverride None 改为 Options FollowSymLinks AllowOverride All 注意:除了要设置上面的地方以后,还得设置一下下面这个(网上很多资料都没有讲到这一块),否则你将会配制失败, 把 DocumentRoot 后面的参数改为你本地网站的目录 例如你网站的根目录为 D:/web/ 则得设置为 DocumentRoot “D:/web/” 也就是修改当前目录。此步骤设置好后也得重启apache服务器才能生效。 3.建立.htaccess 文件 建立.htaccess文件的3种方法:1)打开记事本,点击文件–另存为,在文件名窗口输入”.htaccess”,注意是整个红色部分,也就是包含英文引号,然后点击保存就行了。2)在命令行下使用“echo a> .htaccess”建立,然后使用记事本编辑。如果这都嫌麻烦,那有更简单的,3)直接下载我为您准备的.htaccess文件,然后用记事本打开修改即可。 ​ htaccess文件   4.填写网站伪静态规则(需要了解正则表达式) <IfModule mod_rewrite.c> RewriteEngine on RewriteRule index.html$ index.php RewriteRule index-([1-9]+[0-9]*).html$ index.php?p=$1 </IfModule> 转自:http://www.okajax.com/a/201106/apache_rewrite.html  

Linux下的软件安装方法-rpm与*.tar.gz

 From:     http://blog.chinaunix.net/u/26011/showart_258096.html系统安装好后,最重要的是软件的安装了,Linux中的软件安装不像在Windows里面那样只要点下一步下一步就可以了。不过还是有规律可找,不会超过这些。 目前流行的软件包有两种比较常见的形式,一种是RPM包的形式,另一种是压缩成*.tar.gz的形式. A、安装简便的RPM包RPM是Redhat Package Manager的缩写,它只能使用在安装了RPM软件的系统中。语法:#rpm [options] filename.rpmoptions(注意大小写):-i :安装软件-e :卸载软件-q :查看软件安装信息和状态-U:升级现有软件-v:显示附加信息-h :安装时以#号显示安装进度,每#为2% 注意:如果要安装Filename.rpm软件只要用 rpm –ivh filename.rpm,软件安装在什么,是怎么安装的都不需要用户操心,不过安装不成功往往是权限和依赖关系,一定要注意当有多个软件包时有一定的顺序,如果没有安装上看错误提示。(在图形化界面RPM包也是相当容易安装跟在Windows中差不多)查询RPM包有时我们要装一个包了,要看这个包有什么用或要用某个软件不知道自己以前装过没有,就可以用查询命令来查看。 1)软件包信息的查询语法:# rpm {-q | --query} [ select-options ] [ query-options ]-q –query : 必要的参数,表示执行查询操作Select-options用来指定本次查询对象,选项:-a :查询所有安装的软件包-f<file> :查询<file>属于哪个软件包--whatrequires<X> :查询所有需要<X>功能的软件包-p<file> :查询未安装的软件包信息Query-options用来指定本次查询所要获得的信息:<null> :为空时显示包的全部标识-i :显示软件包的概要信息-l :显示软件包中的文件列表--provides :显示软件包提供的功能--requires[-R] :显示软件包所需要的功能-c :显示配置文件列表例:安装soft.rpm包,并查询软件信息# rpm –ivh soft.rpm查询soft.rpm软件包的安装文件列表# rpm –ql soft.rpm 2) 查询已经安装好的软件包:# rpm –qa | grep soft.rpm查询是否安装了soft.rpm包# rpm –ql soft.rpm查询soft.rpm安装的位置 # rpm –qi soft.rpm 查询软件信息 B、安装需要编译的.tar.gz包由于RPM包使用的局限性,目前更多的软件使用的是源代码形式的.tar.gz包。这种软件的安装通常要经过解压缩、软件配置、软件编译及安装的过程。1、软件安装的第一步通常是解压,下面介绍几种压缩软件的解压与压缩命令: 注意:在解压和压缩之前一定要确定当前用户对文件是有执行权的。 用命令ll来查看,如果没有用chmod来更改,如果对一个文件夹,文件夹中有多个文件要加-R参数,即#chmod –R 755 /tmp/soft(例) 1)解压后缀为.tar的文件# tar xvf soft.tar 2)解压后缀为.tar.gz的文件 # gunzip soft.tar.gz # tar xvf soft.tar(注意:有两步先用guzip解开.gz再用tar解开.tar)# tar xvfz soft.tar.gz(用tar解压注意不同后缀的参数 )用另外一个命令来解压# gunzip –c soft.tar.gz | tar xvf – 3)压缩文件为.tar.gz的后缀 # tar cvf soft.tar /tmp/soft# gzip –q soft.tar /tmp/soft# tar cvfz soft.tar.gz /tmp/soft用另外一个命令来压缩# tar cvf – /tmp/soft | gzip –qc > soft.tar.gz 参数说明(参数小写):-x :释放文件内容-v :显示流程信息-z :解压ZIP压缩包-c :建立一个新压缩文件-f :定义压缩中的文字 4)解压后缀为tar.z的文件# tar xvfz soft.tar.z或# uncompress soft.tar.z( 一样有两步 )再# tar xvf soft.tar5)解压后缀为.tgz文件# gunzip soft.tgz 6) 压缩和解压后缀为.bz2的文件# bzip2 /etc/httpd.conf(将文件httpd.conf压缩为httpd.conf.bz2)# bunzip2 /etc/httpd.conf.bz2 (将文件httpd.conf.bz2还原为httpd.conf) 2、一般来说,在解压缩生成的目录中都会有名为Readme、 Rnstall或Readme.install之类的文件。这些文件通常会对软件的功能、特性、版权许可、安装以及相关知识加以介绍,并且会提到关于安装的方法和步骤。说明文档常用的短语:1.Overview for the impatient(概括说明配置的全过程) $./configure--prefix=PREFIX $make $make install $PREFIX/bin/apachectl start 2.Requirements(需要的条件) 3.Configuring the source tree(配置的参数说明) 4.Building the package(编译软件的方法) 5.Installing the package(安装软件的方法) 6.Testing the package(软件测试)一般来说,与安装软件有直接关系的文件只有两个:configure 、Makefile。 理解并能熟练使用这些说明文件后,就可以利用一些规律来安装大多数的软件。对于那些没有说明文件的软件(当然这种情况比较少见),这些规律通常也是适用的。一般来说,与安装软件有直接关系的文件只有两个:configure 、Makefile。 其中,configure文件具有可执行的属性,是用来配置软件的,它的参数比较多,用法也比较灵活。当然,不同的软件参数也不相同,这时候就需要借助它的help参数,运行下面的命令就会让你感到豁然开朗: #〉 ./configure -help Usage: configure [options] Options: [defaults in brackets after descriptions] General options: --quiet, --silent do not print messages --verbose,-v print even more messages --sha [=DIR] switch to a shadow tree (under DIR) for building Stand-alone options: --help,-h print this message --show-layout print installation path layout (check and debug) Installation layout options: --with-layout=[F:]ID use installation path layout ID (from file F) --target=TARGET install name-associated files using basename TARGET …… 接下来,就可以运行“./configure [options]”来配置该软件。注意,命令行中的“./”非常重要,它告诉系统要运行的命令就在当前目录下(否则系统就会到$path变量指定的路径下去执行命令)。执行命令后可以生成Makefile文件或者修改已有的文件配置。 Makefile文件通常是用来编译和安装软件的。运行make命令时系统会自动根据Makefile文件中的设置对软件进行编译和安装。make命令有时还可以带一些参数,如:all、build、 config、install等。具体要带哪个参数可以参看Makefile文件。在Linux中绝大部分文件是文本文件,Makefile就是一个 shell程序(Linux中shell程序与DOS中的批处理文件有很多相似之处,当然功能要强得多),很容易读懂,尤其是编译时可带的参数都会明确写出,例如: ##======================== ## Targets ##======================== # default target all: build ##———————— ## Build Target ##———————— # build the package build: …… # the non-verbose variant for package maintainers build-quiet: @$(MAKE) -f $(TOP)/$(MKF) $(MFLAGS) $(MFWD) QUIET=1 build # build the additional support stuff build-support: …… ##———————— ## Installation Targets ## ———————-- # the install target for installing the complete Apache # package. This is implemented by running subtargets for the # separate parts of the installation process. install: …… # the non-verbose variant for package maintainers install-quiet: @$(MAKE) -f $(TOP)/$(MKF) $(MFLAGS) $(MFWD) QUIET=1 install # create the installation tree install-mktree: …… 上面这段代码是apache_1.3.6的Makefile文件的一部分,从这段程序可以看出all参数表示完全编译(缺省参数)。此外,编译时还可以带 build、build-quiet、build-surpport等参数;安装时可以带install、install-quiet、install- surpport等参数。它们的功能分别在“#”表示的注释中进行了说明。需要额外说明的是,有些软件(例如Linux的内核升级程序)不用 configure命令来配置软件,而是用make config来完成这项工作,所以,具体使用哪种方法要具体问题具体分析。 C、其它的安装方法,利用脚本的安装(详细)。 例:安装Webmin-1.250.tar.gz先挂载:# mount /dev/cdrom /mnt/cdrom 进入挂载点:# cd /mnt/cdrom 拷贝Webmin-1.250.tar.gz到/tmp下或者你想解压的目录 再进入/tmp: # cd /tmp 改变文件的权限: # chmod 755 webmin-1.250.tar.gz(因为一般挂载过来的文件都是只有只读的权限) 解压:# tar xvfz webmin-1.250.tar.gz 进入解压后的文件夹:# cd webmin-1.250 现在可以用ls查看一下文件,现在如果自己没有资料介绍,第一次安装一般都是查看说明文档如:README、Rnstall或Readme.install之类的文件。 现在找到README文档,(进行简单的中文说明##后的为说明) [root@Ajian webmin-1.250]# cat README  Webmin Version 1.250##版本的说明 ——————-- Webmin is a web-based interface for system administration for Unix.  Using any browser that supports tables and forms, you can setup user accounts, Apache, internet services, DNS, file sharing and so on.  ##Webmin的功能介绍 Webmin consists of a simple web server, and a number of CGI programs which directly update system files like /etc/inetd.conf and /etc/passwd. The web server and all CGI programs are written in Perl version 5, and use only the standard perl modules.  Webmin can be installed in two different ways : ##Webmin安装有两个方法(主要就是看这里,找到安装的命令,看我划红色的地方) 在这里用的是setup.sh script(脚本)所以要用到bash 1) By just running the setup.sh script in the same directory as this README file, with no arguments. You will be asked a series of questions such as the configuration directory, your chosen login name and password, and possibly your operating system. For questions where a default is shown in square brackets, you can just hit enter to accept the default (which is usually correct). If the configuration directory you enter is the same as that used by a previous install of Webmin, it will be automatically upgraded with all configurable settings preserved. This will set up Webmin to run directly from this directory. After running setup.sh, do not delete the directory as it contains all the scripts and programs that will be used by Webmin when it is running. Unlike in the second installation method, the Webmin scripts do not get copied to another location when installing. 2) By running the setup.sh script in this directory, but with a command-line argument such as /usr/local/webmin . When a directory like this is provided, Webmin's scripts will be copied to the chosen directory and it will be configured to run from that location. The exact same questions will be asked by setup.sh when it is run with a directory argument, and upgrading will work in the same way. If you are upgrading an old install, you should enter the same directory argument so that the new files overwrite the old in order to save disk space. After Webmin has been installed to a specific directory using this method, the directory extracted from the tar.gz file can be safely deleted. If you are installing Webmin on a Windows system, you must run the command perl setup.pl instead, as shell scripts will not typically run on a Windows system. The Windows version depends on several programs and modules that may not be part of the standard distribution. You will need the process.exe commmand, the sc.exe command and the Win32::Daemon Perl module. For more information, see http://www.webmin.com/ Jamie Cameron jcameron@webmin.com 安装:# bash setup.sh 再根据提示输入内容,一般都是回车就可以了,不过有一个要自己打用户名和密码的地方。 好了,软件基本的安装方法就这些。记得一定先看说明。 最后附一个高级用法:我们常碰到要应用一个软件而一下子装N个RPM的情况。让我们用一个命令搞定。如:安装Postgresql: [root@linux software]# ls -1postgresql-7.3.4-1PGDG.i386.rpmpostgresql-contrib-7.3.4-1PGDG.i386.rpmpostgresql-debuginfo-7.3.4-1PGDG.i386.rpmpostgresql-devel-7.3.4-1PGDG.i386.rpmpostgresql-docs-7.3.4-1PGDG.i386.rpmpostgresql-jdbc-7.3.4-1PGDG.i386.rpmpostgresql-libs-7.3.4-1PGDG.i386.rpmpostgresql-pl-7.3.4-1PGDG.i386.rpmpostgresql-python-7.3.4-1PGDG.i386.rpmpostgresql-server-7.3.4-1PGDG.i386.rpmpostgresql-tcl-7.3.4-1PGDG.i386.rpmpostgresql-test-7.3.4-1PGDG.i386.rpm[root@linux software]# rpm -Uvh --nodeps ls -1Preparing… ########################################### [100%]1:postgresql-test ########################################### [ 8%]2:postgresql ########################################### [ 17%]3:postgresql-contrib ########################################### [ 25%]4:postgresql-debuginfo ########################################### [ 33%]5:postgresql-devel ########################################### [ 42%]6:postgresql-docs ########################################### [ 50%]7:postgresql-jdbc ########################################### [ 58%]8:postgresql-libs ########################################### [ 67%]9:postgresql-pl ########################################### [ 75%]10:postgresql-python ########################################### [ 83%]11:postgresql-server ########################################### [ 92%]12:postgresql-tcl ########################################### [100%][root@linux software]# rpm -qa|grep postgrepostgresql-devel-7.3.4-1PGDGpostgresql-7.3.4-1PGDGpostgresql-python-7.3.4-1PGDGpostgresql-contrib-7.3.4-1PGDGpostgresql-jdbc-7.3.4-1PGDGpostgresql-server-7.3.4-1PGDGpostgresql-debuginfo-7.3.4-1PGDG 注意:红色部分的命令,ls -l上的是反斜点`是键盘左上角那个,而不是逗号。U也可以是i 这些参数自己看用途自己组合都是可以的,只要知道语法就行了。。  

CentOS 6.2 安装OpenSSH Server

安装好了CentOS 6.2,我想让它作为一个服务器,可以让我的Windows 7电脑远程登录。   安装OpenSSH Server 首先,我们搜索一下CentOS的软件库里面有没有已经定义好的SSH服务器包:

  OpenSSH是Secure Shell的一个开源实现。从上面的搜索结果可以看到,CentOS的软件库里面已经有了OpenSSH的服务器包(openssh-server)和客户端包(openssh-clients),用yum install可以直接安装。

  OpenSSH Server安装完成后在/etc/init.d目录下应该会增加一个名为sshd的服务。可以参考《CentOS设置服务开机自动启动》的方式配置sshd服务开机自动启动。

  手动启动sshd服务,方便后面客户端的连接:

  用密码方式登录远程服务器 WIndows 7里面的SSH客户端软件我用的是XShell。打开XShell,新建连接,选择Password验证方式,输入用户名和密码,这样就可以连接到服务器了。   登录成功后的画面:   用RSA密钥登录远程服务器 OpenSSH允许使用RSA的方式登录服务器。RSA加密方式会有两个文件:一个是公钥文件,放在服务器$HOME/.ssh/authorized_keys文件里面;另外一个是私钥文件,放在客户端电脑上。   产生RSA密钥对,可以在服务器产生,也可以在客户端产生:

执行完毕后,会在$HOME/.ssh目录下多出来两个文件:id_rsa.pub(公钥文件)和id_rsa(私钥文件)。   将公钥文件追加到$HOME/.ssh/authorized_keys文件后面:

  将私钥文件下载到客户端电脑(可以使用SFTP方式,例如XFtp,WinSCP等很多软件),然后新建XShell连接,选择Public Key验证方式:   配置完毕,现在我们可以不用输入密码也能够连接到服务器了。   OpenSSH相关目录和文件 所有配置信息保存的目录:/etc/ssh sshd服务配置文件:/etc/ssh/sshd_config   OpenSSH相关链接 《用OpenSSH构建SSH服务器》:安装O盆SSH服务器。 《用SSH客户端软件登录到服务器》:如何用PUTTY+RSA登陆远程服务器。 《CentOS Wiki – 保卫 OpenSSH》:OpenSSH的安全设置。 《Top 20 OpenSSH Server Best Security Practices》:20个需要遵守的SSH安全建议。   转自:http://www.cnblogs.com/eastson/archive/2012/06/29/2570163.html