markdown测试2

一级标题

二级标题

三级标题

四级标题

五级标题
六级标题

加粗

斜体

引用


引用1
引用2
引用3

#!/bin/bash

#--------------------------------------------
# 这是一个注释
# author: tong707
# site: http://blog.51cto.com/tong707/
# slogan: 学的不仅是技术,更是梦想!
#--------------------------------------------



#
# You can enter your information following command:
# ./install.sh -n [name] -s [student number]
#
# You can also configure your information from 
# here ( your_name, your_stu_number ), 
# then, enter the following command:
# # ./install.sh -y
#

# your name
your_name='zhangsan'

# your student number
your_stu_number='201522450123'





# use local ftp yum source
uselocal="false"

# enable both local and internet yum sources
enabledTogether="false"





# modify eth0 to ethx
modifyeth0="true"

# ethx's name
cd /root/
ifconfig >> ifconfig.txt
if_str=$(cat ifconfig.txt | sed -n '1p')
ethxname=`expr substr "${if_str}" 1 4`
rm -rf /root/ifconfig.txt
if [ $ethxname == "eth0" ]
then
    modifyeth0="false"
fi





# define function: How to use this script?
showHelp(){
    echo -e "\033[32m How to Use this Shell Script?\033[0m"
    echo -e "\033[32m # $0 -n [name] -s [student number]\033[0m"
    echo -e ""
    exit
}





