于2017.04.21 从新浪博客搬迁过来

----------------------------------------------------------------


现在很多企业线上web环境都在使用lamp+fretds这样的环境的,如果公司正处于发展阶段,那么有时候需要扩大线上环境,或者替换老的机器,在这个时候就需要搭建线上的web环境,如果每次都手动安装环境费时费力;在这里我基于我们公司线上web环境整理了这篇文档。


安装前的准备工作

关闭防火墙和selinux

iptables –F; iptables –X; iptables –Z; service iptables save

sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config


卸载掉系统自带的rpm安装包

yum -y remove httpd* mysqld* php libtool*

 

在安装之前要确认yum工具能正常使用,因为在安装过程中有时候需要使用yum安装一些缺少的包。

 

一、Web环境的安装和配置

1.安装前需要安装的一些环境包

yum install -y  gcc  gcc-c++ libtool-ltdl-devel make sudo gd-devel freetype-devel libxml2-devel libjpeg-devel libpng-devel openssl-devel curl-devel patch libmcrypt-devel libmhash-devel ncurses-devel bzip2 php-dba.i386 php-dbase.i386 gdbm-devel curl

 

2.apache的安装

1).建立www账户用来供apache使用

useradd -s /sbin/nologin www

 

2).apache的编译安装

cd /data/lamp/

tar zxvf httpd-2.2.22.tar.gz

cd httpd-2.2.22/

./configure --prefix=/usr/local/apache2 --enable-so --enable-rewrite

make

make install

#configure这里没有使用太多编译参数可以根据自己公司需要的环境来定义;在这里提醒一下,可以使用echo $? 来查看是否有error 产生,如果结果为0那么就没有error产生,为其他值的时候就有error产生需要检查一下!

 

3).apache的简单配置和启动

简单修改apache的配置文件

sed -i 's/User daemon/User www/g' /usr/local/apache2/conf/httpd.conf

sed -i 's/Group daemon/Group www/g' /usr/local/apache2/conf/httpd.conf

sed -i "/ServerName/s/#ServerName.*/ServerName localhost/g" /usr/local/apache2/conf/httpd.conf

 

ln -s /usr/local/apache2/bin/apachectl /etc/rc.d/init.d/httpd

sed -i '3i #chkconfig:2345 10 90' /etc/rc.d/init.d/httpd

sed -i '4i #description:apache server' /etc/rc.d/init.d/httpd

/sbin/chkconfig --del httpd

/sbin/chkconfig --add httpd

这样操作可以使用service httpd restart的方式来重启httpd

如果不采用这样的方式也可以使用以下方式启动

/usr/local/apache2/bin/apachectl start

 

 

3.mysql的安装

1).先建立mysql账户供mysql程序使用

useradd -M -s /sbin/nologin mysql

 

2).安装ncurses-5.6.tar.gz

cd /data/lamp/

ncurses-5.6.tar.gz

cd ncurses-5.6

./configure --prefix=/usr --with-shared --without-debug

make clean

make

make install

 

提醒:同样可以使用echo $? 来检测是否有错误发生

 

3).安装mysql

cd /data/lam/

tar –zxvf mysql-5.0.27.tar.gz

cd mysql-5.0.27/

./configure --prefix=/usr/local/mysql --with-mysqlduser=mysql

make clean

make

make install

 

mysq简单配置

mv /etc/my.cnf /etc/my.cnf.old

cp support-files/my-large.cnf /etc/my.cnf

/usr/local/mysql/bin/mysql_install_db

chown mysql.mysql /usr/local/mysql/var/ -R

cp support-files/mysql.server /etc/init.d/mysqld

chmod 755 /etc/init.d/mysqld

echo "/usr/local/mysql/lib/mysql/" >>/etc/ld.so.conf

ldconfig

chkconfig --add mysqld

service mysqld restart

export PATH=$PATH:/usr/local/mysql/bin/

echo "PATH=$PATH:/usr/local/mysql/bin/" >> /etc/profile

 

4.安装php之前需要的一些插件

#安装zlib

cd /data/lamp/

tar -zxvf zlib-1\[1\].2.3.tar.gz

cd zlib-1.2.3/

./configure --prefix=/usr/local/zlib

make

make install

 

#安装libtool

cd /data/lamp/

tar zxvf libtool-1.5.26.tar.gz

cd libtool-1.5.26

./configure

make && make install

 

#安装jpeg6

cd /data/lamp

mkdir /usr/local/jpeg6

mkdir /usr/local/jpeg6/bin

mkdir /usr/local/jpeg6/include

mkdir /usr/local/jpeg6/lib

mkdir /usr/local/jpeg6/man

mkdir /usr/local/jpeg6/man/man1

 

tar zxvf jpegsrc.v6b.tar.gz

cd jpeg-6b/

cp /usr/local/share/libtool/config.sub ./

cp /usr/local/share/libtool/config.guess ./

./configure --prefix=/usr/local/jpeg6/   --enable-shared --enable-static

make

make install-lib

make install

 

