web安装脚本

前端之家收集整理的这篇文章主要介绍了web安装脚本前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

下面是编程之家 jb51.cc 通过网络收集整理的代码片段。

编程之家小编现在分享给大家,也给大家做个参考。

#!/sbin/bash
export PATH=$PATH:/bin:/sbin:/usr/sbin
#检查是否root用户执行
if [[ "$(whoami)" != "root" ]]; then
	echo "please run this script as root" >&2
	exit 1
fi

. /etc/init.d/functions

touche /tmp/install_lamp.log

#安装apache
Install_apache(){
	if [[ `rpm -qa httpd |wc -l` != 0 ]]; then
		rpm -e httpd-2.2.15-39.el6.centos.x86_64.rpm
	fi

	for (( i = 0; i < 4; i++ )); do
		yum -y install lrzsz gcc gcc-c++ pcre pcre-devel openssl \
		openssl-devel zlib zlib-devel ncurses-devel gd gd-devel
	done

	[ -d /opt/tools/ ] && cd /opt/tools/  || exit

	#安装apr
	tar xfz apr-1.5.2.tar.gz
	cd apr-1.5.2
	./configure --prefix=/usr/local/apr
	make && make install

	i=$(echo $?)
	if [[ ${i} != 0 ]]; then
		echo 'install apr is fail' >> /tmp/install_lamp.log
		exit
	elif [[ ${i} == 0 ]]; then
		echo "install apr is succ" >> /tmp/install_lamp.log
	fi

	cd ..

	#安装apr-util
	tar xfz apr-util-1.5.4.tar.gz
	cd apr-util-1.5.4
	./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
	make && make install

	i=$(echo $?)
	if [[ ${i} != 0 ]]; then
		echo 'install apr-util is fail' >> /tmp/install_lamp.log
		exit
	elif [[ ${i} == 0 ]]; then
		echo "install apr-util is succ" >> /tmp/install_lamp.log
	fi

	cd ..

	#安装apache
	tar xfz httpd-2.4.12.tar.gz
	cd httpd-2.4.12
	./configure --prefix=/usr/local/apache2.4.12 \
	--enable-deflate \
	--enable-so \
	--enable-ssl \
	--enable-proxy-fcgi \
	--enable-rewrite \
	--with-zlib \
	--with-pcre \
	--with-apr=/usr/local/apr \
	--with-apr-util=/usr/local/apr-util \
	--enable-modules=most \
	--enable-mpms-shared=all \
	--with-mpm=event \
	--enable-expires \
	--enable-headers

	make && make install

	i=$(echo $?)
	if [[ ${i} != 0 ]]; then
		echo 'install apache is fail' >> /tmp/install_lamp.log
		exit
	elif [[ ${i} == 0 ]]; then
		echo "install apache is succ" >> /tmp/install_lamp.log
	fi

	cd ..

	ln -s /usr/local/apache2.4.12 /usr/local/apache
}

