#!/bin/bash #auto install LAMP #by 小凡 2017 #Apr define path variable A_FILES=apr-1.4.5.tar.gz A_FILES_DIR=apr-1.4.5 A_URL=http://archive.apache.org/dist/apr/ A_PREFIX=/usr/local/apr #Apr-util define path variable A_UTIL_FILES=apr-util-1.3.12.tar.gz A_UTIL_FILES_DIR=apr-util-1.3.12 A_UTIL_URL=http://archive.apache.org/dist/apr/ A_UTIL_PREFIX=/usr/local/apr-util #Httpd define path variable H_FILES=httpd-2.4.27.tar.gz H_FILES_DIR=httpd-2.4.27 H_URL=http://mirror.bit.edu.cn/apache//httpd/ H_PREFIX=/usr/local/apache/ #MySQL define path variable M_FILES=mysql-5.5.57.tar.gz M_FILES_DIR=mysql-5.5.57 M_URL=https://cdn.mysql.com//Downloads/MySQL-5.5/ M_PREFIX=/usr/local/mysql/ #PHP define path variable P_FILES=php-5.6.9.tar.bz2 P_FILES_DIR=php-5.6.9 P_URL=http://mirrors.sohu.com/php/ P_PREFIX=/usr/local/php5/ echo -e ‘\033[32m-----------------------------\033[0m‘ echo if [ -z "$1" ];then echo -e "\033[33m请按顺序选择安装菜单序号 \033[0m" echo -e "\033[32m 1)编译安装apache服务器 2)编译安装mysql服务器 3)编译安装php服务器 4)配置mysql、整合php、重启LAMP服务且部署Discuz论坛 \033[0m" echo -e "\033[31m 请使用: { /bin/sh $0 1|2|3|4|help}\033[0m" exit fi if [[ "$1" -eq "help" ]];then echo -e "\033[35m请按顺序选择安装菜单序号 \033[0m" echo -e "\033[34m 1)编译安装apache服务器 2)编译安装mysql服务器 3)编译安装php服务器 4)配置mysql、整合php、重启LAMP服务且部署Discuz论坛 \033[0m" echo -e "\033[31m 请使用: { /bin/sh $0 1|2|3|4|help} \033[0m" exit fi ###################################### #Install apr server if [[ "$1" -eq "1" ]];then yum install -y pcre-devel gcc openssl-devel cd /usr/src wget -c $A_URL/$A_FILES && tar -xzvf $A_FILES && cd $A_FILES_DIR &&./configure --prefix=$A_PREFIX if [ $? -eq 0 ];then make && make install fi #Install apr-util server cd /usr/src wget -c $A_UTIL_URL/$A_UTIL_FILES && tar -xzvf $A_UTIL_FILES && cd $A_UTIL_FILES_DIR &&./configure --prefix=$A_UTIL_PREFIX -with-apr=/usr/local/apr/bin/apr-1-config if [ $? -eq 0 ];then make && make install fi ###################################### #Install httpd web server cd /usr/src wget -c $H_URL/$H_FILES && tar -xzvf $H_FILES && cd $H_FILES_DIR &&./configure --prefix=$H_PREFIX --enable-rewrite --enable-so --with-apr=$A_PREFIX --with-apr-util=$A_UTIL_PREFIX if [ $? -eq 0 ];then make && make install echo -e "\033[32;5m apache服务器安装成功!!! \033[0m" else echo -e "\033[32;5m apache服务器安装错误,请检查!!!\033[0m" exit 0 fi fi #Install Mysql DB server if [[ "$1" -eq "2" ]];then yum install cmake ncurses-devel gcc-c++ -y mkdir -p /usr/local/mysql mkdir -p /usr/local/mysql/data cd /usr/src wget -c $M_URL/$M_FILES && tar -xzvf $M_FILES && cd $M_FILES_DIR &&cmake . -DCMAKE_INSTALL_PREFIX=$M_PREFIX -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DMYSQL_USER=mysql -DMYSQL_TCP_PORT=3306 -DWGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DWITH_BLACGINE=1 -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DWITH_EXDDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DWITH_BIG_DEBUG=0 if [ $? -eq 0 ];then make && make install echo -e "\033[33;5m MYSQL服务器安装成功!!!\033[0m" else echo -e "\033[33;5m MYSQL服务器安装错误,请检查!!!\033[0m" exit 0 fi fi #Install PHP server if [[ "$1" -eq "3" ]];then yum install libxml2-devel perl-devel perl unzip -y cd /usr/src wget -c http://download.comsenz.com/DiscuzX/3.1/Discuz_X3.1_SC_UTF8.zip unzip Discuz_X3.1_SC_UTF8.zip wget -c $P_URL/$P_FILES && tar -jxvf $P_FILES && cd $P_FILES_DIR &&./configure --prefix=$P_PREFIX --with-config-file-path=$P_PREFIX/etc --with-mysql=$M_PREFIX --with-apxs2=$H_PREFIX/bin/apxs if [ $? -eq 0 ];then make && make install echo -e "\033[34;5m PHP服务器安装成功!!!\033[0m" else echo -e "\033[34;5m PHP服务器安装错误,请检查!!! \033[0m" exit 0 fi fi #################################### if [[ "$1" -eq "4" ]];then cd /usr/local/mysql /usr/sbin/useradd -s /sbin/nologin mysql ln -s $M_PREFIX/bin/* /usr/bin /bin/chown -R root:mysql . /bin/chown -R mysql:mysql data /bin/cp support-files/mysql.server /etc/init.d/mysqld /bin/chmod +x /etc/init.d/mysqld chkconfig --add mysqld chkconfig mysqld on cat > /etc/my.cnf << EOF [mysqld] datadir = /usr/local/mysql/data socket = /tmp/mysql.sock user = mysql log-error = /var/log/mysqld.log character_set_server = utf8 [client] default-character-set = utf8 [mysql] default-character-set = utf8 EOF /usr/local/mysql/scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data --basedir=$M_PREFIX sed -i ‘/DirectoryIndex/s/index.html/index.php index.html/g‘ $H_PREFIX/conf/httpd.conf sed -i ‘/libphp5.so/a AddType application/x-httpd-php .php‘ $H_PREFIX/conf/httpd.conf IP=`ifconfig eth0|grep "Bcast"|awk ‘{print $2}‘|cut -d: -f2` echo "You can access http://$IP/" cat >$H_PREFIX/htdocs/index.php <<EOF <?php phpinfo(); ?> EOF $H_PREFIX/bin/apachectl restart /etc/init.d/mysqld restart /etc/init.d/iptables stop setenforce 0 cp -r /usr/src/upload/* $H_PREFIX/htdocs/ cd $H_PREFIX/htdocs chmod -R 757 * mysql -e "create database discuz default character set utf8;" mysql -e "grant all on discuz.* to web@‘localhost‘ identified by ‘123456‘;" if [ $? -eq 0 ];then echo -e "\033[31;5m LAMP环境搭建完毕!!! \033[0m" else echo -e "\033[31;5m LAMP环境搭建错误,请检查!!! \033[0m" fi fi
本文出自 “刘士凡-技术分享” 博客,请务必保留此出处http://liusf.blog.51cto.com/13344518/1972827
原文地址:http://liusf.blog.51cto.com/13344518/1972827