系统类型:rhel 5.6 x64
软件版本:apache 2.2.25 mysql 5.5.19 php 5.2.17
Apache安装
tar -zxvf httpd-2.2.25.tar.gzcd httpd-2.2.25./configure \--prefix=/usr/local/apache \--enable-mods-shared=allmake && make install
注:
1、只使用--
enable
-mods-shared=all选项时有些模块不会安装,例如:cache模块,如果需要,应该手动启用,例如:“--enable-cache”,安装后同样以DSO方式加载。
2、安装后可以手动禁用不需要的模块,注释掉对应的locadmodule行,重启生效。
3、只使用
--
enable
-mods-shared=all选项,
会安装以下模块:
[root@localhost ~]# /usr/local/apache/bin/httpd -lCompiled in modules: core.c prefork.c http_core.c mod_so.c[root@localhost ~]# /usr/local/apache/bin/httpd -MLoaded Modules: core_module (static) mpm_prefork_module (static) http_module (static) so_module (static) authn_file_module (shared) authn_dbm_module (shared) authn_anon_module (shared) authn_dbd_module (shared) authn_default_module (shared) authz_host_module (shared) authz_groupfile_module (shared) authz_user_module (shared) authz_dbm_module (shared) authz_owner_module (shared) authz_default_module (shared) auth_basic_module (shared) auth_digest_module (shared) dbd_module (shared) dumpio_module (shared) reqtimeout_module (shared) ext_filter_module (shared) include_module (shared) filter_module (shared) substitute_module (shared) deflate_module (shared) log_config_module (shared) log_forensic_module (shared) logio_module (shared) env_module (shared) mime_magic_module (shared) cern_meta_module (shared) expires_module (shared) headers_module (shared) ident_module (shared) usertrack_module (shared) unique_id_module (shared) setenvif_module (shared) version_module (shared) mime_module (shared) dav_module (shared) status_module (shared) autoindex_module (shared) asis_module (shared) info_module (shared) cgi_module (shared) dav_fs_module (shared) vhost_alias_module (shared) negotiation_module (shared) dir_module (shared) p_w_picpathmap_module (shared) actions_module (shared) speling_module (shared) userdir_module (shared) alias_module (shared) rewrite_module (shared)Syntax OK
清除执行程序标记符号
strip /usr/local/apache/bin/httpd
添加service程序管理
ln -s
/usr/local/apache/bin/apachectl
/etc/init
.d
/httpd
设置开机启动
vi /etc/init.d/httpd顶部添加以下内容:
#### Comments to support chkconfig on RedHatLinux# chkconfig: 3 85 15# description:http server###
chkconfig --add httpd
暂时关闭防火墙
service iptables stop
mysql安装
安装cmake(mysql5.5以后是通过cmake来编译的)
wget http://www.cmake.org/files/v2.8/cmake-2.8.4.tar.gztar zxvf cmake-2.8.4.tar.gzcd cmake-2.8.4./configure &&make && make install
创建用户和用户组
useradd -M -s /sbin/nologin mysql
安装mysql
安装必须的包:
yum -y install ncurses-devel
tar zxvf mysql-5.5.19.tar.gzcd mysql-5.5.19cmake . \-DCMAKE_INSTALL_PREFIX=/usr/local/mysql/ \-DMYSQL_DATADIR=/data/mysql \-DWITH_INNOBASE_STORAGE_ENGINE=1 \-DENABLED_LOCAL_INFILE=1 \-DMYSQL_TCP_PORT=3306 \-DEXTRA_CHARSETS=all \-DDEFAULT_CHARSET=utf8 \-DDEFAULT_COLLATION=utf8_general_ci \-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \-DMYSQL_USER=mysql \-DWITH_DEBUG=0/*出现警告:CMake Warning: Manually-specified variables were not used by the project: MYSQL_USER*/可以忽略……makemake install
复制配置文件
[root@mysql-5.5.11]# cp support-files/my-huge.cnf /etc/my.cnf
[root@mysql-5.5.11]# cp support-files/mysql.server /etc/init.d/mysqld
[root@mysql-5.5.11]# chmod 700 /etc/init.d/mysqld
初始化数据库:自动生成路径:/data/mysql,权限为700,属主mysql,属组root
/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/
设置开机启动
chkconfig --add mysqld ---默认2345启动
启动mysql
service mysqld start
为了方便使用mysql命令,执行以下命令
修改家目录.bash_profile
PATH=$PATH:/usr/local/mysql/bin
export PATH
mysql修改密码(安装后默认密码为空)
进入到mysql修改
#mysql
mysql>set password=password('123456');
或,直接使用命令修改:
mysqladmin -u root password 123456
php安装
提前把安装必要的包yum -y install mysql-devel libjpeg-devel libmcrypt-devel libmhash-devel gd-devel libpng-devel openssl-devel curl-devel freetype-devel libxml2-develconfigure: error: libjpeg.(a|so) not found.解决:cp -af /usr/lib64/libjpeg.so* /usr/libconfigure: error: libpng.(a|so) not found.解决:cp -af /usr/lib64/libpng* /usr/libconfigure: error: mcrypt.h not found. Please reinstall libmcrypt.解决:编辑安装libmcryptconfigure: error: Please reinstall libmhash – I cannot find mhash.h解决:如果yum源无法安全,网上下载,然后再使用yum安装下载后的包yum install mhash-0.9.9-1.el5.centos.i386.rpmyum install mhash-devel-0.9.9-1.el5.centos.i386.rpm
-----------------------------------------------------------------------------------
tar -zxvf php-5.2.17.tar.gzcd php-5.2.17./configure \--prefix=/usr/local/php \--with-config-file-path=/usr/local/php/etc \--with-apxs2=/usr/local/apache/bin/apxs \--with-mysql=/usr/local/mysql \--with-pdo-mysql=/usr/local/mysql \--with-mysqli=/usr/local/mysql/bin/mysql_config \--with-mcrypt \--with-mhash \--with-zlib \--with-png-dir=/usr \--with-freetype-dir=/usr \--with-jpeg-dir=/usr \--enable-gd-native-ttf \--with-gd \--enable-soap \--enable-sockets \--with-openssl \--enable-zip \--with-curl \--enable-mbstring \--enable-ftpmakemake install
将php配置文档复制到/usr/local/lib下
cp php.ini-recommended /usr/local/php/etc/php.ini
配置apache支持php
LoadModule php5_module modules/libphp5.so---默认安装php后自动添加此行DocumentRoot "/data/webroot"---更改网站根目录AddType application/x-httpd-php .php ---添加index.php ---添加,如果是php网站,置index.html前
Zend安装
5.3之前的版本:进入解压后的目录执行./install,设置有关路径。
--------------------------------------
php5.3之后的版本:
知识:
从2000年10月20日发布的第一个Windows版的PHP3.0.17开始的都是线程安全的版本,这是由
于与Linux/Unix系统是采用多进程的工作方式不同的是Windows系统是采用多线程的工作方式。如果在IIS下以CGI方式运行PHP会非常慢,这是由于CGI模式是建立在多进程的基础之上的,而非多线程。一般我们会把PHP配置成以ISAPI的方式来运行,ISAPI是多线程的方式,这样就快多了。但存在一个问题,很多常用的PHP扩展是以Linux/Unix的多进程思想来开发的,这些扩展在ISAPI的方式运行时就会出错搞垮IIS。因此在IIS下CGI模式才是PHP运行的最安全方式,但CGI模式对于每个HTTP请求都需要重新加载和卸载整个PHP环境,其消耗是巨大的。为了兼顾IIS下PHP的效率和安全,微软给出了FastCGI的解决方案。FastCGI可以让PHP的进程重
复利用而不是每一个新的请求就重开一个进程。同时FastCGI也可以允许几个进程同时执行。这样既解决了CGI进程模式消耗太大的问题,又利用上了CGI进程模式不存在线程安全问题的优势。 因此,如果是使用ISAPI的方式来运行PHP就必须用Thread Safe(线程安全)的版本;而用FastCGI模式运行PHP的话就没有必要用线程安全检查了,用None Thread Safe(NTS,非线程安全)的版本能够更好的提高效率。配置:
下载Zend Guard Loader,提取ZendGuardLoader
.so放到/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/
修改php.ini,添加
zend_extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/ZendGuardLoader.sozend_loader.enable=1zend_loader.disable_licensing=0zend_loader.obfuscation_level_support=3zend_loader.license_path=
重启apache