lnmp编译安装脚本 -centos6.5 (备份)
kevin.Zhu 发布于:2013-9-28 19:20 分类:Linux 有 23 人浏览,获得评论 0 条
#!/bin/bash
#此脚本自动完成安装 nginx php mysql ,均为编译安装
#此脚本安装清单如下:
#同目录下需要有对应的离线包支持
#nginx 1.10.1 , php5.6.22 , mysql5.7.13
#安装epel
wget "http://download.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm"
rpm -hiv epel-release-5-4.noarch.rpm
#安装必要的库
yum -y install libxml2 libxml2-devel curl curl-devel libjpeg libjpeg-devel libpng libpng-devel libmcrypt libmcrypt-devel libtool-ltdl-devel
#安装PHP必要的库
yum -y install libxml2* libxslt* libevent-* libcurl* gd-progs* zlib* libmcrypt* libpcre* pcre* libzip* bzip2*
yum -y groupinstall "Development Tools" --skip-broken
### 安装nginx ###
tar zxvf nginx-1.10.1.tar.gz
cd nginx-1.10.1
./configure --prefix=/usr/local/nginx1-10-1 --with-http_ssl_module –-with-debug
make -j 4 && make install
cd ..
### 安装php ###
tar zxvf php-5.6.22.tar.gz
cd php-5.6.22
./configure --prefix=/usr/local/php5-6-22 --mandir=/usr/share/man --infodir=/usr/share/info --sysconfdir=/usr/local/php5-6-22 --enable-cli --with-config-file-path=/usr/local/php5-6-22/etc --with-openssl --with-kerberos --with-zlib --enable-bcmath --with-bz2 --enable-calendar --with-curl --enable-exif --enable-ftp --enable-magic-quotes --enable-mbstring --enable-mbregex --enable-json --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-mysql-sock=mysqlnd --enable-mysqlnd --with-sqlite --with-pdo-sqlite --enable-pdo --enable-dba --enable-shmop --enable-soap --enable-sockets --enable-wddx --enable-fpm --with-mhash --with-mcrypt --with-iconv --with-xsl --enable-zend-multibyte --enable-zip --with-pcre-regex --enable-dom --enable-posix --enable-fileinfo --enable-sysvmsg --enable-sysvsem --enable-sysvshm --with-libxml --with-xmlrpc --enable-xml --enable-xmlwriter --enable-xmlreader --enable-maintainer-zts --with-mpm=prefork --enable-roxen-zts --enable-maintainer-zts --with-config-file-scan-dir=/usr/local/php5-6-22/conf.d
#如果需要支持apache 则编译时加上 --with-apxs2=/apache路径/bin/apxs
#编译
make -j 4 && make install
mkdir /usr/local/php5-6-22/etc
mkdir /usr/local/php5-6-22/conf.d
#创建php命令行路径链接
ln -sf /usr/local/php5-6-22/bin/php /usr/local/bin/
#php配置文件
mkdir /usr/local/php5-6-22/etc
cp -a php.ini-production /usr/local/php5-6-22/etc/php.ini
#其它扩展库的配置路径
#mkdir /usr/local/php5-6-22/conf.d
cd ..
#安装gd库支持
tar zxvf jpegsrc.v8b.tar.gz
cd jpeg-8b/
./configure --prefix=/usr/local/jpeg --enable-shared --enable-static
make && make install
cd ..
#安装freetype
tar zxvf freetype-2.4.0.tar.gz
cd freetype-2.4.0
./configure --prefix=/usr/local/freetype24
make -j 4 && make install
cd ..
#安装gd
cd php-5.6.22/ext/gd/
/usr/local/php5-6-22/bin/phpize
./configure --with-php-config=/usr/local/php5-6-22/bin/php-config --with-jpeg-dir=/usr/local/jpeg/ --with-freetype-dir=/usr/local/freetype24/
make && make install
cd ../../../
##需要手动到php.ini开启gd##
#安装git (可不装, 但是需要下载带有boost的mysql源码并指定mysql的boost目录 )
#否则配置需要打开 DDOWNLOAD_BOOST ,安装程序自动通过git联网安装
yum -y install zlib-devel perl-ExtUtils-MakeMaker asciidoc xmlto openssl-devel
wget -O git.zip https://github.com/git/git/archive/master.zip
unzip git.zip
cd git-master
autoconf
./configure
make -j 4 && make install
ln -sf /usr/local/bin/git /usr/bin/
cd ..
### 安装 mysql ###
yum -y install cmake ncurses-devel
#创建mysql用户
groupadd mysql57
useradd -g mysql57 -s /sbin/nologin -M mysql57
#带有boost的mysql源码
tar zxvf mysql-boost-5.7.13.tar.gz
cd mysql-5.7.13
rm CMakeCache.txt
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql57/ -DMYSQL_DATADIR=/usr/local/mysql57/data -DWITH_INNOBASE_STORAGE_ENGINE=1 -DMYSQL_TCP_PORT=3306 -DMYSQL_UNIX_ADDR=/usr/local/mysql57/data/mysql.sock -DMYSQL_USER=mysql57 -DWITH_DEBUG=0 -DDOWNLOAD_BOOST=0 -DWITH_BOOST=./boost/
make -j 4 && make install
cd /usr/local/mysql57
chown -R mysql57 .
chgrp -R mysql57 .
#bin/mysql_install_db --user=mysql57 --basedir=/usr/local/mysql57 --datadir=/usr/local/mysql57/data
#这一步好像有不生效的情况、原因记不清了 可能是之前装过,相关的数据和配置没有删除掉
./bin/mysqld --initialize --user=mysql57 --basedir=/usr/local/mysql57 --datadir=/usr/local/mysql57/data
chown -R mysql57:mysql57 ./data
#启动mysql服务
./bin/mysqld_safe --user=mysql &
./bin/mysqladmin -u root password 'new-password'
./bin/mysqladmin -u root -h localhost.localdomain password 'new-password'
cp -a support-files/mysql.server /etc/init.d/mysqld
# 到这里已经可以使用脚本启动和关闭mysql服务
/etc/init.d/mysqld start
# service mysqld start
#此脚本自动完成安装 nginx php mysql ,均为编译安装
#此脚本安装清单如下:
#同目录下需要有对应的离线包支持
#nginx 1.10.1 , php5.6.22 , mysql5.7.13
#安装epel
wget "http://download.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm"
rpm -hiv epel-release-5-4.noarch.rpm
#安装必要的库
yum -y install libxml2 libxml2-devel curl curl-devel libjpeg libjpeg-devel libpng libpng-devel libmcrypt libmcrypt-devel libtool-ltdl-devel
#安装PHP必要的库
yum -y install libxml2* libxslt* libevent-* libcurl* gd-progs* zlib* libmcrypt* libpcre* pcre* libzip* bzip2*
yum -y groupinstall "Development Tools" --skip-broken
### 安装nginx ###
tar zxvf nginx-1.10.1.tar.gz
cd nginx-1.10.1
./configure --prefix=/usr/local/nginx1-10-1 --with-http_ssl_module –-with-debug
make -j 4 && make install
cd ..
### 安装php ###
tar zxvf php-5.6.22.tar.gz
cd php-5.6.22
./configure --prefix=/usr/local/php5-6-22 --mandir=/usr/share/man --infodir=/usr/share/info --sysconfdir=/usr/local/php5-6-22 --enable-cli --with-config-file-path=/usr/local/php5-6-22/etc --with-openssl --with-kerberos --with-zlib --enable-bcmath --with-bz2 --enable-calendar --with-curl --enable-exif --enable-ftp --enable-magic-quotes --enable-mbstring --enable-mbregex --enable-json --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-mysql-sock=mysqlnd --enable-mysqlnd --with-sqlite --with-pdo-sqlite --enable-pdo --enable-dba --enable-shmop --enable-soap --enable-sockets --enable-wddx --enable-fpm --with-mhash --with-mcrypt --with-iconv --with-xsl --enable-zend-multibyte --enable-zip --with-pcre-regex --enable-dom --enable-posix --enable-fileinfo --enable-sysvmsg --enable-sysvsem --enable-sysvshm --with-libxml --with-xmlrpc --enable-xml --enable-xmlwriter --enable-xmlreader --enable-maintainer-zts --with-mpm=prefork --enable-roxen-zts --enable-maintainer-zts --with-config-file-scan-dir=/usr/local/php5-6-22/conf.d
#如果需要支持apache 则编译时加上 --with-apxs2=/apache路径/bin/apxs
#编译
make -j 4 && make install
mkdir /usr/local/php5-6-22/etc
mkdir /usr/local/php5-6-22/conf.d
#创建php命令行路径链接
ln -sf /usr/local/php5-6-22/bin/php /usr/local/bin/
#php配置文件
mkdir /usr/local/php5-6-22/etc
cp -a php.ini-production /usr/local/php5-6-22/etc/php.ini
#其它扩展库的配置路径
#mkdir /usr/local/php5-6-22/conf.d
cd ..
#安装gd库支持
tar zxvf jpegsrc.v8b.tar.gz
cd jpeg-8b/
./configure --prefix=/usr/local/jpeg --enable-shared --enable-static
make && make install
cd ..
#安装freetype
tar zxvf freetype-2.4.0.tar.gz
cd freetype-2.4.0
./configure --prefix=/usr/local/freetype24
make -j 4 && make install
cd ..
#安装gd
cd php-5.6.22/ext/gd/
/usr/local/php5-6-22/bin/phpize
./configure --with-php-config=/usr/local/php5-6-22/bin/php-config --with-jpeg-dir=/usr/local/jpeg/ --with-freetype-dir=/usr/local/freetype24/
make && make install
cd ../../../
##需要手动到php.ini开启gd##
#安装git (可不装, 但是需要下载带有boost的mysql源码并指定mysql的boost目录 )
#否则配置需要打开 DDOWNLOAD_BOOST ,安装程序自动通过git联网安装
yum -y install zlib-devel perl-ExtUtils-MakeMaker asciidoc xmlto openssl-devel
wget -O git.zip https://github.com/git/git/archive/master.zip
unzip git.zip
cd git-master
autoconf
./configure
make -j 4 && make install
ln -sf /usr/local/bin/git /usr/bin/
cd ..
### 安装 mysql ###
yum -y install cmake ncurses-devel
#创建mysql用户
groupadd mysql57
useradd -g mysql57 -s /sbin/nologin -M mysql57
#带有boost的mysql源码
tar zxvf mysql-boost-5.7.13.tar.gz
cd mysql-5.7.13
rm CMakeCache.txt
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql57/ -DMYSQL_DATADIR=/usr/local/mysql57/data -DWITH_INNOBASE_STORAGE_ENGINE=1 -DMYSQL_TCP_PORT=3306 -DMYSQL_UNIX_ADDR=/usr/local/mysql57/data/mysql.sock -DMYSQL_USER=mysql57 -DWITH_DEBUG=0 -DDOWNLOAD_BOOST=0 -DWITH_BOOST=./boost/
make -j 4 && make install
cd /usr/local/mysql57
chown -R mysql57 .
chgrp -R mysql57 .
#bin/mysql_install_db --user=mysql57 --basedir=/usr/local/mysql57 --datadir=/usr/local/mysql57/data
#这一步好像有不生效的情况、原因记不清了 可能是之前装过,相关的数据和配置没有删除掉
./bin/mysqld --initialize --user=mysql57 --basedir=/usr/local/mysql57 --datadir=/usr/local/mysql57/data
chown -R mysql57:mysql57 ./data
#启动mysql服务
./bin/mysqld_safe --user=mysql &
./bin/mysqladmin -u root password 'new-password'
./bin/mysqladmin -u root -h localhost.localdomain password 'new-password'
cp -a support-files/mysql.server /etc/init.d/mysqld
# 到这里已经可以使用脚本启动和关闭mysql服务
/etc/init.d/mysqld start
# service mysqld start