转载]linux下编译php中configure参数具体含义

./configure

–prefix=/usr/local/php                      php 安装目录 –with-apxs2=/usr/local/apache/bin/apxs –with-config-file-path=/usr/local/php/etc      指定php.ini位置 –with-mysql=/usr/local/mysql           mysql安装目录,对mysql的支持 –with-mysqli=/usr/local/mysql/bin/mysql_config    mysqli文件目录,优化支持 –enable-safe-mode                              打开安全模式 –enable-ftp                                 打开ftp的支持 –enable-zip                                 打开对zip的支持 –with-bz2                    打开对bz2文件的支持                         –with-jpeg-dir                                 打开对jpeg图片的支持 –with-png-dir                                 打开对png图片的支持 –with-freetype-dir              打开对freetype字体库的支持 –without-iconv                关闭iconv函数,种字符集间的转换 –with-libxml-dir                 打开libxml2库的支持 –with-xmlrpc              打开xml-rpc的c语言 –with-zlib-dir                                 打开zlib库的支持 –with-gd                                    打开gd库的支持 –enable-gd-native-ttf               支持TrueType字符串函数库 –with-curl                      打开curl浏览工具的支持 –with-curlwrappers                 运用curl工具打开url流 –with-ttf                      打开freetype1.*的支持,可以不加了 –with-xsl            打开XSLT 文件支持,扩展了libxml2库 ,需要libxslt软件 –with-gettext                      打开gnu 的gettext 支持,编码库用到 –with-pear            打开pear命令的支持,php扩展用的 –enable-calendar             打开日历扩展功能 –enable-mbstring                  多字节,字符串的支持 –enable-bcmath                  打开图片大小调整,用到zabbix监控的时候用到了这个模块 –enable-sockets                  打开 sockets 支持 –enable-exif                      图片的元数据支持 –enable-magic-quotes               魔术引用的支持 –disable-rpath                     关闭额外的运行库文件 –disable-debug                  关闭调试模式 –with-mime-magic=/usr/share/file/magic.mime      魔术头文件位置

