文章目录

  • 前言
  • 一、内容
  • 二、环境搭建
    • 2.1 本地yum仓库
    • 2.2 编译安装
    • 2.3 磁盘添加/分区/逻辑卷建立/逻辑卷扩容
  • 三、服务器搭建
    • 3.1 http网页服务
    • 3.2 ftp传输服务
    • 3.3 nfs传输服务
    • 3.4 dhcp服务器
    • 3.5 dns正向解析
      • 3.5.1 操作
      • 3.5.2 脚本
  • 四、日志分离
    • 4.1 ssh日志分离
  • 五、自动化服务
    • 5.1 pxe自动化装机(最小化安装)
  • 六、结语

前言

本博客内容仅为记录博主思路,仅供参考,一切以自己实践结果为准。


一、内容

各种服务搭建过程

二、环境搭建

2.1 本地yum仓库

cd /etc/yum.repos.d/#移动到yum仓库目录
mkdir ./wly
mv *.repo wly/#创建文件夹将yum网络源仓库移动到里面
vim bendi.repo#创建本地源仓库配置文件并写入下方内容
#####配置内容#####
[bendi]
name=centos7
baseurl=file:///mnt#指定仓库为本地文件,路径为/mnt目录
gpgcheck=0
#####配置内容#####mount /dev/sr0 /mnt#将光盘挂载到/mnt目录下,为本地仓库提供文件
yum clean all && yum makecache#清除yum缓存并重新加载
yum install tree -y#安装tree命令进行测试仓库是否搭建成功

2.2 编译安装

#准备一个软件压缩包,可从官网下载,也可利用远程传输等获取,此处准备http服务的压缩包tar xf httpd-2.4.29.tar.bz2#解压安装包到目录
cd httpd-2.4.29/#移动到加压后的目录中
mkdir /usr/local/apache#创建软件安装目录
./configure --prefix=/usr/local/apache#将软件安装到指定目录中(此时可能会遇到问题,解决方法如下)
yum install apr* -y
yum install pcre* -y#安装在软件安装时,一些所必需要的配置(若有更多,则依次安装即可)
./configure --prefix=/usr/local/apache#解决问题后再次启动安装,此时会安装成功
make#进行源码编译
make install#将编译后的二进制刻录至硬盘,达到永久安装的效果

2.3 磁盘添加/分区/逻辑卷建立/逻辑卷扩容

#(虚拟机)物理层面上添加两块20G磁盘echo '- - -'>/sys/class/scsi_host/host0/scan
echo '- - -'>/sys/class/scsi_host/host1/scan
echo '- - -'>/sys/class/scsi_host/host2/scan#刷新物理磁盘,加载添加的两块磁盘
lsblk#查看磁盘概况
fdisk /sdb#对sdb进行分区(此处只分1个区,交互界面进行如下操作)#n(新建分区)#因为只建立一个分区,所以一路回车到最后(中途可选择每个分区具体多大)#t(选择分区类型)#8e(选择分区类型为LVM类型:可变为物理卷)#w保存退出
fdisk /dev/sdc#对sdc进行分区(步骤同上,只不过此处建立两个分区)#在选择分区大小时,输入10G回车,每个分区都分配10G
pvcreate /dev/sdb1 /dev/sdc1 /dev/sdc2#将三个分区否变为物理卷
vgcreate group /dev/sdb1 /dev/sdc1#将/sdb1和/sdc1两个物理卷合并为一个group卷组
lvcreate -n han -L 15G group#从group卷组中划分15G大小变为逻辑卷han
mkfs.xfs /dev/group/han#为逻辑卷安装xfs文件系统(必须拥有文件系统,磁盘才能正常使用)
mount /dev/group/han /mnt#将逻辑卷挂载到/mnt使用
df#查看挂载情况,确认逻辑卷创建成功,可以正常使用
vgextend group /dev/sdc2#可继续向group卷组中添加物理卷,为卷组扩容
lvextend -L +20G /dev/group/han#若后期逻辑卷大小不够,可继续从卷组中划分大小,对逻辑卷进行扩容
xfs_growfs /mnt#刷新挂载点,重新加载磁盘大小
df#查看挂载点,确认扩容成功
lsblk#查看整体物理磁盘使用情况

