练习:

1、yum配置使用及yum仓库创建

2、编译安装apche2.2,启动服务显示It Works!



练习:

1、yum配置使用及yum仓库创建

1、准备程序包和安装光盘(密码为root)
链接:http://pan.baidu.com/s/1jIKJuHg 密码:ol52

光盘镜像可以自己下载,准备的光盘是自动安装,32bit/64bitCPU均可运行
光盘下载网址: 
mirrors.aliyun.com mirrors.sohu.com mirrors.163.com

进入网址后选择centos
进入不同的版本
选择isos即可下载:选择 .iso结尾的方为可下载的光盘
LIVECD 表示启动光盘即可用或可安装
DVD1 提供基本安装包,
DVD2 提供额外安装包,通过DVD1安装后,额外安装包可通过网络安装。
2、安装虚拟机、Xshell、xftp、xmanager 5
1:安装虚拟机
2:安装Xshell:https://jingyan.baidu.com/article/1612d500af1c97e20e1eee25.html
3:安装Xftp: https://jingyan.baidu.com/article/ac6a9a5e059e602b653eacbb.html
4:安装xmanager 5: https://jingyan.baidu.com/article/6766299785628254d51b84ef.html
3、配置虚拟机
4、安装系统
5、连接ssh
6、挂载光盘
7、配置yum源
8、测试建立仓库

2、编译安装apche2.2,启动服务显示It Works!

1、获取源代码: http://httpd.apache.org/download.cgi
2、开发环境
3、编译安装
4、启动服务



配置虚拟机:

1)点 “创建新的虚拟机”

yum使用之小练习_linux

2)点 “自定义安装”并点 “下一步”

yum使用之小练习_linux_02

3)选择硬件兼容性,“不同版本兼容不同的硬件,可根据自己需要的选择” 并点 “下一步”

yum使用之小练习_linux_03

4)选择 "稍后安装操作系统“ 并点 ”下一步“

yum使用之小练习_linux_04

5、可选择任意平台,最好的选择:选将要安装的平台,vmware在创建后会提供这里所选的平台的工具包,更好的优化虚拟机、发挥硬件性能。选择 ”下一步“。如果支持vt-x可以选择centos x64

yum使用之小练习_linux_05

6、选择位置”如果用机械硬盘的朋友此处可以不看“ 用固态硬盘.. 硬盘由一个马达带动几个盘片同轴同角速度旋转,每个盘片都有2个盘面,每个面都能读写。每个面都有一个磁头距离盘片不到2mm,所以在硬盘运行时,不要抖动硬盘,很可能划花硬盘。磁头在盘面上左右摇摆,寻道。每个盘面在虚拟的视角上划分了多个磁道,靠外磁道比靠内磁道周长长,每个磁道有相同的扇区,大小且相同512k。如果扇区大小一样,周长不一样,数量肯定不一样,但是为了我们便于理解,虚拟划分出相同大小的扇区。uefi格式是4K大小。由于是同轴同角速度旋转,外周长长,单位时间内,磁头寻址的越多,读取和写入数据量就越大,Window系统默认从C开始编号,由于A和B在早期作软盘盘符,编号对应靠外的磁道速度快。而操作系统默认分区由外向内按柱面划分,不同盘片相同编号的磁道整体上看成一个柱面。分区时,编号由小到大。靠外的分区编号小,靠内的分区编号大。当然速度并非是编号小就大,而是靠外的对应的编号所在的分区速度才快。

所以速度 默认 C > D > E > ....

程序放在D上,目录可以自行指定,并选择下一步

yum使用之小练习_Linux_06

7、处理器数量小于物理核心数。如果CPU支持 VT-X 指令集,也可以大小物理核心数,并下一步

yum使用之小练习_linux_07

8、按自己内存大小给。默认给1G,最小可以给256MB,如果要运行图形桌面最少也得512MB,安装系统时,需要运行图形界面。推荐1G,并 下一步

yum使用之小练习_Linux_08

9、选择 ”使用桥接网络“,并 "下一步",桥接相当于把主机网卡虚拟成一个交换机,每个虚拟机都有一个与主机处于同一个网段的独立的IP地址。

"yum使用之小练习_Linux_09

10、推荐即可 , ”下一步“

yum使用之小练习_linux_10

11、CentOS 5识别IDE设备为hd开头,CentOS后没有区别,推荐即可,并”下一步“

yum使用之小练习_Linux_11

12、选择”创建新虚拟磁盘“,并”下一步“。如果要使用U盘需要选择”使用物理磁盘“

yum使用之小练习_Linux_12

13、分配大小给120G,并下一步。 此处所给的大小可以是任意大小。既然是任意大小为什么不对自己大方一点呢?120G是制作的光盘需要这个空间大小才能安装,并非实际大小,实际用多少占据多少,自动增长。立即分配所有磁盘空间,表示现在马上从物理磁盘中分配最大磁盘大小出来。