cgi方式安装才用的参数 –enable-fpm                     打上php-fpm 补丁后才有这个参数,cgi方式安装的启动程序 –enable-fastcgi                  支持fastcgi方式启动php –enable-force-cgi-redirect             同上 ,帮助里没有解释 –with-ncurses                     支持ncurses 屏幕绘制以及基于文本终端的图形互动功能的动态库 –enable-pcntl           freeTDS需要用到的,可能是链接mssql 才用到 mhash和mcrypt算法的扩展 –with-mcrypt                     算法 –with-mhash                     算法 –with-gmp –enable-inline-optimization –with-openssl           openssl的支持,加密传输时用到的 –enable-dbase –with-pcre-dir=/usr/local/bin/pcre-config    perl的正则库案安装位置 –disable-dmalloc –with-gdbm                    dba的gdbm支持 –enable-sigchild –enable-sysvsem –enable-sysvshm –enable-zend-multibyte              支持zend的多字节 –enable-mbregex –enable-wddx –enable-shmop –enable-soap PHP配置选项完整列表 数据库选项 --with-dbplus 包括 dbplus 的支持。 --with-adabas[=DIR] 包括 Adabas D 的支持。DIR 是 Adabas 的基本安装目录,默认为 /usr/local。 --with-sapdb[=DIR] 包括 SAP DB 的支持。DIR 是 SAP DB 的基本安装目录,默认为 /usr/local。 --with-solid[=DIR] 包括 Solid 的支持。DIR 是 Solid 的基本安装目录,默认为 /usr/local/solid。 --with-ibm-db2[=DIR] 包括 IBM DB2 的支持。DIR 是 DB2 的基本安装目录,默认为 /home/db2inst1/sqllib。 --with-empress[=DIR] 包括 Empress 的支持。DIR 是 Empress 的基本安装目录,默认为 $EMPRESSPATH。自 PHP4 起,本选项仅支持 Empress 8.60 及以上版本。 --with-empress-bcs[=DIR] 包括 Empress Local Access 的支持。DIR 是 Empress 的基本安装目录,默认为 $EMPRESSPATH。自 PHP4 起,本选项仅支持 Empress 8.60 及以上版本。 --with-birdstep[=DIR] 包括 Birdstep 的支持。DIR 是 Birdstep 的基本安装目录,默认为 /usr/local/birdstep。 --with-custom-odbc[=DIR] 包括用户自定义 ODBC 的支持。DIR 是 ODBC 的基本安装目录,默认为 /usr/local。要确认定义了 CUSTOM_ODBC_LIBS 并且在 include 目录中有某个 odbc.h。例如,对于 QNX 下的 Sybase SQL Anywhere 5.5.00,在运行 configure 脚本之前应该先定义以下环境变量: CPPFLAGS="-DODBC_QNX -DSQLANY_BUG" LDFLAGS=-lunix CUSTOM_ODBC_LIBS="-ldblib -lodbc". --with-iodbc[=DIR] 包括 iODBC 的支持。DIR 是 iODBC 的基本安装目录,默认为 /usr/local。 --with-esoob[=DIR] 包括 Easysoft OOB 的支持。DIR 是 OOB 的基本安装目录,默认为 /usr/local/easysoft/oob/client。 --with-unixODBC[=DIR] 包括 unixODBC 的支持。DIR 是 unixODBC 的基本安装目录,默认为 /usr/local。 --with-openlink[=DIR] 包括 OpenLink ODBC 的支持。DIR 是 OpenLink 的基本安装目录,默认为 /usr/local。这和 iODBC 一样。 --with-dbmaker[=DIR] 包括 DBMaker 的支持。DIR 是 DBMaker 的基本安装目录,默认为最新版 DBMaker 安装的目录(例如 /home/dbmaker/3.6)。 --disable-unified-odbc 取消对 unified ODBC 的支持。仅适用于激活了 iODBC,Adabas,Solid,Velocis 或用户自定义 ODBC 界面。仅能用于 PHP 3! 图像选项 --without-gd 禁用 GD 支持。仅用于 PHP 3! --with-imagick Imagick 扩展被移到 PEAR 中的 PECL 中去了,可以在这里找到。PHP 4 中的安装指示可以在 PEAR 站点中找到。 只用 --with-imagick 仅在 PHP 3 中支持,除非依照 PEAR 站点的指示去做。 --with-ming[=DIR] 包括 ming 支持。 杂类选项 --enable-force-cgi-redirect 激活服务器内部重定向的安全检查。如果是在 Apache 中以 CGI 方式使用 PHP 则应该使用此选项。 --enable-discard-path 使用此选项可以使 PHP 的 CGI 可执行程序安全地放置在 web 目录树以外的地方,并且别人也不能绕过 .htaccess 的安全设置。 --with-fastcgi 将 PHP 编译成 FastCGI 应用程序。 --enable-debug 编译时加入调试符号。 --with-layout=TYPE 设置安装后的文件布局。TYPE 可以是 PHP(默认值)或者 GNU。 --with-pear=DIR 将 PEAR 安装在 DIR 目录中(默认为 PREFIX/lib/php)。 --without-pear 不安装 PEAR。 --enable-sigchild 激活 PHP 自己的 SIGCHLD 句柄。 --disable-rpath 禁止传递附加的运行时库搜索路径。 --enable-libgcc 激活显式 libgcc 连接。 --enable-php-streams 包含试验的 PHP 流。除非是测试源代码,否则不要使用! --with-zlib-dir=<DIR>; 定义 zlib 的安装路径。 --with-aspell[=DIR] 包含 ASPELL 支持。 --with-ccvs[=DIR] 包含 CCVS 支持。 --with-cybercash[=DIR] 包含 CyberCash 支持。DIR 是 CyberCash MCK 的安装目录。 --with-icap[=DIR] 包含 ICAP 支持。 --with-ircg-config ircg-config 脚本的路径。 --with-ircg 包含 ircg 支持。 --enable-mailparse 包含 mailparse 支持。 --with-muscat[=DIR] 包含 muscat 支持。 --with-satellite[=DIR] 激活通过 Satellite(试验性质)的 CORBA 支持。DIR 是 ORBit 的主目录。 --enable-trans-sid 激活透明的 session id 传播。 --with-regex[=TYPE] 使用系统 regex 库(不赞成)。 --with-vpopmail[=DIR] 包含 vpopmail 支持。 --with-tsrm-pthreads 使用 POSIX 线程(默认值)。 --enable-shared[=PKGS] 编译共享库 [default=yes]。 --enable-static[=PKGS] 编译静态库 [default=yes]。 --enable-fast-install[=PKGS] 为快速安装而优化 [default=yes]。 --with-gnu-ld 假定 C 编译器使用 GNU ld [default=no]。 --disable-libtool-lock 避免锁死(可能会破坏并行编译)。 --with-pic 尝试只使用 PIC/non-PIC 对象 [default=use both]。 --enable-memory-limit 编译时加入内存限制支持。 --disable-url-fopen-wrapper 禁止通过 URL 的 fopen wrapper,不能通过 HTTP 或 FTP 访问文件。 --enable-versioning 仅输出所需要的符号。更多信息见 INSTALL 文件。 --with-imsp[=DIR] 包含 IMSp 支持(DIR 是 IMSP 的 include 目录和 libimsp.a 目录)。仅用于 PHP 3! --with-mck[=DIR] 包含 Cybercash MCK 支持。DIR 是 cybercash mck 编译目录,默认为 /usr/src/mck-3.2.0.3-linux。帮助见 extra/cyberlib。仅用于 PHP 3! --with-mod-dav=DIR 包含通过 Apache 的 mod_dav 的 DAV 支持。DIR 是 mod_dav 的安装目录(仅用于 Apache 模块版本!)仅用于 PHP 3! --enable-debugger 编译入远程调试函数。仅用于 PHP 3! --enable-versioning 利用 Solaris 2.x 和 Linux 提供的版本控制与作用范围的优势。仅用于 PHP 3! PHP 选项 --enable-maintainer-mode 激活将编译规则和未使用的(以及一些混淆的)依赖文件放入临时安装中。 --with-config-file-path=PATH 设定 php.ini 所在的路径,默认为 PREFIX/lib --enable-safe-mode 默认激活安全模式。 --with-exec-dir[=DIR] 安全模式下只允许此目录下执行程序。默认为 /usr/local/php/bin --enable-magic-quotes 默认激活 magic quotes。 --disable-short-tags 默认禁止简写的 PHP 开始标记 <?。 服务器选项 --with-aolserver=DIR 指定已安装的 AOLserver 的路径。 --with-apxs[=FILE] 编译共享 Apache 模块。FILE 是可选的 Apache 的 apxs 工具的路径,默认为 apxs。确保指定的 apxs 版本是安装后的文件而不是 Apache 源程序中包中的。 --with-apache[=DIR] 编译 Apache 模块。DIR Apache 源程序的最高一级目录。默认为 /usr/local/apache --with-mod_charset 激活 mod_charset 中的传递表(Apache 中)。 --with-apxs2[=FILE] 编译共享的 Apache 2.0 模块。FILE 是可选的 Apache apxs 工具的路径,默认为 apxs --with-fhttpd[=DIR] 编译 fhttpd 模块。DIR 是 fhttpd 的源代码路径,默认为 /usr/local/src/fhttpd。 --with-isapi=DIR 将 PHP 编译为 ISAPI 模块用于 Zeus。 --with-nsapi=DIR 指定已安装的 Netscape 服务器路径。 --with-phttpd=DIR 暂无信息。 --with-pi3web=DIR 将 PHP 编译为用于 Pi3Web 的模块。 --with-roxen=DIR 将 PHP 编译为一个 Pike 模块。DIR 是 Roxen 的根目录,通常为 /usr/local/roxen/server。 --enable-roxen-zts 编译 Roxen 模块,使用 Zend Thread Safety。 --with-servlet[=DIR] 包含 servlet 支持。DIR 是 JSDK 的基本安装目录。本 SAPI 需要 java 扩展必须被编译为共享的 dl。 --with-thttpd=SRCDIR 将 PHP 编译为 thttpd 模块。 --with-tux=MODULEDIR 将 PHP 编译为 TUX 模块(仅用于 Linux)。

