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

xiaoxiao2021-02-28  75

前言

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

vim个人编辑

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

#!/bin/bash cat > $1 <<eof #!/bin/bash # ----------------+---------------------------------------+ # * Author : YGL # * Email : 919683527@qq.com # * 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."

结束了

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

转载请注明原文地址: https://www.6miu.com/read-54721.html

最新回复(0)