CentOS 5.X 源码编译安装LAMP(Apache+MySQL+PHP),对于比较急于配置好L


源码编译安装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 '/ss*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 "/?>/i$cfg['ZipDump'] = TRUE" config.inc.php
sed -i '$aAlias /phpmyadmin "/etc/httpd/htdocs/phpmyadmin/"' /etc/httpd/conf/httpd.conf

相关内容