centos手动编译安装apache、php、mysql

卸载旧版本apache、php、mysql:

sudo yum erase httpd
sudo yum erase php php-cli
sudo yum erase mysql

下载编译安装apache 2.2.19:

http://httpd.apache.org/download.cgi
cd ~
wget http://mirror.bjtu.edu.cn/apache/httpd/httpd-2.2.19.tar.bz2
tar -jxvf httpd-2.2.19.tar.bz2
cd httpd-2.2.19
sudo yum install gcc
./configure --prefix=/opt/httpd --enable-so --enable-rewrite
make
sudo make install
sudo /opt/httpd/bin/httpd -k start
安装完apache,用浏览器访问http://localhost,能正常显示说明装好了。

下载安装mysql 5.5.13:

http://dev.mysql.com/downloads/mysql/#downloads 下载这2个(64位的): MySQL-client MySQL-server
sudo yum install libaio
sudo rpm -i MySQL-client-5.5.13-1.rhel5.x86_64.rpm
sudo rpm -i MySQL-server-5.5.13-1.rhel5.x86_64.rpm
sudo /etc/init.d/mysql start
/usr/bin/mysqladmin -u root password '1'
sudo cp /usr/share/mysql/my-medium.cnf /etc/my.cnf
sudo /etc/init.d/mysql restart
mysql -uroot -p1

下载编译安装php 5.3.6:

http://php.net/downloads.php
sudo yum install libxml2 libxml2-devel curl curl-devel libjpeg libjpeg-devel libpng libpng-devel libmcrypt libmcrypt-devel libtool-ltdl-devel
tar -jxvf php-5.3.6.tar.bz2
cd php-5.3.6
./configure --prefix=/opt/php -with-apxs2=/opt/httpd/bin/apxs --with-curl --with-mcrypt --enable-mbstring --with-iconv --with-gd -with-jpeg-dir=/usr/local/lib --enable-pdo --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --with-mysql=mysqlnd
make
sudo make install
sudo cp php.ini-development /opt/php/lib/php.ini
sudo ln -s /opt/php/bin/php /usr/bin/php
sudo vi /opt/php/lib/php.ini

把include_path前面的分号删除,改成include_path = "/opt/php/lib/php"
sudo vi /opt/httpd/conf/httpd.conf
在最下面加入一行AddHandler application/x-httpd-php .php
sudo /opt/httpd/bin/httpd -k restart
sudo vi /opt/httpd/htdocs/phpinfo.php
phpinfo.php的内容如下:
<?php
phpinfo();
?>
安装完php,重启apache,用浏览器访问http://localhost/phpinfo.php,能正常显示说明php装好了。搜索mysqlnd、pdo_mysql、mysqli,如果有,则说明php能访问mysql。

PHP常用配置

http://www.cnblogs.com/sink_cup/archive/2011/10/28/php_ini.html

把apache加入系统service,开机自启动

sudo cp /opt/httpd/bin/apachectl /etc/init.d/httpd
sudo vi /etc/init.d/httpd
在文件开头加入下面几行:
#!/bin/sh
# chkconfig: 2345 85 15
# description: Apache is a World Wide Web server. 
sudo chmod +x /etc/init.d/httpd
sudo /sbin/chkconfig --add httpd
sudo /sbin/chkconfig --list httpd
sudo ln -s /sbin/chkconfig /usr/bin/chkconfig
sudo ln -s /sbin/service /usr/bin/service

把mysql加入系统service,开机自启动

sudo /sbin/chkconfig --list mysql
通过rpm安装的mysql,已经开机自启动了。

安装php扩展ssh2

先安装libssh2 http://sourceforge.net/projects/libssh2/ ./configure make sudo make install 再安装ssh2 http://pecl.php.net/package/ssh2 /opt/php/bin/phpize && ./configure --with-ssh2 && make sudo make install 在/opt/php/lib/php.ini中加1行: extension=ssh2.so

CentOS 5 安装sqlite 安装phpize