三、服务器搭建

3.1 http网页服务

yum install httpd -y#安装http网页服务
systemctl stop firewalld#关闭防火墙(centos7的防火墙)
setenforce 0#关闭selinux(类似防火墙)
systemctl start httpd#启动http网页服务(网页根目录:/var/www/html/)

3.2 ftp传输服务

yum install vsftpd -y#安装ftp服务端软件
systemctl stop firewalld#关闭防火墙(centos7的防火墙)
setenforce 0#关闭selinux(类似防火墙)
systemctl start vsftpd#启动ftp网页服务(分享根目录:/var/ftp/)#此时客户端只需要安装ftp软件,即可访问服务端分享目录

3.3 nfs传输服务

yum install nfs -y#安装nfs服务端软件
vim /etc/exports#编辑分享目录配置文件(第一列:服务端分享目录 第二列:能访问的主机IP)
systemctl stop firewalld#关闭防火墙(centos7的防火墙)
setenforce 0#关闭selinux(类似防火墙)
systemctl start nfs#启动nfs网页服务(分享根目录:由/etc/exports配置文件决定)

3.4 dhcp服务器

yum install dhcp -y#安装dhcp服务软件vim /etc/sysconfig/network-scripts/ifcfg-ens33BOOTPROTO=static#第4行:ip地址获取方式设置为静态获取IPADDR=192.168.100.10#设置虚拟机的VIM1的子网段(虚拟机查看VIM1:编辑-虚拟网络编辑器:将VIM1的使用本地dhcp服务取消)GATEWAY=192.168.100.1#设置为VIM1的IP地址为默认网关vim /etc/dhcp/dhcpd.conf#修改dhcp配置文件:5r /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example#末行模式,在第5行后方插入模板文件subnet 192.168.100.0 netmask 255.255.255.0 {#第37行,设置分配子网的网段以及掩码range 192.168.100.100 192.168.100.120;#第38行,设置子网IP的具体范围option routers 192.168.100.1;#第39行,设置子网IP的默认网关为VIM1的IP}systemctl stop firewalld#关闭防火墙(centos7的防火墙)
setenforce 0#关闭selinux(类似防火墙)
systemctl start dhcpd#启动dhcp服务器#验证:新建一个仅主机VIM1模式的windos虚拟机,启动dhcp自动分配模式,查看IP地址是否自动分配

3.5 dns正向解析

3.5.1 操作

yum install bind bind-utils.x86_64 -y#安装named软件(dns服务所需软件)
vim /etc/named.conf#配置named主配置文件listen-on port 53 { any; };    #13行修改为监听所有端口allow-query     { any; };      #21行修改为监听说有主机
vim /etc/named.rfc1912.zones#配置named数据库文件指向,添加如下内容,位置随意zone "han.com" IN {#定义服务器域名type master;#定义服务器为主服务器file "han.com.zone";#定义服务器数据库文件指向};cp -p /var/named/named.localhost /var/named/han.com.zone#复制数据库模板(-p保留所有权限,防止新文件权限不足)
vim /var/named/han.com.zone#修改数据库内容,配置如下@   IN SOA  master rname.invalid. (#第2行,修改@为master,将域名定义为masterNS  master#第8行,修改@为master,再次重申域名为mastermaster A 192.168.13.20#定义:当访问主机名为master的时候,转译为对应的IP地址han A 192.168.13.20#定义:当访问主机名为han的时候,转译为对应的IP地址www CNAME han#定义:当访问主机名为www的时候,等同于访问主机名为hanvim /etc/sysconfig/network-scripts/ifcfg-ens33#修改网卡配置文件,将DNS1指向自己,通过自己解析域名
systemctl restart network#重启网络服务
systemctl stop firewalld#关闭防火墙(centos7的防火墙)
setenforce 0#关闭selinux(类似防火墙)
systemctl start named#启动named软件(dns服务)
host www.han.com#测试dns正向解析服务是否搭建成功

