第二版:
系统环境:Centos 6.5 X64
源码存放路径:/usr/local/src 【命令:mkdir -p /usr/local/src】
源码安装路径:/usr/local 【系统默认存在】
数据库路径:/data/mysql/data 【命令:mkdir -p /data/mysql/data】
网站路径:/usr/local/apache/htdocs 【安装完成 自动生成】
——————————————-前期准备工作———————————————–
关闭防火墙以及selinux
#service iptables stop 【注释:关闭防火墙】
#chkconfig iptables off 【注释:添加自启动关闭】
#vi /etc/selinux/config 【注释:selinux关闭 #把SELINUX=enforcing 修改为disabled】
保存并退出。重新启动电脑
——————————————-安装开始—————————————————–
yum -y install gcc gcc-c++ autoconf nss_ldap libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel openldap-clients openldap-servers pcre pcre-devel make wget vim cmake gd gd-devel libevent libevent-devel zip unzip 【注释:安装一些基本软件 和 模块】
——————————————-安装apache————————————————-
apr-1.4.6.tar.gz //安装apache必要依赖文件
apr-util-1.5.1.tar.gz //安装apache必要依赖文件
httpd-2.4.3.tar.gz //apache文件
cd apr-1.4.6 【注释:编译apr】
./configure --prefix=/usr/local/apr
【注释:安装apr报错rm: cannot remove `libtoolT' 解决方法:编辑configure文件 搜索$RM “$cfgfile” 这行删除掉就行】
make
make install
cd ../
cd apr-util-1.5.1 【注释:编译apr-util】
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
make
make install
cd ../
cd httpd-2.4.3 【注释:编译apache】
./configure --prefix=/usr/local/apache --enable-dav --enable-so --enable-maintainer-mode --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util
make
make install
cd ../
【注释:修改httpd.conf #ServerName 修改成 ServerName localhost:80 前面';' 去掉,就可以启动了apache了】
——————————————-安装mysql————————————————-
groupadd mysql 【创建mysql用户组】
useradd -g mysql mysql -s /sbin/nologin 【创建mysql用户】
chown -R mysql:mysql /data/mysql
mkdir -p /usr/local/mysql
tar zxvf mysql-5.5.28.tar.gz
cd mysql-5.5.28
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql/data -DSYSCONFDIR=/etc
[注释:
以下是博主原先整理的一些mysql编译参数详解,提供给热衷于源码编译安装mysql的朋友们!
-DCMAKE_INSTALL_PREFIX= 指向mysql安装目录
-DINSTALL_SBINDIR=sbin 指向可执行文件目录(prefix/sbin)
-DMYSQL_DATADIR=/var/lib/mysql 指向mysql数据文件目录(/var/lib/mysql)
-DSYSCONFDIR=/etc/mysql 指向mysql配置文件目录(/etc/mysql)
-DINSTALL_PLUGINDIR=lib/mysql/plugin 指向插件目录(prefix/lib/mysql/plugin)
-DINSTALL_MANDIR=share/man 指向man文档目录(prefix/share/man)
-DINSTALL_SHAREDIR=share 指向aclocal/mysql.m4安装目录(prefix/share)
-DINSTALL_LIBDIR=lib/mysql 指向对象代码库目录(prefix/lib/mysql)
-DINSTALL_INCLUDEDIR=include/mysql 指向头文件目录(prefix/include/mysql)
-DINSTALL_INFODIR=share/info 指向info文档存放目录(prefix/share/info) ]
make
make install
cd /usr/local/mysql
cd support-files
cp my-medium.cnf /etc/my.cnf
cd ../
cd scripts
./mysql_install_db --datadir=/data/mysql/data --user=mysql
[注释:出错FATAL ERROR: Could not find ./bin/my_print_defaults
解决:/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/data &
去查看了下 my_print_defaults是存在的
这样执行就成功了:./scripts/mysql_install_db --datadir=/data/mysql/data --user=mysql
]
cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld
chmod 755 /etc/init.d/mysqld
chkconfig mysqld on
echo 'basedir=/usr/local/mysql/' >> /etc/rc.d/init.d/mysqld
echo 'datadir=/data/mysql/data/' >>/etc/rc.d/init.d/mysqld
service mysqld start
echo 'export PATH=$PATH:/usr/local/mysql/bin' >> /etc/profile
ln -s /usr/local/mysql/lib/mysql /usr/local/lib64/mysql 【建立软连接】
ln -s /usr/local/mysql/include/mysql /usr/local/include/mysql 【建立软连接】
cp mysql /usr/sbin/ 【注释:mysql命令cp到系统默认命令目录 mysql root密码默认为空 如果忘记密码 可查看 http://www.iyunv.com/zhizhong/p/4320515.html】
——————————————-安装PHP————————————————-
tar zxvf libmcrypt-2.5.8.tar.gz
cd libmcrypt-2.5.8/
./configure --prefix=/usr/local/libmcrypt
make && make install
cd ../
tar zxvf libiconv-1.13.1.tar.gz
cd libiconv-1.13.1/
./configure --prefix=/usr/local/libiconv
make && make install
tar zxvf php-5.6.3.tar.gz
cd php-5.6.3/
./configure --prefix=/usr/local/php5 --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql/ --with-config-file-path=/usr/local/php5/etc/ --with-ttf --with-xmlrpc --with-openssl --with-zlib --with-freetype-dir --with-gd --with-jpeg-dir --with-png-dir --with-iconv=/usr/local/libiconv --enable-short-tags --enable-sockets --enable-zend-multibyte --enable-soap --enable-mbstring --enable-static --enable-apc --enable-bcmath --enable-gd-native-ttf --with-curl --with-mcrypt=/usr/local/libmcrypt --disable-fileinfo
【注释:configure: WARNING: unrecognized options: --with-ttf, --enable-zend-multibyte, --enable-apc 无需管它】
【注释:
make: *** [ext/fileinfo/libmagic/apprentice.lo] Error 1
--disable-fileinfo
这是由于内存小于1G所导致.
在./configure加上选项:
--disable-fileinfo
】
【注释:安装php扩展 不成功可能是由于安装php时设置的php.ini路径问题 导致无法加载到
】
make && make install
cp php.ini-production /usr/local/php5/etc/php.ini
cd ../
【
编辑apache conf httpd.conf
AddType application/x-httpd-php .php
就能支持php了 并且可以设置首页默认访问文件 index.html 改成 index.php
】
【注意:项目放上去 配置完成后 请记得修改apache权限 】
tar zxvf PDO_MYSQL-1.0.2.tgz
cd PDO_MYSQL-1.0.2/
/usr/local/php5/bin/phpize
./configure --with-php-config=/usr/local/php5/bin/php-config --with-pdo-mysql=/usr/local/mysql
【注释: make: *** [pdo_mysql.lo] Error 1
解决:ln -s /usr/local/mysql/include/* /usr/local/include/ 执行2次】
make && make install
cd ../
tar zxvf memcache-3.0.6.tgz 【未安装】
cd memcache-3.0.6/
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php5/bin/php-config
make && make install
cd ../
tar jxvf eaccelerator-0.9.6.1.tar.bz2 【未安装】
cd eaccelerator-0.9.6.1
/usr/local/php/bin/phpize
./configure -enable-eaccelerator=shared –with-php-config=/usr/local/php/bin/php-config
make
make install
mkdir /tmp/eaccelerator
chmod 777 /tmp/eaccelerator
cd ../
tar zxvf ZendOptimizer-3.3.9-linux-glibc23-x86_64.tar.gz 【未安装】
mkdir -p /usr/local/zend/
cp ZendOptimizer-3.3.9-linux-glibc23-x86_64/data/5_2_x_comp/ZendOptimizer.so /usr/local/zend/
——————————————-修改php.ini文件————————————————-
手工修改:查找/usr/local/php/etc/php.ini中的extension_dir = "./"
修改为extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/"
并在此行后增加以下几行,然后保存:
extension = "memcache.so" 【未安装】
extension = "pdo_mysql.so"
extension = "imagick.so" 【未安装】
再查找output_buffering = Off
修改为output_buffering = On
short_open_tag 设置开启 short_open_tag = On [注释: 开启短标记风格]
再查找; cgi.fix_pathinfo=1
修改为cgi.fix_pathinfo=0,防止Nginx文件类型错误解析漏洞。
3.13配置eAccelerator加速PHP: 【未安装】
mkdir -p /usr/local/eaccelerator_cache
vi /usr/local/php/etc/php.ini
按shift+g键跳到配置文件的最末尾,加上以下配置信息:
[eaccelerator] 【未安装】
zend_extension=”/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/eaccelerator.so”
eaccelerator.shm_size=”64″
eaccelerator.cache_dir=”/usr/local/eaccelerator_cache”
eaccelerator.enable=”1″
eaccelerator.optimizer=”1″
eaccelerator.check_mtime=”1″
eaccelerator.debug=”0″
eaccelerator.filter=”"
eaccelerator.shm_max=”0″
eaccelerator.shm_ttl=”3600″
eaccelerator.shm_prune_period=”3600″
eaccelerator.shm_only=”0″
eaccelerator.compress=”1″
eaccelerator.compress_level=”9″
[Zend Optimizer]
zend_optimizer.optimization_level=15
zend_extension=”/usr/local/zend/ZendOptimizer.so”
/usr/local/apache/bin/apachectl restart |