CentOS 5 安装sqlite 安装phpize
由于 CentOS 5默认不支持 sqlite 扩展. 当时安装服务器PHP的时候,用的是yum 安装的. 所以需要重新安装过. 如果重新安装编译版的PHP 的话, 配置文件又要修改很多地方,为避免引起不必要的问题.故在寻找一种较为安全的安装方式. 在php官方网站上找到了两种相应的安装说明. http://www.php.net/manual/en/sqlite.installation.php 但是,在使用第一种方式时遇到了一个问题:就是无法使用 phpize , 于是安装: yum install php-devel ,因为PHPize 是属于php 的 devel . 使用第一种方式: tar xfvj php-5.2.10.tar.bz2 cd php-5.2.10/ext/sqlite/ phpize ./configure make make install 重启httpd , 查看phpinfo 发现没有安装成功. 于是采用第二种方式: shell> mkdir temp shell> cd temp shell> wget http://pecl.php.net/get/SQLite-1.0.3.tgz shell> tar zxvf SQLite-1.0.3.tgz shell> cd SQLite-1.0.3 shell> phpize 在这步时又出现 phpize 无法使用的问题. 故无法继续安装. 后经过多次测试, 终于启用成功. 方法是:
在第一种安装方式的基础上 , 将源码包中 sqlite.so 拷贝到 /usr/lib/php/modules/sqlite.so
再在/etc/php.d 目录下新建 文件 sqlite.ini 添加内容: extension=sqlite.so
然后重启 httpd. 查看phpinfo信息
报错了:phpize commend not found 需要安装phpize 这个可以在yum中安装 yum -y install php-devel 如果还不行,说明你的编译工具有问题,安装一下就可以了 yum -y install autoconf yum -y install automake yum -y install libtool 运行phpize (成功了)
SQLite
SQLite support enabled
PECL Module version 2.0-dev $Id: sqlite.c,v 1.166.2.13.2.9 2007/05/19 17:58:22 iliaa Exp $
SQLite Library 2.8.17
SQLite Encoding iso8859

详解linux vi命令用法

功能最强在的编辑器——vi vi是所有UNIX系统都会提供的屏幕编辑器,它提供了一个视窗设备,通过它可以编辑文件。当然,对UNIX系统略有所知的人, 或多或少都觉得vi超级难用,但vi是最基本的编辑器,所以希望读者能好好把它学起来,以后在UNIX世界里必将畅行无阻、 游刃有余,因为其他几种文本处理器并非UNIX标准配备。说不定别人的Linux机器没安装joe或pico,如果您不会vi,那您可能就没辄了。 vi的基本概念 基本上vi可分为三种操作状态,分别是命令模式(Command mode)、插入模式(Insert mode)和底线命令模式(Last line mode), 各模式的功能区分如下: 1. Comand mode:控制屏幕光标的移动,字符或光标的删除,移动复制某区段及进入Insert mode下,或者到Last line mode。 2. Insert mode:唯有在Insert mode下,才可做文字数据输入,按Esc等可回到Comand mode。 3. Last line mode:将储存文件或离开编辑器,也可设置编辑环境,如寻找字符串、列出行号等。 不过可以把vi简化成两个模式,即是将Last line mode也算入Command mode,把vi分成Command 和Insert mode。 vi的基本操作 ?进入vi 在系统提示符号输入vi及文件名称后,即可进入vi全屏幕编辑画面: $ vi testfile 有一点要特别注意,就是您进入vi之后是处于“Command mode”下,您要切换到Insert mode才能输入文字。 初次用vi的用户都会想先用上下左右键移动光标,结果电脑一直叫,把自己气个半死,所以进入vi后,先不要乱动, 转换入Insert后再说。?切换至Insert mode编辑文件在Command mode下按‘i’、‘a’或‘o’三键就可进入Insert mode。 这时候您就可以开始输入文字了。 i: 插入,从目前光标所在之处插入所输入的文字。 a: 增加,目前光标所在的下一个字开始输入文字。 o: 插入新的一行,从行首开始输入文字。 ?Insert的切换→Command mode,按Esc键 您目前处于Insert mode,您就只能一直打字。假如您发现打错字了,想用光标键往回移动,将该字删除, 就要按ESC键转换回Command mode,再删除文字。 ?离开vi及存文件 在Command mode下,可按冒号“:”键入入Last line mode,例如: :w filename (输入“w filename”,将文章存入指定的文件名filename) :wq (输入“wq”,因为进入之时已经指定文件名testfile,所以会写入testfile并离开vi) :q! (输入“q!”,强制离开并放弃编辑的文件) Command mode功能键列表 在介绍command mode指令的时后,指令后面加上“常用”字眼的功能键,表示比较常用的vi指令, 请读者您一定要学会、记住。 (1)I、a、o切换进入Insert mode。[超级常用] (2)移动光标 vi可以直接用键盘上的光标键来上下左右移动,但正规的vi是用小写英文字母 h、j、k、l,分别控制光标左、下、上、右移一格。 按Ctrl+B:屏幕往后移动一页。[常用] 按Ctrl+F:屏幕往前移动一页。[常用] 按Ctrl+U:屏幕往后移动半页。 按Ctrl+D:屏幕往前移动半页。 按 0 (数字零):移动文章的开头。[常用] 按 G:移动到文章的最后。[常用] 按 w:光标跳到下个word的开头。[常用] 按 e:光标跳到下个word的字尾。 按 b:光标回到上个word的开头。 按 $:移到光标所在行的行尾。[常用] 按 ^:移到该行第一个非空白的字符。 按 0:移到该行的开头位置。[常用] 按 #:移到该行的第#个位置,例:51、121。[常用] (3)删除文字 x:每按一次删除光标所在位置的后面一个字符。[超常用] #x:例如,6x 表删除光标所在位置的后面6个字符。[常用] X:大字的X,每按一次删除光标所在位置的前面一个字符。 #X:例如,20X 表删除光标所在位置的前面20个字符。 dd:删除光标所在行。[超常用] #dd:例如,6dd表删除从光标所在的该行往下数6行之文字。[常用] (4)复制 yw:将光标所在处到字尾的字符复制到缓冲区中。 (想在和#x、#X的功能相反) p:将缓冲区内的字符粘贴到光标所在位置(指令‘yw’与‘p必须搭配使用)。 yy:复制光标所在行。[超常用] p:复制单行到您想粘贴之处。(指令‘yy’与‘p’必须搭配使用) #yy:如:6yy表示拷贝从光标所在的该行往下数6行之文字。[常用] p:复制多行到您想粘贴之处。(指令‘#yy’与‘p’必须搭配使用) “ayy:将复制行放入buffer a, vi提供buffer功能,可将常用的数据存在buffer “ap:将放在buffer a的数据粘贴。 “b3yy:将三行数据存入buffer b。 “b3p:将存在buffer b的资料粘贴 (5)取代 r: 取代光标所在处的字符:[常用] R:取代字符直到按Esc为止。 (6)复原(undo)上一个指令 u:假如您误操作一个指令,可以马上按u,回复到上一个操作。[超常用] .: .可以重复执行上一次的指令。 (7)更改 cw:更改光标所在处的字到字尾$处。 c#w:例如,c3w代表更改3个字。 (8)跳至指定行 Ctrl+G:列出光标所在行的行号。 #G:例如,15G,表示移动光标至文章的第15行行首。[常用] Last line mode下指令简介 读者您要使用Last line mode之前,请记得先按Esc键确定您已经处于Command mode下后,再按冒号“:”或“/”或“?” 三键的其中一键进入Last line mode。 1.列出行号 set nu: 输入“set nu”后,会在文章的每一行前面列出行号。 2.跳到文章的某一行 #:井号代表一个数字,在Last line mode提示符号“:”前输入数字,再按Enter就会跳到该行了, 如:15[Enter]就会跳到文章的第15行。[常用] 3.寻找字符串 /关键字:先按/,再输入您想寻找的字,如果第一次找的关键字不是您相尽可能的,可以一直按n会往下寻找到您要的关键字为止。 ?关键字:先按?,再输入您想寻找的字,如果第一次找的关键字不是您想要的,可以按n会往前寻找到您要的关键字为止。 4.取代字符串 1,$s/string/replae/g:在last line mode输入“1,$s/string/replace/g”会将全文的string字符串取代为replace字符串, 其中1,$s就是指搜寻区间为文章从头至尾的意思,g则是表示全部取代不必确认。 %s/string/replace/c:同样会将全文的string字符串取代为replace字符串,和上面指令不同的地方是,%s和1,$s是相同的功能, c则是表示要替代之前必须再次确认是否取代。 1,20s/string/replace/g:将1至20行间的string替代为relpace字符串。 5.存文件 w:在last line mode提示符号“:”前按w即可将文件存起来。[超常用] #,# w filename:如果您想摘取文章的某一段,存成另一个文件,可用这个指令#代表行号,例如30,50 w nice, 将您正在编辑文章的第30~50行存成nice这个文件。 6.离开 q:按q就离开,有时如果无法离开vi,可搭配“!:强置离开vi,如“q!” qw:一般建议离开时,搭配w一起使用,如此离开时还可存文件