# receive parameters
if [ $# == 4 ]
then
    if [ $1 == "-n" -a $3 == "-s" ]
    then
        # echo "OK"
        your_name=$2
        your_stu_number=$4
    elif [ $1 == "-s" -a $3 == "-n" ]
    then
        # echo "OK"
        your_name=$4
        your_stu_number=$2
    else
        # echo "Help"
        showHelp
    fi
elif [ $# == 1 ]
then
    if [ $1 == "-y" ]
    then
        # pass
        echo -e ""
    else
        # echo "Help"
        showHelp
    fi
else
    # echo "Help"
    showHelp
fi





# show user info
echo -e ""
date
time1=`date +%s`
echo -e ""
echo -e " [ \033[32mINFO\033[0m ] your name is: \033[32m${your_name}\033[0m "
echo -e " [ \033[32mINFO\033[0m ] your student number is: \033[32m${your_stu_number}\033[0m "
echo -e ""
sleep 2s





# student number after 3
your_stu_num=`expr substr ${your_stu_number} 10 3`

# the 4th part of the IP address
your_ip_4=`expr ${your_stu_num} % 254`

# the 3rd part of the IP address
cd /root/
ifconfig >> ifconfig.txt
if_str=$(cat ifconfig.txt | sed -n '2p')
your_ip_3=`echo ${if_str} | cut -d '.' -f 3`
rm -rf /root/ifconfig.txt

# note
#vim /etc/udev/rules.d/70-persistent-net.rules





# turn off the firewall
echo -e "\033[32m [ INFO ] Turning Off the Firewall ... \033[0m"
service iptables stop
setenforce 0
#echo -e "\033[32m [ INFO ] [ Firewall Closed Successfully ] \033[0m"
echo -e "\n\n"





# use ftp as the yum source
yum install gcc -y
if [ ${uselocal} == "true" ]
then
    echo -e "\033[32m [ INFO ] Using FTP Server As the Yum Source ... \033[0m"
    mkdir /etc/yum.repos.d/bak
    mv /etc/yum.repos.d/CentOS-* /etc/yum.repos.d/bak/
    echo -e "[FTP]" > /etc/yum.repos.d/ftp.repo
    echo -e "name=CentOS6.6" >> /etc/yum.repos.d/ftp.repo
    echo -e "baseurl=ftp://172.18.72.252/centos6.6/" >> /etc/yum.repos.d/ftp.repo
    echo -e "gpgcheck=0" >> /etc/yum.repos.d/ftp.repo
    if [ ${enabledTogether} == "true" ]
    then
        # test START
        mv /etc/yum.repos.d/bak/CentOS-* /etc/yum.repos.d/
        yum install yum-plugin-priorities.noarch -y
        echo -e "priority=1" >> /etc/yum.repos.d/ftp.repo
        #echo -e "priority=10" >> /etc/yum.repos.d/CentOS-*
        # END
    fi
    yum list | tail -n 20
    echo -e "\033[32m [ INFO ] Set FTP Source Successfully \033[0m"
    echo -e "\n\n"
fi




# modify the host name
echo -e "\033[32m [ INFO ] Modify the Host Name ... \033[0m"
echo -e "NETWORKING=yes" > /etc/sysconfig/network
echo -e "HOSTNAME=${your_name}" >> /etc/sysconfig/network
hostname ${your_name}
hostname
echo -e "Hello, ${your_name}"
#echo -e "\033[32m [ INFO ] [ Modify the Host Name Successfully ] \033[0m"
echo -e "\n\n"





# modify the host IP address
echo -e "\033[32m [ INFO ] Modify the Host IP Address ... \033[0m"
service network restart
sed -i '/ONBOOT/d' /etc/sysconfig/network-scripts/ifcfg-eth0
sed -i '/BOOTPROTO/d' /etc/sysconfig/network-scripts/ifcfg-eth0
echo -e "ONBOOT=yes" >> /etc/sysconfig/network-scripts/ifcfg-eth0
echo -e "BOOTPROTO=static" >> /etc/sysconfig/network-scripts/ifcfg-eth0
echo -e "DNS1=192.168.${your_ip_3}.${your_ip_4}" >> /etc/sysconfig/network-scripts/ifcfg-eth0
echo -e "DNS2=202.206.192.33" >> /etc/sysconfig/network-scripts/ifcfg-eth0
echo -e "IPADDR=192.168.${your_ip_3}.${your_ip_4}" >> /etc/sysconfig/network-scripts/ifcfg-eth0
echo -e "NETMASK=255.255.255.0" >> /etc/sysconfig/network-scripts/ifcfg-eth0
echo -e "GATEWAY=192.168.${your_ip_3}.2" >> /etc/sysconfig/network-scripts/ifcfg-eth0
if [ ${modifyeth0} == "true" ]
then
    # test START
    sed -i '/HWADDR/d' /etc/sysconfig/network-scripts/ifcfg-eth0
    sed -i "s/DEVICE=eth0/DEVICE=${ethxname}/g" /etc/sysconfig/network-scripts/ifcfg-eth0
    mv /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-${ethxname}
    # END
fi
ifconfig
sed -i '$d' /etc/resolv.conf
echo -e "nameserver 192.168.${your_ip_3}.${your_ip_4}" >> /etc/resolv.conf
echo -e "nameserver 202.206.192.33" >> /etc/resolv.conf
ping 127.0.0.1 -c 4
service network restart
ping 127.0.0.1 -c 4
ifconfig
echo -e " [\033[32m INFO \033[0m] Please SSH this IP address:\033[31m 192.168.${your_ip_3}.${your_ip_4} \033[0m"
echo -e "\033[32m [ INFO ] Modify the Host IP Address Successfully \033[0m"
echo -e "\n\n"
sleep 2s





# install the bind package
echo -e "\033[32m [ INFO ] Install the Bind Package ... \033[0m"
yum install bind -y
# configure the named configuration file
echo -e "\033[32m [ INFO ] Configure the named.conf ... \033[0m"
cd /etc/
sed -i "s/127.0.0.1/any/g" named.conf
sed -i "s/localhost/any/g" named.conf
sed -i "/listen-on-v6/d" named.conf
sed -i '/include "/d' named.conf
echo -e "zone \"${your_name}.com\" IN {" >> named.conf
echo -e "        type master;" >> named.conf
echo -e "        file \"${your_name}.com.zone\";" >> named.conf
echo -e "};" >> named.conf
echo -e ""
echo -e "zone \"${your_stu_number}.com\" IN {" >> named.conf
echo -e "        type master;" >> named.conf
echo -e "        file \"${your_stu_number}.com.zone\";" >> named.conf
echo -e "};" >> named.conf
echo -e "" >> named.conf
echo -e "include \"/etc/named.rfc1912.zones\";" >> named.conf
echo -e "include \"/etc/named.root.key\";" >> named.conf
echo -e "" >> named.conf
cd ~
# configure the zone file
echo -e "\033[32m [ INFO ] Configure the Zone File ... \033[0m"
cd /var/named/
cp named.localhost ${your_name}.com.zone
cp named.localhost ${your_stu_number}.com.zone
sed -i '$d' ${your_name}.com.zone
sed -i '$d' ${your_name}.com.zone
sed -i '$d' ${your_stu_number}.com.zone
sed -i '$d' ${your_stu_number}.com.zone
echo -e "           A       192.168.${your_ip_3}.${your_ip_4}" >> ${your_name}.com.zone
echo -e "www     IN A       192.168.${your_ip_3}.${your_ip_4}" >> ${your_name}.com.zone
echo -e "           A       192.168.${your_ip_3}.${your_ip_4}" >> ${your_stu_number}.com.zone
echo -e "www     IN A       192.168.${your_ip_3}.${your_ip_4}" >> ${your_stu_number}.com.zone
# modify the limit
echo -e "\033[32m [ INFO ] Modify the Limit ... \033[0m"
chown root:named /var/named/*.com.zone
named-checkconf
service named restart
ping www.${your_name}.com -c 4
echo -e ""
ping www.${your_stu_number}.com -c 4
rm -rf /var/run/yum.pid
echo -e "\033[32m [ INFO ] Install the Bind Package Successfully \033[0m"
echo -e "\n\n"





# install apache web server
echo -e "\033[32m [ INFO ] Install Apache Web Server ... \033[0m"
echo -e "\033[32m [ INFO ] Install Apache Web Server ( install gcc ) ... \033[0m"
yum install gcc -y
cd ~
echo -e "\033[32m [ INFO ] Install Apache Web Server ( download httpd package ) ... \033[0m"
wget ftp://172.18.72.252/httpd-2.2.34.tar.gz
sleep 2s
tar -zxvf httpd-2.2.34.tar.gz
cd httpd-*
echo -e "\033[32m [ INFO ] Install Apache Web Server ( configure apache2 ) ... \033[0m"
./configure --prefix=/usr/local/apache2
echo -e "\033[32m [ INFO ] Install Apache Web Server ( make install apache2 ) ... \033[0m"
make && make install
cd /usr/local/apache2/bin/
echo -e "\033[32m [ INFO ] Install Apache Web Server ( start apache2 ) ... \033[0m"
./apachectl start
cd ~
wget http://localhost:80/index.html
cat index.html
sleep 2s
cd ~
ls
# create files and folders
echo -e "\033[32m [ INFO ] Create Files and Folders ... \033[0m"
mkdir /var/wwwroot/
cd /var/wwwroot/
mkdir ${your_name}.com
mkdir ${your_stu_number}.com
ls
echo -e "<h1>This is wwwroot</h1>" >> /var/wwwroot/index.html
echo -e "<?php phpinfo(); ?>" >> /var/wwwroot/info.php
echo -e "<h1>This's ${your_name} site</h1>" >> /var/wwwroot/${your_name}.com/index.html
echo -e "<h1>This's ${your_stu_number} site</h1>" >> /var/wwwroot/${your_stu_number}.com/index.html
echo -e "<?php phpinfo(); ?>" >> /var/wwwroot/${your_name}.com/info.php
echo -e "<?php phpinfo(); ?>" >> /var/wwwroot/${your_stu_number}.com/info.php
cd ~
# configure apache virtual host
echo -e "\033[32m [ INFO ] Configure Apache Virtual Host ... \033[0m"
cd /usr/local/apache2/conf/
sed -i 's/\/usr\/local\/apache2\/htdocs/\/var\/wwwroot\//g' httpd.conf
sed -i '/httpd-vhosts/s/^#//' httpd.conf
cd /usr/local/apache2/conf/extra/
sed -i '27,$d' httpd-vhosts.conf
echo -e "" >> httpd-vhosts.conf
echo -e "" >> httpd-vhosts.conf
echo -e "<VirtualHost *:80>" >> httpd-vhosts.conf
echo -e "    DocumentRoot \"/var/wwwroot/${your_name}.com/\"" >> httpd-vhosts.conf
echo -e "    ServerName www.${your_name}.com" >> httpd-vhosts.conf
echo -e "</VirtualHost>" >> httpd-vhosts.conf
echo -e "" >> httpd-vhosts.conf
echo -e "<VirtualHost *:80>" >> httpd-vhosts.conf
echo -e "    DocumentRoot \"/var/wwwroot/${your_stu_number}.com/\"" >> httpd-vhosts.conf
echo -e "    ServerName www.${your_stu_number}.com" >> httpd-vhosts.conf
echo -e "</VirtualHost>" >> httpd-vhosts.conf
echo -e "" >> httpd-vhosts.conf
echo -e "" >> httpd-vhosts.conf
cd /usr/local/apache2/bin/
./apachectl restart
# test visit webpage
echo -e "\033[32m [ INFO ] Test Visit Website ... \033[0m"
cd ~
mkdir /root/view
cd /root/view/
wget http://www.${your_name}.com/index.html
mv index.html ${your_name}.com.html
wget http://www.${your_stu_number}.com/index.html
mv index.html ${your_stu_number}.com.html
cd ~
echo -e "${your_name}.com.html"
cat /root/view/${your_name}.com.html
cd ~
sleep 2s
echo -e ""
cd ~
echo -e "${your_stu_number}.com.html"
cat /root/view/${your_stu_number}.com.html
cd ~
sleep 2s
echo -e ""
cd ~
rm -rf /var/run/yum.pid
echo -e "\033[32m [ INFO ] Install Apache Web Server Successfully \033[0m"
echo -e "\n\n"





# install MySQL
echo -e "\033[32m [ INFO ] Install MySQL Server ... \033[0m"
yum install mysql-server -y
#mysqladmin -u root -p password 123456
sed -i "7 i\skip-grant-tables" /etc/my.cnf
service mysqld restart
mysql -s -e "USE mysql; UPDATE user SET Password = password('123456') WHERE User='root';"
sed -i '/skip-grant-tables/d' /etc/my.cnf
service mysqld restart
# modify data
echo -e "\033[32m [ INFO ] Insert Data to Database ... \033[0m"
echo -e ""
mysql -uroot -p123456 -s -e "GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION; FLUSH PRIVILEGES;"
mysql -uroot -p123456 -s -e "CREATE DATABASE IF NOT EXISTS project;"
mysql -uroot -p123456 -s -e "SET NAMES 'UTF8'; USE project;
CREATE TABLE IF NOT EXISTS news(
id INT unsigned auto_increment primary key,
title VARCHAR(60) not null,
content TEXT not null,
addtime timestamp default current_timestamp not null
)DEFAULT CHARSET=UTF8;"
mysql -uroot -p123456 -s -e "SET NAMES 'UTF8'; USE project;
INSERT INTO news(title, content)
VALUES('新闻标题1', '新闻内容1'),
('新闻标题2','新闻内容2');"
echo -e "\033[32m [ INFO ] Show Data from Database ... \033[0m"
mysql -uroot -p123456 -e "SET NAMES 'UTF8'; USE project; SELECT * FROM news WHERE 1;"
sleep 2s
rm -rf /var/run/yum.pid
echo -e "\033[32m [ INFO ] Install MySQL Server Successfully \033[0m"
echo -e "\n\n"





# install php
echo -e "\033[32m [ INFO ] Install PHP ... \033[0m"
yum install php php-mysql -y
cp /usr/lib64/httpd/modules/libphp5.so /usr/local/apache2/modules/
echo -e "" >> /usr/local/apache2/conf/httpd.conf
echo -e "Include /etc/httpd/conf.d/php.conf" >> /usr/local/apache2/conf/httpd.conf
echo -e "AddType application/x-httpd-php .php" >> /usr/local/apache2/conf/httpd.conf
echo -e "DirectoryIndex index.php index.html" >> /usr/local/apache2/conf/httpd.conf
echo -e "" >> /usr/local/apache2/conf/httpd.conf
cd /usr/local/apache2/bin/
./apachectl restart
echo -e "<?php
header('Content-Type:text/html; charset=utf-8');
\$con = mysql_pconnect('localhost', 'root', '123456', true);
mysql_query(\"SET NAMES 'UTF8'\", \$con);
mysql_select_db('project');
\$str = 'SELECT * FROM news WHERE 1;';
\$result = mysql_query(\$str, \$con);
\$arr = array();
\$i = 0;
if(\$result) {
    while(\$row = mysql_fetch_array(\$result)) {
        \$arr[\$i] = array(
            'id'        =>      \$row['id'],
            'title'     =>      \$row['title'],
            'content'   =>      \$row['content'],
            'addtime'   =>      \$row['addtime']
        );
        \$i++;
    }
    print_r(\$arr);
} else {
    echo 'Connecting MySQL ERROR.';
}
?>" > /var/wwwroot/${your_stu_number}.com/index.php
cd /usr/local/apache2/bin/
./apachectl restart
cd /root/view/
echo -e ""
wget http://www.${your_stu_number}.com/index.php
mv index.php ${your_stu_number}.com.php
cd ~
echo -e "${your_stu_number}.com.php"
cat /root/view/${your_stu_number}.com.php
sleep 2s
cd ~
rm -rf /var/run/yum.pid
cd /usr/local/apache2/bin/
./apachectl restart
echo -e ""
echo -e "\033[32m [ INFO ] Install PHP Successfully \033[0m"
echo -e "\n\n"





# install vsftpd
echo -e "\033[32m [ INFO ] Install vsftpd ... \033[0m"
yum install vsftpd -y
sed -i "s/anonymous_enable=YES/anonymous_enable=NO/g" /etc/vsftpd/vsftpd.conf
useradd -d /var/wwwroot/${your_name}.com/ -p '$6$sUx1urDQ$KRzEMQ4VvIonSoAQDtN4KJKjU1qcn6VVtYwxHuhSkNk6vxaevjyV9bIUTh77kdxW6CehQNggUSqKO5K2fjPHh/' ${your_name}
useradd -d /var/wwwroot/${your_stu_number}.com/ -p '$6$sUx1urDQ$KRzEMQ4VvIonSoAQDtN4KJKjU1qcn6VVtYwxHuhSkNk6vxaevjyV9bIUTh77kdxW6CehQNggUSqKO5K2fjPHh/' ${your_stu_number}
chown -R ${your_name}:${your_name} /var/wwwroot/${your_name}.com
chown -R ${your_stu_number}:${your_stu_number} /var/wwwroot/${your_stu_number}.com
chmod -R 777 /var/wwwroot/${your_name}.com
chmod -R 777 /var/wwwroot/${your_stu_number}.com
service vsftpd start
cd ~
echo -e "\033[32m [ INFO ] Install vsftpd Successfully \033[0m"
echo -e "\033[32m [ INFO ] All the installation is completed !!! \033[0m"
echo -e "\n\n"





# use ab to test virtual host performance
echo -e ""
echo -e "\033[32m [ INFO ] Use ab to Test Virtual Host Performance ... \033[0m"
echo -e ""
echo -e " [ \033[32mINFO\033[0m ] TEST START ..."
echo -e "\n\n"

# TEST START
echo -e " [ \033[32mINFO\033[0m ] requests=10000 concurrency=100"
echo -e " --------------------------------------- \n"
/usr/local/apache2/bin/ab -n 10000 -c 100 http://www.${your_stu_number}.com/index.php
echo -e "\n\n"

echo -e " [ \033[32mINFO\033[0m ] requests=10000 concurrency=150"
echo -e " --------------------------------------- \n"
/usr/local/apache2/bin/ab -n 10000 -c 150 http://www.${your_stu_number}.com/index.php
echo -e "\n\n"

echo -e " [ \033[32mINFO\033[0m ] requests=10000 concurrency=200"
echo -e " --------------------------------------- \n"
/usr/local/apache2/bin/ab -n 10000 -c 200 http://www.${your_stu_number}.com/index.php
echo -e "\n\n"

echo -e " [ \033[32mINFO\033[0m ] requests=15000 concurrency=100"
echo -e " --------------------------------------- \n"
/usr/local/apache2/bin/ab -n 15000 -c 100 http://www.${your_stu_number}.com/index.php
echo -e "\n\n"

echo -e " [ \033[32mINFO\033[0m ] requests=15000 concurrency=200"
echo -e " --------------------------------------- \n"
/usr/local/apache2/bin/ab -n 15000 -c 200 http://www.${your_stu_number}.com/index.php
# END



# install sl START
clear
mkdir /root/epel/
cd /root/epel/
wget http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
rpm -ivh epel-release*
yum repolist -y
yum install sl -y
clear
sl
cd ~
# install sl END



# Successfully
clear
echo -e ""
time2=`date +%s`
duration=`expr ${time2} - ${time1}`
nowDate=`date`
echo -e " [\033[32m INFO \033[0m] The time is now: \033[31m${nowDate}\033[0m"
echo -e ""
echo -e " [\033[32m INFO \033[0m] The installation takes a total of \033[31m${duration}\033[0m seconds."
echo -e ""
echo -e " [\033[32m INFO \033[0m] Please SSH this IP address:\033[31m 192.168.${your_ip_3}.${your_ip_4} \033[0m"
echo -e ""
echo -e " [\033[32m INFO \033[0m] The Script Has Finished Running, Good Luck !!!"
echo -e ""

猜你喜欢

转载自www.cnblogs.com/tong707/p/9349430.html