3.5.2 脚本

#!/bin/bashyum install bind bind-utils.x86_64 -y
#安装服务sed -i 's/{ 127.0.0.1; }/{ any; }/' /etc/named.conf
sed -i 's/{ localhost; }/{ any; }/' /etc/named.conf
#修改dns服务配置文件(监听所有端口、所有主机)sed -i '13 s/"localhost.localdomain"/"han.com"/' /etc/named.rfc1912.zones
sed -i '15 s/"named.localhost"/"han.com.zone"/' /etc/named.rfc1912.zones
sed -i '16 s/all.*//' /etc/named.rfc1912.zones
#修改dns服务端配置(主机名、主机数据库文件指向)cp /var/named/named.localhost /var/named/han.com.zone
cd /var/named
chmod 640 han.com.zone
chgrp named han.com.zone
#复制数据库文件、赋予文件权限sed -i '2 s/@/master/2' /var/named/han.com.zone
sed -i '8 s/@/master/' /var/named/han.com.zone
sed -i '9 s/.*/master A 192.168.13.20/' /var/named/han.com.zone
sed -i '10 s/.*/han A 192.168.13.20/' /var/named/han.com.zone
sed -i '11 s/.*/wang CNAME han/' /var/named/han.com.zone
#修改数据库配置,将域名解析为IP地址sed -i 's/^DNS.*/DNS1\="192.168.13.20"/' /etc/sysconfig/network-scripts/ifcfg-ens33
#修改网关地址为本机systemctl stop firewalld
setenforce 0
systemctl restart network.service
systemctl start named
#关闭防火墙、重启网卡、启动dns服务host han.han.come
#测试dns服务是否搭建成功

四、日志分离

4.1 ssh日志分离

vim /etc/ssh/sshd_configSyslogFacility LOCAL6#第32行:将ssh服务端日志所使用的服务由AUTHPRIV修改为自定义的LOCAL6
vim /etc/rsyslog.conflocal6.*                                                /var/log/ssh.log#第74行:自定义LOCAL6日志服务的存储级别与存储位置

五、自动化服务

5.1 pxe自动化装机(最小化安装)