将虚拟秀存储为单个文件,将虚拟磁盘拆分成多个文件:FAT32系统最大单个文件大小40G,如果大于40G就只能拆分,NTFS最大单个无限制。这两个跟Window有关。如果你将存储的位置在NTFS文件系统上可以选择第一个。

yum使用之小练习_linux_13

14、选择存储的位置:虚拟磁盘是以镜像方式存储,便于管理。直接 点下一步

yum使用之小练习_linux_14

15、下一步

yum使用之小练习_Linux_15

16、配置文件:为磁盘镜像的位置。编辑虚拟机设置

yum使用之小练习_Linux_16

17、确认磁盘大小,选择DVD, 

右侧:使用ISO镜像文件,浏览,选择刚刚下载的boot.iso文件,或者自己下载的iso文件。

而后选择声卡 --> 移除 ,打印机 --> 移除。 

yum使用之小练习_linux_17

yum使用之小练习_linux_18

yum使用之小练习_Linux_19


安装系统

1、回到主界面后,点击确认 --> 开启此虚拟机

yum使用之小练习_linux_20

2、注意:鼠标点进虚拟机方可操作,

1、安装120G大多数安装包,用Install Standard。(866个程序包)如果你什么都不操作默认安装此选项

2、安装120G极少安装包,用micro (388个程序包)

3、安装12G极少安装包,用small (388个程序包)

此处大小,与自己划分磁盘相关。基于逻辑卷分区,可以动态扩展容量,选择后两者,安装速度肯定比较快。

yum使用之小练习_Linux_21


yum使用之小练习_linux_22

3、安装完成后,自动进入虚拟机界面

yum使用之小练习_linux_23

4、登陆终端在Password后输入root,不会有显示任何字符,输完回车即可。密码为 root

yum使用之小练习_Linux_24

5、查看虚拟机的ip地址,此处为192.168.1.102

yum使用之小练习_linux_25



连接xshell远程操作虚拟机

1、运行xshell 程序

yum使用之小练习_Linux_26

点击关闭

yum使用之小练习_linux_27

2、在虚拟机中开启ssh服务

yum使用之小练习_linux_28

3、在Xshell中连接虚拟机的ssh服务 

格式为  

[c:\~]$ ssh root@虚拟机中的IP    输入完毕回国

yum使用之小练习_linux_29

点 保存并接受

yum使用之小练习_Linux_30

输入密码: root 同虚拟机, 并点确定

yum使用之小练习_Linux_31

yum使用之小练习_linux_32

4、关闭DNS解析,使连接ssh速度加快

在终端中执行

[root@localhost ~]# echo "UseDNS no" >> /etc/ssh/sshd_config
[root@localhost ~]# service sshd reload


配置yum源,(yum命令和仓库配置文件)

1、查看仓库信息

yum使用之小练习_linux_33

2、配置EPEL仓库

1、进入配置目录
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# ls
CentOS-Base.repo       CentOS-fasttrack.repo  CentOS-Vault.repo
CentOS-Debuginfo.repo  CentOS-Media.repo

2、配置仓库
[root@localhost yum.repos.d]# vim EPEL.repo
[EPEL]
name=Fedora EPEL
failovermethod=priority
baseurl=http://mirrors.sohu.com/fedora-epel/$releasever/$basearch
        http://mirrors.aliyun.com/epel/$releasever/$basearch
enabled=1
gpgcheck=1
gpgkey=
3、读取仓库信息
[root@localhost yum.repos.d]# yum repolist
Loaded plugins: fastestmirror, security
Determining fastest mirrors
 * EPEL: mirrors.sohu.com
 * base: mirrors.tuna.tsinghua.edu.cn
 * extras: mirrors.btte.net
 * updates: mirrors.btte.net
EPEL                                                             | 4.3 kB     00:00     
EPEL/primary_db                                                  | 5.0 MB     00:08     
repo id(仓库ID)                    repo name(仓库名字)                            status
EPEL                               Fedora EPEL                                    10,062
base                               CentOS-6 - Base                                 5,079
extras                             CentOS-6 - Extras                                  20
updates                            CentOS-6 - Updates                                387
repolist: 15,548


手动创建仓库

1、只下载不安装
[root@localhost yum.repos.d]# yum --downloadonly --downloaddir=/tmp/test install sh ksh csh bash zsh

2、查看下载的内容
[root@localhost yum.repos.d]# ls /tmp/test
ksh-20120801-35.el6_9.i686.rpm  zsh-4.3.11-4.el6.centos.2.i686.rpm

3、安装能够抽取rpm包中的元数据的命令并提取特征码放于repodata目录中
[root@localhost yum.repos.d]# yum -q -y install createrepo
Warning: RPMDB altered outside of yum.
[root@localhost yum.repos.d]# 