centos Apache、php、mysql默认安装路径

apache:
如果采用RPM包安装,安装路径应在 /etc/httpd目录下
apache配置文件:/etc/httpd/conf/httpd.conf
Apache模块路径:/usr/sbin/apachectl
web目录:/var/www/html
如果采用源代码安装,一般默认安装在/usr/local/apache2目录下
php:
如果采用RPM包安装,安装路径应在 /etc/目录下
php的配置文件:/etc/php.ini
如果采用源代码安装,一般默认安装在/usr/local/lib目录下
php配置文件: /usr/local/lib/php.ini
或/usr/local/php/etc/php.ini
mysql:
如果采用RPM包安装,安装路径应在/usr/share/mysql目录下
mysqldump文件位置:/usr/bin/mysqldump
mysqli配置文件:
/etc/my.cnf或/usr/share/mysql/my.cnf
mysql数据目录在/var/lib/mysql目录下
如果采用源代码安装,一般默认安装在/usr/local/mysql目录下

CentOS下yum安装LAMP

准备篇: 1、配置防火墙,开启80端口、3306端口 vi /etc/sysconfig/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT #允许80端口通过防火墙 -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT #允许3306端口通过防火墙 备注:很多网友把这两条规则添加到防火墙配置的最后一行,导致防火墙启动失败, 正确的应该是添加到默认的22端口这条规则的下面 如下所示: ############################## 添加好之后防火墙规则如下所示 ############################## # Firewall configuration written by system-config-firewall # Manual customization of this file is not recommended. *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT -A INPUT -p icmp -j ACCEPT -A INPUT -i lo -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT -A INPUT -j REJECT --reject-with icmp-host-prohibited -A FORWARD -j REJECT --reject-with icmp-host-prohibited COMMIT ################################################################################################## /etc/init.d/iptables restart #最后重启防火墙使配置生效 2、关闭SELINUX vi /etc/selinux/config #SELINUX=enforcing #注释掉 #SELINUXTYPE=targeted #注释掉 SELINUX=disabled #增加 :wq #保存,关闭 shutdown -r now #重启系统 安装篇: 一、安装Apache yum install httpd #根据提示,输入Y安装即可成功安装 /etc/init.d/httpd start #启动Apache 备注:Apache启动之后会提示错误: 正在启动 httpd:httpd: Could not reliably determine the server's fully qualif domain name, using ::1 for ServerName 解决办法: vi /etc/httpd/conf/httpd.conf #编辑 找到 #ServerName www.example.com:80 修改为 ServerName www.osyunwei.com:80 #这里设置为你自己的域名,如果没有域名,可以设置为localhost :wq! #保存退出 chkconfig httpd on #设为开机启动 /etc/init.d/httpd restart #重启Apache 二、安装MySQL 1、安装MySQL yum install mysql mysql-server #询问是否要安装,输入Y即可自动安装,直到安装完成 /etc/init.d/mysqld start #启动MySQL chkconfig mysqld on #设为开机启动 cp /usr/share/mysql/my-medium.cnf /etc/my.cnf #拷贝配置文件(注意:如果/etc目录下面默认有一个my.cnf,直接覆盖即可) 2、为root账户设置密码 mysql_secure_installation 回车,根据提示输入Y 输入2次密码,回车 根据提示一路输入Y 最后出现:Thanks for using MySQL! MySql密码设置完成,重新启动 MySQL: /etc/init.d/mysqld restart #重启 /etc/init.d/mysqld stop #停止 /etc/init.d/mysqld start #启动 三、安装PHP5 1、安装PHP5 yum install php 根据提示输入Y直到安装完成 2、安装PHP组件,使 PHP5 支持 MySQL yum install php-mysql php-gd libjpeg* php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-mcrypt php-bcmath php-mhash libmcrypt 这里选择以上安装包进行安装 根据提示输入Y回车 /etc/init.d/mysqld restart #重启MySql /etc/init.d/httpd restart #重启Apche 配置篇 一、Apache配置 vi /etc/httpd/conf/httpd.conf #编辑文件 ServerTokens OS  在44行 修改为:ServerTokens Prod (在出现错误页的时候不显示服务器操作系统的名称) ServerSignature On  在536行 修改为:ServerSignature Off (在错误页中不显示Apache的版本) Options Indexes FollowSymLinks  在331行 修改为:Options Includes ExecCGI FollowSymLinks(允许服务器执行CGI及SSI,禁止列出目录) #AddHandler cgi-script .cgi 在796行 修改为:AddHandler cgi-script .cgi .pl (允许扩展名为.pl的CGI脚本运行) AllowOverride None  在338行 修改为:AllowOverride All (允许.htaccess) AddDefaultCharset UTF-8 在759行 修改为:AddDefaultCharset GB2312 (添加GB2312为默认编码) Options Indexes MultiViews FollowSymLinks 在554行 修改为 Options MultiViews FollowSymLinks(不在浏览器上显示树状目录结构) DirectoryIndex index.html index.html.var 在402行 修改为:DirectoryIndex index.html index.htm Default.html Default.htm index.php Default.php index.html.var (设置默认首页文件,增加index.php) KeepAlive Off 在76行 修改为:KeepAlive On (允许程序性联机) MaxKeepAliveRequests 100 在83行 修改为:MaxKeepAliveRequests 1000 (增加同时连接数) :wq! #保存退出 /etc/init.d/httpd restart #重启 rm -f /etc/httpd/conf.d/welcome.conf /var/www/error/noindex.html #删除默认测试页 二、php配置 vi /etc/php.ini #编辑 date.timezone = PRC #在946行 把前面的分号去掉,改为date.timezone = PRC disable_functions = passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,escapeshellcmd,dll,popen,disk_free_space,checkdnsrr,checkdnsrr,getservbyname,getservbyport,disk_total_space,posix_ctermid,posix_get_last_error,posix_getcwd, posix_getegid,posix_geteuid,posix_getgid, posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid, posix_getppid,posix_getpwnam,posix_getpwuid, posix_getrlimit, posix_getsid,posix_getuid,posix_isatty, posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid, posix_setpgid,posix_setsid,posix_setuid,posix_strerror,posix_times,posix_ttyname,posix_uname #在386行 列出PHP可以禁用的函数,如果某些程序需要用到这个函数,可以删除,取消禁用。 expose_php = Off #在432行 禁止显示php版本的信息 magic_quotes_gpc = On #在745行 打开magic_quotes_gpc来防止SQL注入 short_open_tag = ON #在229行支持php短标签 open_basedir = .:/tmp/ #在380行 设置表示允许访问当前目录(即PHP脚本文件所在之目录)和/tmp/目录,可以防止php木马跨站,如果改了之后安装程序有问题(例如:织梦内容管理系统),可以注销此行,或者直接写上程序的目录/data/www.osyunwei.com/:/tmp/ :wq! #保存退出 /etc/init.d/mysqld restart #重启MySql /etc/init.d/httpd restart #重启Apche 测试篇 cd /var/www/html vi index.php #输入下面内容 <?php phpinfo(); ?> :wq! #保存退出 在客户端浏览器输入服务器IP地址,可以看到如下图所示相关的配置信息! 注意:apache默认的程序目录是/var/www/html 权限设置:chown apache.apache -R /var/www/html 至此,CentOS 6.4安装配置LAMP服务器(Apache+PHP5+MySQL)教程完成!