#!/bin/bash
systemctl disable --now firewalld
setenforce 0
sed -i '7 s/enforcing/disable/' /etc/sysconfig/selinuxyum install -y tftp-server.x86_64 vsftpd dhcp syslinux\cp -f /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
IP=`ifconfig |grep -m 1 netmask |awk '{print $2}'`
subnet=`route | grep ens33 |awk 'NR==2{print $1}'`
netmask=`route | grep ens33 |awk 'NR==2{print $3}'`sed -i "27 s/.*/subnet ${subnet} netmask ${netmask} {\n  range ${subnet%?}100 ${subnet%?}200;\n  option routers ${IP};\n  next-server ${IP};\n  filename \"pxelinux.0\";/" /etc/dhcp/dhcpd.confsed -i '14 s/yes/no/' /etc/xinetd.d/tftpmkdir -p /var/ftp/centos7
mount /dev/sr0 /var/ftp/centos7/
cd /var/ftp//centos7/isolinux/
cp initrd.img vmlinuz /var/lib/tftpboot/
#四大文件的前两个文件
mkdir -p /var/lib/tftpboot/pxelinux.cfg
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot
#四大文件的第三个文件
echo "default auto
prompt 0
label autokernel vmlinuzappend initrd=initrd.img method=ftp://${IP}/centos7 ks=ftp://${IP}/ks.cfg" >/var/lib/tftpboot/pxelinux.cfg/default
#四大文件第四个文件
systemctl start dhcpd
systemctl start tftp
systemctl start vsftpd#####准备全自动化安装ks.cfg文件#####
yum install -y system-config-kickstart.noarch
echo "#platform=x86, AMD64, 或 Intel EM64T
#version=DEVEL
# Install OS instead of upgrade
install
# Keyboard layouts
keyboard 'us'
# Root password
rootpw --plaintext abc123
# Use network installation
url --url="ftp://${IP}/centos7"
# System language
lang zh_CN
# Firewall configuration
firewall --disabled
# System authorization information
auth  --useshadow  --passalgo=sha512
# Use graphical install
graphical
# Run the Setup Agent on first boot
firstboot --enable
# SELinux configuration
selinux --disabled# Network information
network  --bootproto=dhcp --device=ens33
# Reboot after installation
reboot
# System timezone
timezone Africa/Abidjan
# System bootloader configuration
bootloader --location=mbr
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --all --initlabel
# Disk partitioning information
part /boot --fstype="xfs" --size=1024
part swap --fstype="swap" --size=4096
part / --fstype="xfs" --grow --size=1%packages
@^gnome-desktop-environment
@base
@core
@desktop-debugging
@development
@dial-up
@directory-client
@fonts
@gnome-desktop
@guest-agents
@guest-desktop-agents
@input-methods
@internet-browser
@java-platform
@multimedia
@network-file-system-client
@networkmanager-submodules
@print-client
@x11
chrony
kexec-tools%end%addon com_redhat_kdump --enable --reserve-mb='auto'%end%anaconda
pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty
pwpolicy user --minlen=6 --minquality=1 --notstrict --nochanges --emptyok
pwpolicy luks --minlen=6 --minquality=1 --notstrict --nochanges --notempty
%end
" > /var/ftp/ks.cfg

六、结语

光盘挂载:

  • 注意虚拟机的光驱是否已勾选已连接。

磁盘分区:

  • 磁盘分区必须安装文件系统,否则磁盘无法使用。

dhcp服务:

  • 安装软件要在nat模式下安装,随后切换为仅主机模式,注意服务器和客户端都要为仅主机模式。
  • 注意虚拟机的虚拟网络编辑器中的使用本地dhcp服务器是否取消。

dns服务:

  • 若复制数据库配置文件时候未复制权限,会造成权限不足,可以启动服务,但无法正常运行。

