初始化脚本脚本及自动编译安装apache

前言

每当装了新的Centos总是有着这样或那样的不习惯,
写一个初始化脚本吧,把你的个人操作习惯,
常用软件都写进去,当新装一个系统后,
只用运行一下初始化脚本,
就可以把你的个人操作习惯
常用软件都按你的要求自动安装好了。
岂不是特别开心…

vim个人编辑

vim编辑器写一个脚本,以后用这个脚本写你想要写的东西,可以自动生成AuthorEmail
Create timeFilename等等基本信息,这样以后写脚本可以节省大量的时间。
代码块如下:

#!/bin/bash


cat > $1 <<eof
#!/bin/bash
# ----------------+---------------------------------------+
# * Author        : YGL                                   
# * Email         : [email protected]                     
# * Create time   : `date +%F`                           
# * Last modified :                                        
# * Filename      : `basename $1`                         
# * Description   :                                       
# * version       :  0.9                                  
# ----------------+---------------------------------------+

eof
vim + $1
chmod a+x $1

初始化脚本


判断系统板本

在初始化脚本中写在最前面,最先执行,判断系统是CentOS6还是CentOS7,并且对version赋值,
在脚本后面会继续用到$version这个变量。
代码块如下:

#####判断系统版本#####
version=`grep -o " [0-9]" /etc/redhat-release|cut -d" " -f2`
if [ "$version" -eq 7 ];then
        echo    "system version is CentOS 7"
else [ "$version" -eq 6 ];
        echo    "system version is CentOS 6"
fi


iptable设置

因为接下来会开启服务,所以为了不影响服务的运行,先对iptable进行设置
同时对selinux的配置文件进行修改,不然用户不能访问
代码块如下:

#####iptables设置#####
iptables -F
iptables -X
sed -i 's/SELINUX=enforcing/SELINUX=permissive/g' /etc/selinux/config


光盘挂载及yum源设置

首先挂载光盘,按照国际惯例挂在media下的cdrom下,同时把一系列目录创建好,
且把其他系统本来自带的yum源配置文件放进刚创建的bak备份目录里面,因为我这边
刚好ftp服务器上面有着齐全的rpm包,我就直接挂在ftp服务器上了,各位可以直接
挂载在阿里云、163、等这些大型服务器上,亦或是只挂载光盘,再把光盘当yum源。
代码块如下:

#####挂载光盘与设置yum源#####

mkdir /media/cdrom
mount /dev/sr0 /media/cdrom
mkdir /etc/yum.repos.d/bak
mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/bak
if  [ $version -eq 6 ];then
    cat > /etc/yum.repos.d/base.repo << EOF
[base]
name=CentOS-6
baseurl=file///media/cdrom/
gpgcheck=0

[epel]
name=epel-6
baseurl=http://172.18.0.1/fedora-epel/6/x86_64
gpgcheck=0
EOF
fi

if  [ $version -eq 7 ];then
    cat > /etc/yum.repos.d/base.repo <<EOF
[base]
name=CentOS-7
baseurl=file///media/cdrom/
gpgcheck=0

[epel]
name=epel-7
baseurl=http://172.18.0.1/fedora-epel/7/x86_64
gpgcheck=0
EOF
fi
yum clean all &> /dev/null && yum makecache &> /dev/null
echo "CDROM mount and yum source be ready"


编译安装httpd

首先脚本会判断当前机器上是否有httpd源代码的压缩包,如果没有就会去之前设置好的yum
上前去下载。按照CentOS的版本,下载对应版本的httpd的压缩包,并且解压。接下来从yum
上安装Development Tools工具,按照接下来htppd安装你所选用的服务模块所依赖的包,这里
先全部从yum源上提前安装好,创建apache系统组和用户,再把环境变量写入全局配置文件中,
接下来就是编译安装了。
代码块如下:

#####httpd编译安装#####
httpdname22=httpd-2.2.25.tar.bz2
httpdname24=httpd-2.4.25.tar.bz2

if  [ $version -eq 6 ];then
    { [ -f $httpdname22 ] || wget ftp://172.18.0.1/pub/Sources/sources/httpd/httpd-2.2.25.tar.bz2 &> /dev/null; } && tar xf $httpdname22 &> /dev/null
    fi
if  [ $version -eq 7 ];then
{ [ -f $httpdname24 ] || wget ftp://172.18.0.1/pub/Sources/sources/httpd/httpd-2.4.25.tar.bz2 &> /dev/null; } && tar xf $httpdname24 &> /dev/null
    fi
yum -y groupinstall "Development Tools" &> /dev/null
yum -y install apr apr-util pcre-devel openssl-devel openssl &> /dev/null && echo "The dependency package is already installed"
id apche &> /dev/null || { groupadd -r apache &> /dev/null && useradd -g apache -r apache &> /dev/null; }
echo 'export PATH=/usr/local/apache/bin:$PATH' > /etc/profile.d/httpd2.sh
if  [ $version -eq 6 ];then
    cd httpd-2.2.25
    fi
if  [ $version -eq 7 ];then
    cd httpd-2.4.25
    fi
    ./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd22 --enable-so --enable-ssl &> /dev/null || { echo "configure error" && exit 66; }
    { make &> /dev/null && make install &> /dev/null; } || { echo "make error" && exit 67; }
echo "The httpd is already installed"
apachetcl start
echo "apachetcl be start"


别名和提示符

狂拽炫酷的提示符颜色。早已习惯的别名,好看且实用。
代码块如下:

#####配置别名和提示符#####

cat >> /root/.bashrc << EOF
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
alias cdnet='cd /etc/sysconfig/network-scripts/'
alias IPOUT='ifconfig | egrep -o "\<([[:digit:]]{1,3}\.){3}[[:digit:]]{1,3}\>" | head -1'
alias p='poweroff'
alias cl='clear'
alias pkl='pkill -kill -t $1':
PS1="\[\e[1;31m\][\[\e[0m\] \[\e[1;33m\]\u@\h\[\e[0m\] \[\e[1;36m\]\w\[\e[0m\]\[\e[1;31m\] ]\[\e[0m\]\[\e[1;32m\]\\$\[\e[0m\] "
EOF
echo "alias and command prompt be ready"


vim个人习惯设置

单纯的个人vim使用习惯。
代码块如下:

#####vim个人习惯设置#####
cat >> /root/.vimrc << EOF
set tabstop=4
set nu
set ai
set hlsearch
set syntax on
EOF
echo "vimrc be ready"


login界面前后信息

login界面的前后两句话都做了颜色处理,在vim里面^[是用专门的颜色提示按出来的。
代码块如下:

#####login界面前后信息#####
echo "^[[31mI believe I have the talent to make it ^[[0m" >> /etc/motd
echo "^[[36mIf you don't work hard, you'll be eliminated^[[0m" >> /etc/issue
echo "reset is over,have a good day."

结束了

初始化脚本,每个人都有自己不同的习惯,需求,初始化脚本,随着时间的推移,会变得越来越长,因为你会的也越来越多。
感谢各位大神指出小白的不足之处….

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章