CentOS 5.x源码编译使用lamp一键安装
http://www.itjxue.com 2015-06-14 10:55 来源:未知 点击次数:
源码编译安装LAMP虽然过程繁琐,但可以根据自己PHP程序的需要配置相应的环境,非常的灵活。对于比较急于配置好LAMP的同学,可以使用lamp一键安装。
卸载yum或rpm安装的amp软件
- rpm -qa|grep httpd
- rpm -e httpd
- rpm -qa|grep mysql
- rpm -e mysql
- rpm -qa|grep php
- rpm -e php
- yum -y remove httpd
- yum -y remove php
- yum -y remove mysql-server mysql
- yum -y remove php-mysql
- yum -y install yum-fastestmirror
- yum -y remove httpd
- yum -y update
禁用SeLinux
- sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
yum安装必要工具
- yum -y install gcc gcc-c++ libtool-libs autoconf freetype freetype-devel gd libjpeg libjpeg-devel libmcrypt libmcrypt-devel libpng libpng-devel libxml2 libxml2-devel ncurses ncurses-devel zlib zlib-devel zip unzip curl curl-devel
下载所需源码
- mkdir /lamp
- cd /lamp
- wget -c http://apache.ziply.com//httpd/httpd-2.2.21.tar.gz
- wget -c http://dev.mysql.com/get/Downloads/MySQL-5.1/mysql-5.1.59.tar.gz/from/http://mysql.he.net/
- wget -c http://us2.php.net/get/php-5.2.17.tar.gz/from/am.php.net/mirror
- wget -c http://superb-dca2.dl.sourceforge.net/project/phpmyadmin/phpMyAdmin/3.4.5/phpMyAdmin-3.4.5-all-languages.tar.gz
- tar xzf httpd-2.2.21.tar.gz
- tar xzf mysql-5.1.59.tar.gz
- tar xzf php-5.2.17.tar.gz
- tar xzf phpMyAdmin-3.4.5-all-languages.tar.gz
安装apache2.2.21
- cd /lamp/httpd-2.2.21
- ./configure --prefix=/usr/local/apache/ --with-included-apr --disable-userdir --enable-so --enable-deflate=shared --enable-expires=shared --enable-rewrite=shared --enable-static-support
- make
- make install
- cp build/rpm/httpd.init /etc/init.d/httpd
- chmod 755 /etc/init.d/httpd
- chkconfig --add httpd
- chkconfig --level 35 httpd on
- cd /etc
- mv httpd httpd_old
- ln -s /usr/local/apache/ httpd
- cd /usr/sbin/
- ln -fs /usr/local/apache/bin/httpd
- ln -fs /usr/local/apache/bin/apachectl
- cd /var/log
- rm -rf httpd/
- ln -s /usr/local/apache/logs httpd
- groupadd apache
- useradd -g apache apache
在httpd.conf文件找到daemon,修改为apache。
增加如下代码到httpd.conf文件:
- <Location />
- AddOutputFilterByType DEFLATE text/plain
- AddOutputFilterByType DEFLATE text/css
- AddOutputFilterByType DEFLATE application/xml
- AddOutputFilterByType DEFLATE application/rss+xml
- AddOutputFilterByType DEFLATE application/atom_xml
- AddOutputFilterByType DEFLATE application/x-javascript
- AddOutputFilterByType DEFLATE application/x-httpd-php
- AddOutputFilterByType DEFLATE text/html
- </Location>
安装mysql5.1.59
- groupadd mysql
- useradd -g mysql mysql
- cd /lamp/mysql-5.1.59
- ./configure --prefix=/usr/local/mysql/ --with-extra-charsets=all
- make
- make install
- cp support-files/my-medium.cnf /etc/my.cnf
- sed -i 's/skip-locking/skip-external-locking/g' /etc/my.cnf
- sed -i 's/^log-bin=mysql-bin/#log-bin=mysql-bin/g' /etc/my.cnf
- sed -i 's/^binlog_format=mixed/#binlog_format=mixed/g' /etc/my.cnf
- echo "skip-innodb" >> /etc/my.cnf
- echo "skip-bdb" >> /etc/my.cnf
- /usr/local/mysql/bin/mysql_install_db --user=mysql
- chown -R root /usr/local/mysql
- chown -R mysql /usr/local/mysql/var
- chgrp -R mysql /usr/local/mysql
- /usr/local/mysql/bin/mysqld_safe --user=mysql &
- cp /lamp/mysql-5.1.59/support-files/mysql.server /etc/rc.d/init.d/mysqld
- chown root.root /etc/rc.d/init.d/mysqld
- chmod 755 /etc/rc.d/init.d/mysqld
- chkconfig --add mysqld
- chkconfig --list mysqld
- chkconfig --levels 245 mysqld off
- ln -s /usr/local/mysql/bin/mysql /usr/bin
- ln -s /usr/local/mysql/bin/mysqladmin /usr/bin
- service mysqld start
- /usr/local/mysql/bin/mysqladmin -u root password '新密码'
安装PHP5.2.17
- cd /lamp/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-zlib -with-zlib-dir=/usr --with-libxml-dir=/usr --with-jpeg-dir --with-freetype-dir --with-gd --enable-gd-native-ttf --with-curl --enable-zip --with-mcrypt=/usr --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-soap --enable-mbstring=all --enable-sockets
- make
- make install
- cp php.ini-dist /usr/local/php/etc/php.ini
- sed -i '/\s\s*AddType.*tgz$/a\ Addtype application/x-httpd-php .php .phtml' /etc/httpd/conf/httpd.conf
- service httpd restart
安装ZendOptimizer-3.3.9(可选)
64位:http://downloads.zend.com/optimizer/3.3.9/ZendOptimizer-3.3.9-linux-glibc23-x86_64.tar.gz
32位:http://downloads.zend.com/optimizer/3.3.9/ZendOptimizer-3.3.9-linux-glibc23-i386.tar.gz
- cd /lamp
- wget http://downloads.zend.com/optimizer/3.3.9/ZendOptimizer-3.3.9-linux-glibc23-i386.tar.gz
- tar xzf ZendOptimizer-3.3.9-linux-glibc23-i386.tar.gz
- cd /lamp/ZendOptimizer-3.3.9-linux-glibc23-i386/data/5_2_x_comp/
- mkdir -p /usr/local/Zend/lib/
- cp ZendOptimizer.so /usr/local/Zend/lib
- sed -i '$a\[zend]\
- zend_optimizer.optimization_level=15\
- zend_extension=/usr/local/Zend/lib/ZendOptimizer.so' /usr/local/php/etc/php.ini
- service httpd restart
安装eAccelerator-0.9.6.1(可选)
- cd /lamp
- wget http://voxel.dl.sourceforge.net/project/eaccelerator/eaccelerator/eAccelerator%200.9.6.1/eaccelerator-0.9.6.1.zip
- unzip eaccelerator-0.9.6.1.zip
- cd eaccelerator-0.9.6.1
- export PHP_PREFIX="/usr/local/php"
- $PHP_PREFIX/bin/phpize
- ./configure -enable-eaccelerator=shared -with-php-config=$PHP_PREFIX/bin/php-config
- make && make install
- cd /tmp
- mkdir eaccelerator
- chmod 0777 eaccelerator
- sed -i '/^\[zend]$/i\
- [eaccelerator]\
- zend_extension="/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/eaccelerator.so"\
- eaccelerator.shm_size="32"\
- eaccelerator.cache_dir="/tmp/eaccelerator"\
- eaccelerator.enable="1"\
- eaccelerator.optimizer="1"\
- eaccelerator.check_mtime="1"\
- eaccelerator.debug="0"\
- eaccelerator.filter=""\
- eaccelerator.shm_max="0"\
- eaccelerator.shm_ttl="0"\
- eaccelerator.shm_prune_period="0"\
- eaccelerator.shm_only="0"\
- eaccelerator.compress="1"\
- eaccelerator.compress_level="9" ' /usr/local/php/etc/php.ini
- service httpd restart
安装phpmyadmin-3.4.5(可选)
- cd /lamp
- mv phpMyAdmin-3.4.5-all-languages /etc/httpd/htdocs/phpmyadmin
- chmod -R 755 /etc/httpd/htdocs/phpmyadmin
- chown -R apache:apache /etc/httpd/htdocs/phpmyadmin
- cd /etc/httpd/htdocs/phpmyadmin
- cp config.sample.inc.php config.inc.php
- sed -i 's/'cookie'/'http'/g' config.inc.php
- sed -i "/\?>/i\$cfg['ZipDump'] = TRUE" config.inc.php
- sed -i '$a\Alias /phpmyadmin "/etc/httpd/htdocs/phpmyadmin/"' /etc/httpd/conf/httpd.conf