提醒:如果是手动安装在这里最好检查一下是否有错误发生,这里安装出现错误几率非常高。

 

#安装libpng

cd /data/lamp/

tar -zxvf libpng-1\[1\].2.26.tar.gz

cd libpng-1.2.26/

./configure --prefix=/usr/local/libpng

make

make install

 

#安装freetype

cd /data/lamp/

tar -zxvf freetype-2\[1\].3.5.tar.gz

cd freetype-2.3.5/

./configure --prefix=/usr/local/freetype

make

make install

 

#安装gd

cd /data/lamp/

tar -zxvf gd-2.0.33.tar.gz

cd gd-2.0.33

./configure --prefix=/usr/local/gd --with-jpeg=/usr/local/jpeg6/ --with-zlib=/usr/local/zlib --with-freetype=/usr/local/freetype/  --with-png=/usr/local/libpng

make

make install

 

#安装libxml

cd /data/lamp/

tar -zxvf libxml2-2.6.26.tar.gz

cd libxml2-2.6.26

./configure --prefix=/usr/local/xml2

make

make install

 

5.freetds的安装

cd /data/lamp/

tar zxvf freetds-stable.tgz

cd freetds-0.82

./configure --prefix=/usr/local/freetds --with-tdsver=8.0 --enable-msdblib --enable-static

make

make install

touch /usr/local/freetds/include/tds.h

touch /usr/local/freetds/lib/libtds.a

 

6.php的安装

cd /data/lamp/

tar -zxvf php-5.2.6.tar.gz

cd php-5.2.6

./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql --with-libxml-dir=/usr/local/xml2 --with-png-dir=/usr/local/libpng/ --with-jpeg-dir=/usr/local/jpeg6 --with-zlib --with-freetype-dir=/usr/local/freetype --enable-pdo --with-pdo-sqlite --with-pdo-mysql=/usr/local/mysql/bin/mysql_config --with-pdo-dblib=/usr/local/freetds/ --with-gd=/usr/local/gd --with-curl --with-mssql=/usr/local/freetds/ --disable-debug --enable-sockets --enable-force-cgi-redirect --enable-calendar --enable-magic-quotes --enable-ftp --enable-gd-native-ttf --with-ttf --with-gdbm --with-iconv --enable-mbstring=all

make

make test

make install

cp php.ini-recommended /usr/local/php/lib/php.ini

#sed -i '/LoadModule php5_module/ aAddType application/x-httpd-php-source .phps' /usr/local/apache2/conf/httpd.conf

sed -i '/LoadModule php5_module/ aAddType application/x-httpd-php .php' /usr/local/apache2/conf/httpd.conf

 

#第一条不加好像也正常,但是请重启浏览器,清除缓存

 

7.memcache的安装

Cd /data/lamp/

tar -zxvf libevent-2.0.8-rc.tar.gz

cd libevent-2.0.8-rc

./configure --prefix=/usr/local/libevent

make

make install

ln -s /usr/local/libevent/lib/libevent.so /usr/lib64/libevent-2.0.so.2

 

cd /data/lamp/

tar zxvf  m4-1.4.9.tar.gz

cd m4-1.4.9

./configure

make && make install

 

cd /data/lamp/

tar zxvf autoconf-2.62.tar.gz

cd autoconf-2.62

./configure

make && make install

 

cd /data/lamp/

tar -zxvf memcached-1.4.5.tar.gz

cd memcached-1.4.5

./configure --with-libevent=/usr/local/libevent/

make

make test

make install

cd /usr/local/bin/

./memcached -d -m 1024 -p 12000 -u root

 

cd /data/lamp/

tar -zxvf memcache-2.1.2.tg

cd memcache-2.1.2

/usr/local/php/bin/pecl install memcache

/usr/local/php/bin/phpize

./configure --enable-memcache --with-php-config=/usr/local/php/bin/php-config -with-zlib-dir

make

make test

make install

 

cd /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/

sed -i 's#extension_dir = "./"#extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/"\nextension = "memcache.so"#' /usr/local/php/lib/php.ini

 

8.fastcgi的安装

cd /data/lamp/

tar zxvf mod_fastcgi-2.4.6.tar.gz

cd mod_fastcgi-2.4.6

cp Makefile.AP2 Makefile

chmod 777 Makefile

sed -i 's#/usr/local/apache2#/usr/local/apache2#g ' Makefile

make

make install

sed -i '55i LoadModule fastcgi_module     modules/mod_fastcgi.so' /usr/local/apache2/conf/httpd.conf

 

 

至此,web环境就安装结束了,可以自己测试一下

echo “<?php” >/usr/local/apache/htdocs/phpinfo.php

echo “phpinfo();” >>/usr/local/apache/htdocs/phpinfo.php

echo “?>” >>/usr/local/apache/htdocs/phpinfo.php

 

service httpd restart

service mysqld restart

 

浏览器打开

http://server_ip/phpinfo.php

 

参考链接

http://www.cnblogs.com/z-ping/archive/2012/07/17/2594990.html apache/mysql/php 的编译参数