初始化腳本腳本及自動編譯安裝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."

結束了

初始化腳本,每個人都有自己不同的習慣,需求,初始化腳本,隨着時間的推移,會變得越來越長,因爲你會的也越來越多。
感謝各位大神指出小白的不足之處….

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