#安装MysqL
Install_MysqL(){
	for (( i = 0; i < 4; i++ )); do
		yum -y install pcre-devel gcc-c++ gcc ncurses-devel \
		bison libxml2 libxml2-devel autoconf libjpeg libjpeg-devel libpng \
		libpng-devel freetype freetype-devel zlib zlib-devel glibc \
		glibc-devel glib2 glib2-devel flex bzip2* curl* openssl-devel openssl
	done

	cd /opt/tools/

	#安装cmake
	tar xfz cmake-3.2.2.tar.gz
	cd cmake-3.2.2
	./bootstrap && \
	gmake && make install

	i=$(echo $?)
	if [[ ${i} != 0 ]]; then
		echo 'install camake is fail' >> /tmp/install_lamp.log
		exit
	elif [[ ${i} == 0 ]]; then
		echo "install camake is succ" >> /tmp/install_lamp.log
	fi

	cd ..

	#安装MysqL
	mkdir /mydata/data -p
	groupadd -r MysqL
	useradd -g MysqL -r -s /sbin/nologin -M -d /mydata/data MysqL
	tar xfz MysqL-5.5.43.tar.gz
	cd MysqL-5.5.43

	/usr/local/bin/cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/MysqL-5.5.43 \
	-DMysqL_DATADIR=/mydata/data \
	-DSYSCONFDIR=/etc \
	-DWITH_INNOBASE_STORAGE_ENGINE=1 \
	-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
	-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
	-DWITH_FEDERATED_STORAGE_ENGINE=1 \
	-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
	-DWITHOUT_PARTITION_STORAGE_ENGINE=1 \
	-DWITH_FAST_MUTEXES=1 \
	-DENABLED_LOCAL_INFILE=1 \
	-DWITH_EMBEDDED_SERVER=1 \
	-DWITH_DEBUG=0 \
	-DWITH_READLINE=1 \
	-DWITH_SSL=bundled \
	-DWITH_ZLIB=system \
	-DWITH_LIBWRAP=0 \
	-DMysqL_UNIX_ADDR=/usr/local/MysqL/MysqL.sock \
	-DDEFAULT_CHARSET=utf8 \
	-DDEFAULT_COLLATION=utf8_general_ci \
	-DEXTRA_CHARSETS=gbk,gb2312,utf8,ascii \
	-DENABLED_LOCAL_INFILE=ON
	
	make && make install

	i=$(echo $?)
	if [[ ${i} != 0 ]]; then
		echo 'install MysqL is fail' >> /tmp/install_lamp.log
		exit
	elif [[ ${i} == 0 ]]; then
		echo "install MysqL is succ" >> /tmp/install_lamp.log
	fi

	ln -s /usr/local/MysqL-5.5.43 /usr/local/MysqL
	cd /usr/local/MysqL 
	chown -R MysqL:MysqL .
	scripts/MysqL_install_db --user=MysqL --datadir=/mydata/data
	\cp /etc/my.cnf /etc/my.cnf.bak
	cd /usr/local/MysqL
	\cp support-files/my-large.cnf  /etc/my.cnf
	sed -i '/thread_concurrency = 8/a datadir = /mydata/data' /etc/my.cnf
	sed -i '/datadir = \/mydata\/data/a log-slow-queries = \/mydata\/data\/slow.log' /etc/my.cnf
	sed -i '/log-slow-queries = \/mydata\/data\/slow.log/a \/mydata\/data\/error.log' /etc/my.cnf

cat >> /etc/my.cnf << EOF

[MysqLd_safe]
log-error = /mydata/data/MysqL_3306.err
pid-file = /mydata/data/MysqLd.pid
EOF

	#安装MysqL的man
	cd /usr/local/MysqL
	cp support-files/MysqL.server  /etc/rc.d/init.d/MysqLd
	echo "MANPATH  /usr/local/MysqL/man" >>/etc/man.config
	ln -sv /usr/local/MysqL/include  /usr/include/MysqL
	echo '/usr/local/MysqL/lib' > /etc/ld.so.conf.d/MysqL.conf
	ldconfig
	echo 'PATH=$PATH:/usr/local/MysqL/bin' >>/etc/profile
	source /etc/profile
	/etc/init.d/MysqLd start
	/usr/local/MysqL/bin/MysqL --version && \
	echo -e  "\e[31m MysqL install is OK\e[0m"
	
	#删除无用用户与测试库
	echo -e "delete from MysqL.user where user='';" | MysqL
	echo -e "delete from MysqL.user where host='::1';" | MysqL	
	echo -e "drop database test;" | MysqL

}

#安装PHP
Install_PHP(){
	for (( i = 0; i < 4; i++ )); do
		yum -y install gcc-c++ libxml2 libxml2-devel autoconf libjpeg libjpeg-devel \
		libpng libpng-devel freetype freetype-devel zlib zlib-devel glibc glibc-devel \
		glib2 glib2-devel flex bzip2* curl curl-devel libmcrypt libmcrypt-devel mhash mhash-devel \
		mcrypt libevent libevent-devel openssl openssl-devel
	done

	cd /opt/tools

	tar xfz PHP-5.6.8.tar.gz
	cd PHP-5.6.8
	
	./configure \
	--prefix=/usr/local/PHP-5.5.42 \
	--with-MysqL=MysqLnd \
	--with-pdo-MysqL=MysqLnd \
	--with-MysqLi=MysqLnd \
	--with-openssl \
	--enable-fpm \
	--enable-sockets \
	--enable-sysvshm  \
	--enable-mbstring \
	--with-freetype-dir \
	--with-jpeg-dir \
	--with-png-dir \
	--with-zlib-dir \
	--with-libxml-dir=/usr \
	--enable-xml \
	--with-config-file-path=/etc \
	--with-config-file-scan-dir=/etc/PHP.d \
	--with-bz2 \
	--with-curl \
	--with-gd

	make && make install

	i=$(echo $?)
	if [[ ${i} != 0 ]]; then
		echo 'install PHP is fail' >> /tmp/install_lamp.log
		exit
	elif [[ ${i} == 0 ]]; then
		echo "install PHP is succ" >> /tmp/install_lamp.log
	fi
	ln -s /usr/local/PHP-5.5.42 /usr/local/PHP

	cp PHP.ini-production /etc/PHP.ini

	cp sapi/fpm/init.d.PHP-fpm  /etc/rc.d/init.d/PHP-fpm
	chmod +x /etc/rc.d/init.d/PHP-fpm
	chkconfig --add PHP-fpm
	chkconfig PHP-fpm on
	
	cp /usr/local/PHP/etc/PHP-fpm.conf.default /usr/local/PHP/etc/PHP-fpm.conf
}


Install_apache
Install_MysqL
Install_PHP

以上是编程之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

猜你在找的Shell相关文章