---------------注意----------------------------------
1.--------------------------- /bin/sh ./libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -c ltdl.c mkdir .libs gcc -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -c ltdl.c -fPIC -o .libs/ltdl.o gcc -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -c ltdl.c -o ltdl.o >/dev/null 2>&1 /bin/sh ./libtool --mode=link gcc -g -O2 -o libltdl.la -rpath /usr/local/lib -no-undefined -version-info 4:0:1 ltdl.lo -ldl ./libtool: line 3965: ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib ): command not found ./libtool: line 3965: ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib ): command not found ./libtool: line 3965: ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib ): command not found ./libtool: line 3965: ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib ): command not found产生原因:源码包中LIBTOOL版本过低。
解决方法:让编译时调用系统的LIBTOOL。修改Makefile文件,LIBTOOL=$(SHELL)$(top_builddir)/libtool 为LIBTOOL=$(SHELL) /usr/bin/libtool
2.---------------------------
本文.很多的配置文件.使用的都是默认的. 为了能让大家更好的来了解各个软件.希望大家都真的能自己去阅读一下软件的配置文件 要根据实际情况来调整配置文件. 这才是根本.3.---------------------------
本文的操作系统.请参照之前的博文 如果包不匹配.极有可能无法完整安装. 有一部分东西. 我是放在操作系统安装的时候处理的.4.---------------------------
切记. 要去理解文章. 而不是完全的照抄5.---------------------------
本文是我自己的安装笔记. 有个别的东西有修改 请仔细阅读-----------------------------------------------------
################ mysql 5.5.27 ################
# 编译安装的方法 # 使用yum安装bison yum install -y bison# 下载地址
# mysql 下载地址 官网的列表 需要自己去选择 ## cmake 下载地址 官网的列表 需要自己去选择
## 下载mysql 和 cmake
wget wget# 解压
tar zxf cmake-2.8.8.tar.gz tar zxf mysql-5.5.27.tar.gz# 进入cmake 目录
cd cmake-2.8.8# 编译 安装
./configure && make && make install cd ../# 进入mysql 目录
cd mysql-5.5.27# 使用 cmake 编译
cmake \ -DCMAKE_INSTALL_PREFIX=/soft/mysql-5.5.27 \ -DMYSQL_DATADIR=/data/mysql-5.5.27/ \ -DSYSCONFDIR=/soft/mysql-5.5.27/etc/ \ -DWITH_MYISAM_STORAGE_ENGINE=1 \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DWITH_ARCHIVE_STORAGE_ENGINE=1 \ -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \ -DWITH_EXTRA_CHARSETS=complex \ -DENABLED_LOCAL_INFILE=1 \ -DWITH_READLINE=1 \ -DDEFAULT_CHARSET=utf8 \ -DDEFAULT_COLLATION=utf8_general_ci \ -DWITHOUT_PARTITION_STORAGE_ENGINE=1 \ -DWITH_DEBUG=0# 编译 安装
make && make install# 建立mysql组 并 建立mysql用户并加入到mysql组
/usr/sbin/groupadd mysql /usr/sbin/useradd -g mysql mysql -s /sbin/nologin# 建立数据路径
mkdir -p /data/mysql-5.5.27/# 修改目录权限
chown -R mysql:mysql /data/mysql-5.5.27mkdir -p /soft/mysql-5.5.27/etc/
# 复制配置文件到/etc目录
cp support-files/my-medium.cnf /soft/mysql-5.5.27/etc/my.cnf# 复制服务文件到 /etc/init.d目录
cp support-files/mysql.server /etc/init.d/mysqld chmod +x /etc/init.d/mysqld# 增加mysql 路径到 /etc/profile 目录 (功能是增加环境变量)
echo "PATH=\$PATH:/soft/mysql-5.5.27/bin" >> /etc/profile# 增加mysql的lib到环境变量
echo "/soft/mysql-5.5.27/lib/" >> /etc/ld.so.conf.d/mysql_lib.conf && /sbin/ldconfig# 重读 profile 让环境变量立刻生效
. /etc/profile# 初始化数据库
/soft/mysql-5.5.27/scripts/mysql_install_db --user=mysql --basedir=/soft/mysql-5.5.27/ --datadir=/data/mysql-5.5.27/# 开启mysql
service mysqld start# 清理MYSQL默认数据 清除主机名 清除主机默认IP地址 清除权限
mysql -uroot -e "drop database test; \ drop user root@test; \ drop user root@'::1'; \ drop user ''@'localhost'; \ drop user ''@'test';"# 载入 pma_create_tables.sql 方便phpmyadmin的使用.
mysql -uroot -e "SOURCE ../pma_create_tables.sql;"# 注意修改密码. 这个是给phpmyadmin使用的 请仔细去参考phpmyadmin
mysql -uroot -e "GRANT ALL ON phpmyadmin.* TO phpmyadmin@'%' IDENTIFIED BY 'phpmyadmin';"# 修改mysql root 密码为 123456
mysqladmin -u root password '123456'# 将mysql 加入服务 设置启动
chkconfig --add mysqld chkconfig mysqld on# 重启mysql
service mysqld restartcd ../
# 开启防火墙
iptables -A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT service iptables save################ nginx 1.2.3 ################
# 官方地址
# nginx 反向代理会使用的模块.需要单独加载 根据实际情况使用
# ngx_cache_purge-1.6.tar.gz # wgetwget
# 解压
tar zxf nginx-1.2.3.tar.gz tar zxf ngx_cache_purge-1.6.tar.gz# 进入nginx目录
cd nginx-1.2.3# 编译参数 无 ngx_cache_purge
./configure \ --user=www \ --group=www \ --prefix=/soft/nginx-1.2.3 \ --with-http_stub_status_module \ --with-http_realip_module \ --with-http_ssl_module \ --with-http_sub_module \ --with-http_flv_module \ --with-http_addition_module \ --with-http_gzip_static_module# 带 ngx_cache_purge
./configure \ --user=www \ --group=www \ --prefix=/soft/nginx-1.2.3 \ --with-http_stub_status_module \ --add-module=../ngx_cache_purge-1.6 \ --with-http_realip_module \ --with-http_ssl_module \ --with-http_sub_module \ --with-http_flv_module \ --with-http_addition_module \ --with-http_gzip_static_module# 编译安装
make && make install# 建立 nginx 所使用的用户
/usr/sbin/groupadd www /usr/sbin/useradd -g www www -s /sbin/nologincd /soft/nginx-1.2.3/conf/
rm -fr *.default nginx.conf# 上传配置文件
cd /etc/init.d/
# rz nginx chmod +x nginxmkdir -p /data/wwwroot/proxy_temp_dir /data/wwwroot/web /soft/nginx-1.2.3/logs/
# 日志分割脚本
cd /soft/nginx-1.2.3/sbin/ # rz cut_nginx_log.sh chmod +x cut_nginx_log.sh# 赋予目录 写权限
chmod +w /data/wwwroot/ /soft/nginx-1.2.3/logs/# 赋予目录及子目录 www组www用户读权限
chown -R www:www /data/wwwroot/ chown -R web:web /soft/nginx-1.2.3service nginx check
service nginx startcd ../
chkconfig --add nginx
chkconfig nginx oniptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
service iptables save################ php-5.4.6 ################
# libiconv-1.14.tar.gz wget# libmcrypt-2.5.8.tar.gz
wget# mhash-0.9.9.9
wget# mcrypt-2.6.8.tar.gz
wget# php php-5.4.6.tar.gz
wget# memcache-3.0.6.tgz
wget# eaccelerator-0.9.6.1.zip 这个请注意..... 要下载最新版本 不然高版本的php不兼容
# wget# ZendGuardLoader-php-5.3-linux-glibc23-x86_64.tar.gz
# # wget# php_screw-1.5.tar.gz
wget# pear
# wgetyum -y install autoconf libjpeg-devel libpng-devel freetype-devel libxml2-devel zlib-devel glibc-devel \
glib2-devel bzip2-devel curl-devel e2fsprogs-devel krb5-devel libidn-devel libc-client libc-client-devel# libiconv-1.14.tar.gz
tar zxf libiconv-1.14.tar.gz cd libiconv-1.14 ./configure \ --prefix=/soft/libiconv-1.14 make && make install cd ../ echo "/soft/libiconv-1.14/lib" >> /etc/ld.so.conf.d/php_lib.conf && /sbin/ldconfig# libmcrypt-2.5.8.tar.gz
tar zxf libmcrypt-2.5.8.tar.gz cd libmcrypt-2.5.8/ ./configure --prefix=/soft/libmcrypt-2.5.8 make && make install /sbin/ldconfig cd libltdl/ ./configure \ --prefix=/soft/libmcrypt-2.5.8/libltdl \ --enable-ltdl-install make && make install cd ../../echo "/soft/libmcrypt-2.5.8/lib" >> /etc/ld.so.conf.d/php_lib.conf
echo "/soft/libmcrypt-2.5.8/libltdl/lib" >> /etc/ld.so.conf.d/php_lib.conf && /sbin/ldconfig# mhash-0.9.9.9
tar zxf mhash-0.9.9.9.tar.gz cd mhash-0.9.9.9/ ./configure \ --prefix=/soft/mhash-0.9.9.9 make && make install cd ../ echo "/soft/mhash-0.9.9.9/lib" >> /etc/ld.so.conf.d/php_lib.conf && /sbin/ldconfig# mcrypt-2.6.8.tar.gz
tar zxf mcrypt-2.6.8.tar.gz cd mcrypt-2.6.8/# 安装mcrypt,
# ./configure时可能会报这个错:/bin/rm: cannot remove `libtoolT’: No such file or directory。 # 解决方法:修改configure文件,删除$RM “$cfgfile”这一行(在19744行)。重新再运行./configure就可以了。 # 看了下configure文件,其实可以忽略这个错。configure文件中cfgfile=”${ofile}T”定义的这里变量值是不存在的(${ofile}T的值为libtoolT),最后所以报错了。export LD_LIBRARY_PATH=/soft/libmcrypt-2.5.8/lib:/soft/mhash-0.9.9.9/lib
export LDFLAGS="-L/soft/mhash-0.9.9.9/lib -I/soft/mhash-0.9.9.9/include/" export CFLAGS="-I/soft/mhash-0.9.9.9/include/" ./configure \ --prefix=/soft/mcrypt-2.6.8 \ --with-libmcrypt-prefix=/soft/libmcrypt-2.5.8/ make && make install cd ../# php-5.4.6.tar.gz
tar zxf php-5.4.6.tar.gz
cd php-5.4.6/# 有 mysql 客户端 --enable-inline-optimization \ zend如果失败 使用这个开关
./configure \ --prefix=/soft/php-5.4.6 \ --with-config-file-path=/soft/php-5.4.6/etc \ --with-mysql=/soft/mysql-5.5.27 \ --with-mysqli=/soft/mysql-5.5.27/bin/mysql_config \ --with-pdo-mysql=/soft/mysql-5.5.27 \ --with-iconv=/soft/libiconv-1.14 \ --with-freetype-dir \ --with-jpeg-dir \ --with-png-dir \ --with-zlib \ --with-bz2 \ --with-libxml-dir=/usr \ --with-curl \ --with-curlwrappers \ --with-mhash=/soft/mhash-0.9.9.9/ \ --with-mcrypt=/soft/libmcrypt-2.5.8/ \ --with-gd \ --with-openssl \ --with-imap \ --with-kerberos \ --with-imap-ssl \ --with-xmlrpc \ --with-gettext \ --enable-mbregex \ --enable-mbstring \ --enable-pcntl \ --enable-soap \ --enable-exif \ --enable-ftp \ --enable-zip \ --enable-sockets \ --enable-xml \ --disable-rpath \ --enable-bcmath \ --enable-shmop \ --enable-sysvmsg \ --enable-sysvsem \ --enable-sysvshm \ --enable-gd-native-ttf \ --enable-calendar \ --enable-fpm# 无mysql客户端 使用 mysqlnd
./configure \ --prefix=/soft/php-5.4.6 \ --with-mysql=mysqlnd \ --with-mysqli=mysqlnd \ --with-pdo-mysql=mysqlnd \ --with-config-file-path=/soft/php-5.4.6/etc \ --with-iconv=/soft/libiconv-1.14 \ --with-mhash=/soft/mhash-0.9.9.9/ \ --with-mcrypt=/soft/libmcrypt-2.5.8/ \ --with-freetype-dir \ --with-jpeg-dir \ --with-png-dir \ --with-zlib \ --with-bz2 \ --with-libxml-dir=/usr \ --with-curl \ --with-curlwrappers \ --with-gd \ --with-openssl \ --with-imap \ --with-kerberos \ --with-imap-ssl \ --with-xmlrpc \ --with-gettext \ --enable-mbregex \ --enable-mbstring \ --enable-pcntl \ --enable-soap \ --enable-exif \ --enable-ftp \ --enable-zip \ --enable-sockets \ --enable-xml \ --enable-bcmath \ --enable-shmop \ --enable-sysvmsg \ --enable-sysvsem \ --enable-sysvshm \ --enable-gd-native-ttf \ --enable-inline-optimization \ --enable-calendar \ --disable-rpath \ --enable-fpmmake ZEND_EXTRA_LIBS='-liconv'
make install# cp php.ini-production /soft/php-5.4.6/etc/
cd ../
#wget
#/soft/php-5.4.6/bin/php go-pear.phar# memcache-3.0.6.tgz
tar zxf memcache-3.0.6.tgz cd memcache-3.0.6 /soft/php-5.4.6/bin/phpize ./configure \ --with-php-config=/soft/php-5.4.6/bin/php-config make && make install cd ../# eaccelerator-0.9.6.1.zip 这个 0.9.6.1 不能在这个php版本使用
# 请下载最新的 eaccelerator,编译步骤不变 unzip eaccelerator-0.9.6.1.zip cd eaccelerator-0.9.6.1/ /soft/php-5.4.6/bin/phpize ./configure \ --enable-eaccelerator=shared \ --with-php-config=/soft/php-5.4.6/bin/php-config make && make install cd ../# ZendGuardLoader-php-5.3-linux-glibc23-x86_64.tar.gz
#tar zxf ZendGuardLoader-php-5.3-linux-glibc23-x86_64.tar.gz #cp ZendGuardLoader-php-5.3-linux-glibc23-x86_64/php-5.3.x/ZendGuardLoader.so /soft/php-5.4.6/lib/php/extensions/no-debug-non-zts-20090626/# php_screw-1.5.tar.gz
tar zxf php_screw-1.5.tar.gz cd php_screw-1.5 /soft/php-5.4.6/bin/phpize ./configure \ --with-php-config=/soft/php-5.4.6/bin/php-configmake
# 注:这个是密码文件,用户自己设置加密的密码
# vi my_screw.h# 如果make 出现 这个错误--------------
# /root/php_screw-1.5/php_screw.c: In function ‘zm_startup_php_screw’: # /root/php_screw-1.5/php_screw.c:124: 错误:‘struct _zend_compiler_globals’ 没有名为 ‘extended_info’ 的成员 # /root/php_screw-1.5/php_screw.c: In function ‘zm_shutdown_php_screw’: # /root/php_screw-1.5/php_screw.c:133: 错误:‘struct _zend_compiler_globals’ 没有名为 ‘extended_info’ 的成员 # make: *** [php_screw.lo] 错误 1 # -------------------------------------- # vi php_screw.c# CG(extended_info) = 1;
# 修改为: # CG(compiler_options) |= ZEND_COMPILE_EXTENDED_INFO;cp modules/php_screw.so /soft/php-5.4.6/lib/php/extensions/no-debug-non-zts-20090626/
cd tools
make # 生成 screw 为二进制文件 cd ../# php.ini 加入
# extension=/soft/php-5.4.6/lib/php/extensions/no-debug-non-zts-20090626/php_screw.somkdir -p /soft/php-5.4.6/cache
cd /soft/php-5.4.6/etc/
# rz 配置文件chown -R web:web /soft/php-5.4.6
chown www:www /soft/php-5.4.6/cachechmod +x /etc/init.d/php-fpm
service php-fpm start
chkconfig --add php-fpm
chkconfig php-fpm on