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

来源:互联网 发布:宁德catl知乎 编辑:程序博客网 时间:2024/06/05 11:30

前言

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

vim个人编辑

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

#!/bin/bashcat > $1 <<eof#!/bin/bash# ----------------+---------------------------------------+# * Author        : YGL                                   # * Email         : 919683527@qq.com                     # * Create time   : `date +%F`                           # * Last modified :                                        # * Filename      : `basename $1`                         # * Description   :                                       # * version       :  0.9                                  # ----------------+---------------------------------------+eofvim + $1chmod 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 -Fiptables -Xsed -i 's/SELINUX=enforcing/SELINUX=permissive/g' /etc/selinux/config


光盘挂载及yum源设置

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

#####挂载光盘与设置yum源#####mkdir /media/cdrommount /dev/sr0 /media/cdrommkdir /etc/yum.repos.d/bakmv /etc/yum.repos.d/*.repo /etc/yum.repos.d/bakif  [ $version -eq 6 ];then    cat > /etc/yum.repos.d/base.repo << EOF[base]name=CentOS-6baseurl=file///media/cdrom/gpgcheck=0[epel]name=epel-6baseurl=http://172.18.0.1/fedora-epel/6/x86_64gpgcheck=0EOFfiif  [ $version -eq 7 ];then    cat > /etc/yum.repos.d/base.repo <<EOF[base]name=CentOS-7baseurl=file///media/cdrom/gpgcheck=0[epel]name=epel-7baseurl=http://172.18.0.1/fedora-epel/7/x86_64gpgcheck=0EOFfiyum clean all &> /dev/null && yum makecache &> /dev/nullecho "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.bz2httpdname24=httpd-2.4.25.tar.bz2if  [ $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    fiif  [ $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    fiyum -y groupinstall "Development Tools" &> /dev/nullyum -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.shif  [ $version -eq 6 ];then    cd httpd-2.2.25    fiif  [ $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 startecho "apachetcl be start"


别名和提示符

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

#####配置别名和提示符#####cat >> /root/.bashrc << EOFalias 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\] "EOFecho "alias and command prompt be ready"


vim个人习惯设置

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

#####vim个人习惯设置#####cat >> /root/.vimrc << EOFset tabstop=4set nuset aiset hlsearchset syntax onEOFecho "vimrc be ready"


login界面前后信息

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

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

结束了

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

原创粉丝点击