CentOS常用命令

一:使用CentOS常用命令查看cpu more /proc/cpuinfo | grep "model name" grep "model name" /proc/cpuinfo [root@localhost /]# grep "CPU" /proc/cpuinfo model name      : Intel(R) Pentium(R) Dual CPU E2180 @ 2.00GHz model name      : Intel(R) Pentium(R) Dual CPU E2180 @ 2.00GHz 如果觉得需要看的更加舒服 grep "model name" /proc/cpuinfo | cut -f2 -d: 二:使用CentOS常用命令查看内存 grep MemTotal /proc/meminfo  grep MemTotal /proc/meminfo | cut -f2 -d:  free -m |grep "Mem" | awk '{print $2}' 三:使用CentOS常用命令查看cpu是32位还是64位 查看CPU位数(32 or 64) getconf LONG_BIT 四:使用CentOS常用命令查看当前linux的版本 more /etc/redhat-release cat /etc/redhat-release 五:使用CentOS常用命令查看内核版本 uname -r uname -a 六:使用CentOS常用命令查看当前时间 date上面已经介绍如何同步时间了 七:使用CentOS常用命令查看硬盘和分区 df -h fdisk -l 也可以查看分区 du -sh 可以看到全部占用的空间 du /etc -sh 可以看到这个目录的大小 八:使用CentOS常用命令查看安装的软件包 查看系统安装的时候装的软件包 cat -n /root/install.log more /root/install.log | wc -l 查看现在已经安装了那些软件包 rpm -qa rpm -qa | wc -l yum list installed | wc -l 不过很奇怪,我通过rpm,和yum这两种方式查询的安装软件包,数量并不一样。没有找到原因。 九:使用CentOS常用命令查看键盘布局 cat /etc/sysconfig/keyboard cat /etc/sysconfig/keyboard | grep KEYTABLE | cut -f2 -d= 十:使用CentOS常用命令查看selinux情况 sestatus sestatus | cut -f2 -d: cat /etc/sysconfig/selinux 十一:使用CentOS常用命令查看ip,mac地址 在ifcfg-eth0 文件里你可以看到mac,网关等信息。  ifconfig  cat /etc/sysconfig/network-scripts/ifcfg-eth0 | grep IPADDR  cat /etc/sysconfig/network-scripts/ifcfg-eth0 | grep IPADDR | cut -f2 -d=  ifconfig eth0 |grep "inet addr:" |awk '{print $2}'|cut -c 6-  ifconfig   | grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk '{ print $1}'  查看网关  cat /etc/sysconfig/network  查看dns  cat /etc/resolv.conf  十二:使用CentOS常用命令查看默认语言 echo $LANG $LANGUAGE cat /etc/sysconfig/i18n 十二:使用CentOS常用命令查看所属时区和是否使用UTC时间 cat /etc/sysconfig/clock 十三:使用CentOS常用命令查看主机名 hostname cat /etc/sysconfig/network 修改主机名就是修改这个文件,同时最好也把host文件也修改。 十四:使用CentOS常用命令查看开机运行时间 uptime 09:44:45 up 67 days, 23:32, ... 看来刚才确实是网段的问题,我的机器还是67天前开机的。 #系统资源使用情况 vmstat 1 -S m  procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------  r b   swpd   free   buff cache   si   so    bi    bo   in   cs us sy id wa st  0 0      0    233    199    778    0    0     4    25    1    1 3 0 96 0 0  0 0      0    233    199    778    0    0     0     0 1029 856 13 1 86 0 0 在众多的Linux终端命令中,我们应该分类来介绍一下,这里先说文件目录类、驱动挂载类、程序安装类、压缩解压类、进程控制类,这里所有的 Linux终端命令都会被经常的使用到,熟悉这些命令工作中应该能轻松许多。
一、文件目录类 1.建立目录:mkdir 目录名 2.删除空目录:rmdir 目录名 3.无条件删除子目录: rm -rf 目录名 4.改变当前目录:cd 目录名 (进入用户home目录:cd ~;进入上一级目录:cd -) 5.查看自己所在目录:pwd 6.查看当前目录大小:du 7.显示目录文件列表:ls -l (-a:增加显示隐含目录) 其中:蓝:目录;绿:可执行文件;红:压缩文件;浅蓝:链接文件;灰:其他文件;红底白字:错误的链接文件 8.浏览文件:more 文件名.txt;less 文件名.txt 9.复制文件: cp 源文件 目标文件 (-r:包含目录) 10.查找文件:(1)find (2)locate 命令名 11.链接:(1)建立hard链接:ln 来源文件 链接文件(-d:创建目录链接);(2)建立符号链接:ln -s 来源文件 链接文件 二.驱动挂载类 1.检查硬盘使用情况:df -T -h 2.检查磁盘分区:fdisk -l 3.挂载软硬光区:mount -t /dev/fdx|hdax /mnt/目录名 其中::modos--FAT16;vfat--FAT32;ntfs--NTFS;光驱--iso9660 支持中文名:mount -o iocharset=x /dev/hdax /mnt/目录名(其中:x=cp936或 挂载光驱:mount -t auto /dev/cdrom /mnt/cdrom 挂载ISO文件:mount -t iso9660 -o loop xxx.iso /path 4.解除挂载:umount /mnt/目录名 解除所有挂载:umount -a 5.建立文件系统:mkfs -t /dev/hdxx。其中:ftype:ext2、ext3、swap等 三.程序安装类 1.RPM包安装:(1)安装 rpm -ivh somesoft.rpm (2)反安装(卸载) rpm -e somefost.rpm (3)查询 rpm -q somefost 或 rpm -qpi somefost.rpm(其中:p未安装;i包含的信息) (4)查询安装后位置:rpm -ql somefost.rpm (5)升级安装:rpm -Uvh somesoft.rpm (6)强制安装:rpm -ivh --nodeps somesoft.rpm 或 rpm -ivh --nodeps --force somesoft.rpm 2.源代码包安装: 查阅README 基本用法 (1)配置:解压目录下 ./configure (2)编译:解压目录下 make (3)安装:解压目录下 make install 3.src.rpm的安装 ==================================================================================================================================== 四.压缩解压类
tar命令:tar [-cxtzjvfpPN] 文件与目录 …. tar命令参数: -c :建立一个压缩文件的参数指令(create 的意思); -x :解开一个压缩文件的参数指令! -t :查看 tarfile 里面的文件! 特别注意,在参数的下达中, c/x/t 仅能存在一个!不可同时存在! 因为不可能同时压缩与解压缩。 -z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩? -j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩? -v :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程! -f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数! 例如使用『 tar -zcvfP tfile sfile』就是错误的写法,要写成 『 tar -zcvPf tfile sfile』才对喔! -p :使用原文件的原来属性(属性不会依据使用者而变) -P :可以使用绝对路径来压缩! -N :比后面接的日期(yyyy/mm/dd)还要新的才会被打包进新建的文件中! –exclude FILE:在压缩的过程中,不要将 FILE 打包! 范例: 范例一:将整个 /etc 目录下的文件全部打包成为 /tmp/etc.tar [root@linux ~]# tar -cvf /tmp/etc.tar /etc<==仅打包,不压缩!  tar -cvf 目标文件  源文件   (以下同)例如:tar -cvf a.txt.tar a.txt [root@linux ~]# tar -zcvf /tmp/etc.tar.gz /etc<==打包后,以 gzip 压缩 [root@linux ~]# tar -jcvf /tmp/etc.tar.bz2 /etc<==打包后,以 bzip2 压缩 # 特别注意,在参数 f 之后的文件档名是自己取的,我们习惯上都用 .tar 来作为辨识。 # 如果加 z 参数,则以 .tar.gz 或 .tgz 来代表 gzip 压缩过的 tar file ~ # 如果加 j 参数,则以 .tar.bz2 来作为附档名啊~ # 上述指令在执行的时候,会显示一个警告讯息: # 『tar: Removing leading `/” from member names』那是关於绝对路径的特殊设定。   范例二:查阅上述 /tmp/etc.tar.gz 文件内有哪些文件? [root@linux ~]# tar -ztvf /tmp/etc.tar.gz # 由於我们使用 gzip 压缩,所以要查阅该 tar file 内的文件时, # 就得要加上 z 这个参数了!这很重要的!   范例三:将 /tmp/etc.tar.gz 文件解压缩在 /usr/local/src 底下 [root@linux ~]# cd /usr/local/src [root@linux src]# tar -zxvf /tmp/etc.tar.gz # 在预设的情况下,我们可以将压缩档在任何地方解开的!以这个范例来说, # 我先将工作目录变换到 /usr/local/src 底下,并且解开 /tmp/etc.tar.gz , # 则解开的目录会在 /usr/local/src/etc 呢!另外,如果您进入 /usr/local/src/etc # 则会发现,该目录下的文件属性与 /etc/ 可能会有所不同喔!   范例四:在 /tmp 底下,我只想要将 /tmp/etc.tar.gz 内的 etc/passwd 解开而已 [root@linux ~]# cd /tmp [root@linux tmp]# tar -zxvf /tmp/etc.tar.gz etc/passwd # 我可以透过 tar -ztvf 来查阅 tarfile 内的文件名称,如果单只要一个文件, # 就可以透过这个方式来下达!注意到! etc.tar.gz 内的根目录 / 是被拿掉了!   范例五:将 /etc/ 内的所有文件备份下来,并且保存其权限! [root@linux ~]# tar -zxvpf /tmp/etc.tar.gz /etc # 这个 -p 的属性是很重要的,尤其是当您要保留原本文件的属性时!   范例六:在 /home 当中,比 2005/06/01 新的文件才备份 [root@linux ~]# tar -N “2005/06/01″ -zcvf home.tar.gz /home   范例七:我要备份 /home, /etc ,但不要 /home/dmtsai [root@linux ~]# tar –exclude /home/dmtsai -zcvf myfile.tar.gz /home/* /etc   范例八:将 /etc/ 打包后直接解开在 /tmp 底下,而不产生文件! [root@linux ~]# cd /tmp [root@linux tmp]# tar -cvf - /etc | tar -xvf - # 这个动作有点像是 cp -r /etc /tmp 啦~依旧是有其有用途的! # 要注意的地方在於输出档变成 - 而输入档也变成 - ,又有一个 | 存在~ # 这分别代表 standard output, standard input 与管线命令啦!
  ------------------------------------------------------------------------------------------------------------------------------------------- 五.进程控制类 1.列出当前进程ID:ps -auxw 2.终止进程:(1)终止单一进程:kill 进程ID号 (2)终止该程序所有进程:Killall 程序名 (3)终止X-Window程序:xkill 3.查看资源占用情况:(1)top (2)free (3)dmesg 4.查看环境变量值:env 5.重启:(1)reboot (2)Ctrl Alt Del (3)init 6 6.关机:(1)shutdown -h now (2)halt (3)init 0 7.切换桌面:switchdesk gnome|KDE|...