【linux/shell】Centos7环境搭建、服务器搭建(脚本)相关推荐

  1. linux shell 嵌套expect 与服务器交互脚本

    2019独角兽企业重金招聘Python工程师标准>>> 我们与服务器进行交互是该用expect 脚本的,用 "/usr/bin/expect <<-EOF&qu ...

  2. linux脚本嵌套,linux shell 嵌套expect 与服务器交互脚本

    我们与服务器进行交互是该用expect 脚本的,用 "/usr/bin/expect < 用spawn 来开启一个新的进程 expect 来接受命令,send来发送交互命令 结束用 E ...

  3. linux环境下企业基于域名访问的web于电子邮件服务器 论文,基于Linux平台的企业邮件服务器搭建...

    我失骄杨君失柳,杨柳轻飏直上重霄九.得道多助,失道寡助.身后有余忘缩手,眼前无路想回头.鸟宿池边树,僧敲月下门.想当年,金戈铁马,气吞万里如虎. 本文由418133804贡献 pdf文档可能在WAP端 ...

  4. Linux下简单的邮件服务器搭建

    Linux下简单的邮件服务器搭建 电子邮件服务简介 电子邮件是因特网上最为流行的应用之一,而邮件服务器是一种用来负责电子邮件收发管理的设备,它构成了电子邮件系统的核心. 电子邮件系统的组成  MUA( ...

  5. 基于CentOS7.2的服务器搭建教程《一》

    基于CentOS7.2的服务器搭建教程<一> 搭建前准备 安装开始 配置过程 总结 搭建前准备 系统下载 本次搭建采用的是CentOS7.2,下面是下载链接: 官网:https://www ...

  6. Linux centos7 下 svn 服务器搭建

    摘自:https://www.cnblogs.com/mymelon/p/5483215.html 鉴于在搭建时,参考网上很多资料,网上资料在有用的同时,也坑了很多人 本文的目的,也就是想让后继之人在 ...

  7. 流放者柯南自建服务器 linux,《流放者柯南》服务器怎么搭建 服务器搭建图文教程...

    导 读 <流放者柯南>官方的服务器国服玩延迟非常高,所以我们要自己搭建个,这次就为大家带来了流放者柯南服务器搭建图文教程,教给大家怎么架设个人服务器,还不会的朋友可以学习下,一起来看吧. ...

  8. curl批量调用linux,shell的简单批量curl接口脚本

    shell脚本可以说作用非常大,在服务器领域,用shell操作事务可比手动点击要方便快捷得多了.虽然只是文字界面,但是其强大的处理功能,会让各种操作超乎想象.而且,也可以将这些习惯移植到日常的工作当中 ...

  9. 【Linux】Shell三类变量的作用域——linux shell “永久环境变量”、“临时环境变量”和普通变量之完全解读...

    2015-05-08 00:15 3896人阅读 评论(10) 收藏 举报 本文章已收录于: 分类: 软件开发进阶(419) 作者同类文章X Unix/Linux杂项(118) 作者同类文章X 版权声 ...

  10. apache java 搭建服务器搭建_Linux下Java Web服务器搭建(Apache2.2+2Tomcat6)

    Linux下Java web服务器搭建(JDK1.6.MySQL5.1.Apache2.2+2Tomcat6+svn1.6) 四.apache与tomcat整合 软件准备: 用于apache与tomc ...

最新文章

  1. 智能驾驶L2的黄金时代,打磨地图是关键
  2. small用于不连续数组_用Small、If、Index、Indirect、Row、Char、Match实现一对多查找...
  3. 利用CSS让元素垂直居中的两种实现方法
  4. 计算机网络(一)计算机网络体系
  5. C++ primer 第11章 关联容器
  6. (41)时钟组Clock Group介绍
  7. 标准化设计解决方案 - 标记语言和样式手册 表单
  8. 【转载】MongoDB集群和实战详解
  9. 怎么安装paraview_ParaViewWeb基于本地服务的环境部署
  10. 昆仑通态触摸屏保存历史曲线_昆仑通态TPC7062存盘时间计算
  11. AJax 遍历json对象数组 和Jstl遍历以及json解决日期转换
  12. 大数据/云计算 行业报告
  13. python实现飞机大战源代码+素材+项目分析
  14. 从零构建知识图谱(技术、方法与案例)-第一章:知识图谱概览
  15. Java Annotation自定义注解详解
  16. 手把手第一篇:写出第一行 Hello World
  17. 生活大爆炸之光速可变,光速可超
  18. [Python] python 破解Excel密码(还原工作表密码)
  19. livp图片批量转jpg转换器无损苹果heic手机照片格式软件mac
  20. [Android Pro] 将你的安卓手机屏幕共享到PC或Mac上

热门文章

  1. JS自写带描述标签云
  2. [答疑]举报卖家、举报买家还是举报
  3. 解析华为MAS EIE系统硬件与软件结构
  4. 表格对决CSS--一场生死之战 (转自“清清月儿”)
  5. linux文件权限 705,Linux 文件权限 - osc_86eb7mly的个人空间 - OSCHINA - 中文开源技术交流社区...
  6. 微信开放平台开发(一)
  7. 手机号核验复开是什么意思?可能你涉及到这些行为了!
  8. java游戏回转贝贝龙2下载,崩坏3:暴雨将至最后的剧情,为何贝贝龙拼死保护琪亚娜...
  9. 电脑网易云音乐,网易云音乐的话题区到底有多魔性?
  10. 计算机机房管理具体工作和职责,机房职责_机房岗位职责_机房工作职责