4、抽取/tmp/test目录中的所有RPM包的元数据,并提取指纹
[root@localhost tmp]# createrepo --update /tmp
Could not find valid repo at: /tmp
Spawning worker 0 with 2 pkgs
Workers Finished
Gathering worker results

Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete

5、确定元数据的位置
[root@localhost yum.repos.d]# ls /tmp
repodata  test

6、配置yum源,测试从新建的仓库安装程序
[root@localhost yum.repos.d]# vim local.repo
[Local]
name=Local repo
baseurl=file:///tmp
gpgcheck=0
enabled=1

查看仓库信息
[root@localhost yum.repos.d]# yum --disablerepo=* --enablerepo=Local list available
已加载插件:fastestmirror, security
Loading mirror speeds from cached hostfile
可安装的软件包
ksh.i686                             20120801-35.el6_9                                  Local
zsh.i686                             4.3.11-4.el6.centos.2                              Local
[root@localhost yum.repos.d]# 


测试安装
[root@localhost tmp]# yum -q -y --disablerepo=* --enablerepo=Local install ksh
[root@localhost tmp]# rpm -q ksh
ksh-20120801-35.el6_9.i686

 

编译安装apche2.2,启动服务显示It Works!

1、下载源代码: httpd-2.2   http://apache.fayea.com//httpd/httpd-2.2.34.tar.gz

1)创建目录,放将要下载的源程序文件
[root@localhost ~]# [ -d  ~/SOURCE ] || install -d ~/SOURCE
2)下载文件,保存至SOURCE目录
[root@localhost ~]# wget -P ~/SOURCE http://apache.fayea.com//httpd/httpd-2.2.34.tar.gz

2、准备开发环境

1)确认centos版本: centos 7安装"development tools" 6 除了开发工具还需要 Server Platform Development
[root@localhost ~]# cat /etc/centos-release 
CentOS release 6.9 (Final)

2)安装开发工具及环境 
以下选择一种即可
1、、[root@localhost ~]# yum  install autoconf automake make gcc glibc
2、、[root@localhost ~]# yum groupinstall "Development Tools" "Server Platform Development"


3、编译安装apache/httpd-2.2

1、展开
[root@localhost ~]# tar -zxvf ~/SOURCE/httpd-2.2.34.tar.gz -C ~/SOURCE/
   
2、进入源码目录
[root@localhost ~]# cd ~/SOURCE/httpd-2.2.34/

3、查看文件
[root@localhost httpd-2.2.34]# ls
 configure     INSTALL         Makefile.in   
 .... 
 存在即可configure 

4、查看INSTALL
[root@localhost httpd-2.2.34]# less INSTALL 
     $ ./configure --prefix=PREFIX  生成Makefile
     $ make                         编译
     $ make install                 安装
     $ PREFIX/bin/apachectl start   启动
 
5、获取configure选项信息
[root@localhost httpd-2.2.34]# ./configure --help | less
**less命令翻页: ^d,^u ,^f ^b , Enter ,Space ,j k

-q                ## 静默模式    
--prefix=PREFIX   ## 程序安装路径,默认是/usr/local/apache2目录
--sysconfdir=DIR  ## 程序的配置文件路径,默认是 $PRIFIX/etc
--disable-FEATURE ## 启用特性
--enable-FEATURE  ## 禁用特性
--with-PACKAGE[=ARG]  ## 给出依赖的程序包的安装路径
--without-PACKAGE     ## 不依赖程序包
--with-apr=PATH
--with-apr-util=PATH

6、编译安装
·./configure
[root@localhost httpd-2.2.34]# ./configure -q --prefix=/usr/local/httpd2 --sysconfdir=/etc/httpd2

·make
     -j [N], --jobs[=N]        允许多个线程同时工作
 
 查看核心数
 [root@localhost httpd-2.2.34]# cat /proc/cpuinfo | grep -c processor
 4
 [root@localhost httpd-2.2.34]# make -j 4
 
 *****结尾:make[1]: Leaving directory `/root/SOURCE/httpd-2.2.34'

 ·make install
[root@localhost httpd-2.2.34]# make install
*****结尾:make[1]: Leaving directory `/root/SOURCE/httpd-2.2.34'


4、测试启动

1、查看是否有人占用80端口
[root@localhost httpd-2.2.34]# netstat -tnl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address(:后为端口号)              Foreign Address             State      
tcp        0      0 0.0.0.0:22                              0.0.0.0:*                   LISTEN      
tcp        0      0 127.0.0.1:25                            0.0.0.0:*                   LISTEN      
tcp        0      0 :::22                                   :::*                        LISTEN      
tcp        0      0 ::1:25                                  :::*                        LISTEN      
2、启动
[root@localhost httpd-2.2.34]# /usr/local/httpd2/bin/apachectl start
httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain for ServerName

