linux 脚本编程
- #!/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 [email protected]‘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://www.bubuko.com/infodetail-2354754.html