3、查看端口
[root@localhost httpd-2.2.34]# netstat -tnl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State      
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      
tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN      
tcp        0      0 :::80                       :::*                        LISTEN      
tcp        0      0 :::22                       :::*                        LISTEN      
tcp        0      0 ::1:25                      :::*                        LISTEN     

4、打开windows浏览器,输入IP:虚拟中查看的IP 192.168.1.102
It works!


5、编译后配置

1)导出PATH

profile类定义PATH变量: /etc/profile , /etc/profile.d/*.sh , ~/.bash_profile

查看程序所在路径
root@localhost httpd-2.2.34]# ls /usr/local/httpd2/bin
ab            apu-1-config  dbmmanage    htcacheclean  htpasswd   logresolve
apachectl     apxs          envvars      htdbm         httpd      rotatelogs
apr-1-config  checkgid      envvars-std  htdigest      httxt2dbm

1、查看PATH变量
[root@localhost httpd-2.2.34]# echo ${PATH}
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
2、定义变量,重读配置文件
[root@localhost httpd-2.2.34]# echo 'export PATH=/usr/local/httpd2/bin:$PATH' > /etc/profile.d/httpd2
[root@localhost httpd-2.2.34]# source /etc/profile.d/httpd2
3、查看PATH变量
[root@localhost httpd-2.2.34]# echo $PATH
/usr/local/httpd2/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

2)导出头文件

查看头文件所在路径
[root@localhost httpd-2.2.34]# ls /usr/local/httpd2/
bin  build  cgi-bin  error  htdocs  icons  include  lib  logs  man  manual  modules
导出
[root@localhost httpd-2.2.34]# ln -sv /usr/local/httpd2/include /usr/include/httpd2
`/usr/include/httpd2' -> `/usr/local/httpd2/include'
确认
[root@localhost httpd-2.2.34]# ls -ld /usr/include/httpd2
lrwxrwxrwx 1 root root 25 Aug 17 15:47 /usr/include/httpd2 -> /usr/local/httpd2/include

3)导出库文件

查看库文件所在路径
[root@localhost httpd-2.2.34]# ls /usr/local/httpd2/
bin  build  cgi-bin  error  htdocs  icons  include  lib  logs  man  manual  modules
导出
[root@localhost httpd-2.2.34]# echo '/usr/local/httpd2/lib' > /etc/ld.so.conf.d/httpd2.conf
[root@localhost httpd-2.2.34]# ldconfig -v

4)导出man手册

1、不导出查看man
[root@localhost httpd-2.2.34]# man -M /usr/local/httpd2/man httpd
2、导出
[root@localhost httpd-2.2.34]# sed -i "`awk "/^MANPATH\>/{n=NR} END {print n}" /etc/man.config`a MANPATH /usr/local/httpd2/man\n" /etc/man.config


6、二次测试

1、查看80端口是否被占用
[root@localhost httpd-2.2.34]# netstat -tnl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State      
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      
tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN      
tcp        0      0 :::80                       :::*                        LISTEN      
tcp        0      0 :::22                       :::*                        LISTEN      
tcp        0      0 ::1:25                      :::*                        LISTEN      
2、查看进程
[root@localhost httpd-2.2.34]# killall -0 httpd 2> /dev/null || apachectl -k start
httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain for ServerName
[root@localhost httpd-2.2.34]# ps aux | fgrep httpd
root     25369  0.1  0.1   3908  1504 ?        Ss   16:01   0:00 /usr/local/httpd2/bin/httpd -k start
daemon   25370  0.0  0.0   3908  1004 ?        S    16:01   0:00 /usr/local/httpd2/bin/httpd -k start
daemon   25371  0.0  0.0   3908  1004 ?        S    16:01   0:00 /usr/local/httpd2/bin/httpd -k start
daemon   25372  0.0  0.0   3908  1004 ?        S    16:01   0:00 /usr/local/httpd2/bin/httpd -k start
daemon   25373  0.0  0.0   3908  1004 ?        S    16:01   0:00 /usr/local/httpd2/bin/httpd -k start
daemon   25374  0.0  0.0   3908  1004 ?        S    16:01   0:00 /usr/local/httpd2/bin/httpd -k start
root     25376  0.0  0.0   4424   716 pts/0    S+   16:01   0:00 fgrep httpd

3、禁用
[root@localhost httpd-2.2.34]# apachectl -k stop
httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain for ServerName
4、查看
[root@localhost httpd-2.2.34]# netstat -tnl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State      
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      
tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN      
tcp        0      0 :::22                       :::*                        LISTEN      
tcp        0      0 ::1:25                      :::*                        LISTEN      
[root@localhost httpd-2.2.34]#

yum使用之小练习_Linux_34