练习:
1、yum配置使用及yum仓库创建
2、编译安装apche2.2,启动服务显示It Works!
练习:
1、yum配置使用及yum仓库创建
1
2
3
4
5
6
7
8
9
10
11
12
13
|
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安装后,额外安装包可通过网络安装。
|
1
2
3
4
5
|
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
|
1
|
3、配置虚拟机
|
1
|
4、安装系统
|
1
|
5、连接
ssh
|
1
|
6、挂载光盘
|
1
|
7、配置yum源
|
1
|
8、测试建立仓库
|
2、编译安装apche2.2,启动服务显示It Works!
1
|
1、获取源代码: http:
//httpd
.apache.org
/download
.cgi
|
1
|
2、开发环境
|
1
|
3、编译安装
|
1
|
4、启动服务
|
配置虚拟机:
1)点 “创建新的虚拟机”
2)点 “自定义安装”并点 “下一步”
3)选择硬件兼容性,“不同版本兼容不同的硬件,可根据自己需要的选择” 并点 “下一步”
4)选择 "稍后安装操作系统“ 并点 ”下一步“
5、可选择任意平台,最好的选择:选将要安装的平台,vmware在创建后会提供这里所选的平台的工具包,更好的优化虚拟机、发挥硬件性能。选择 ”下一步“。如果支持vt-x可以选择centos x64
6、选择位置”如果用机械硬盘的朋友此处可以不看“ 用固态硬盘.. 硬盘由一个马达带动几个盘片同轴同角速度旋转,每个盘片都有2个盘面,每个面都能读写。每个面都有一个磁头距离盘片不到2mm,所以在硬盘运行时,不要抖动硬盘,很可能划花硬盘。磁头在盘面上左右摇摆,寻道。每个盘面在虚拟的视角上划分了多个磁道,靠外磁道比靠内磁道周长长,每个磁道有相同的扇区,大小且相同512k。如果扇区大小一样,周长不一样,数量肯定不一样,但是为了我们便于理解,虚拟划分出相同大小的扇区。uefi格式是4K大小。由于是同轴同角速度旋转,外周长长,单位时间内,磁头寻址的越多,读取和写入数据量就越大,Window系统默认从C开始编号,由于A和B在早期作软盘盘符,编号对应靠外的磁道速度快。而操作系统默认分区由外向内按柱面划分,不同盘片相同编号的磁道整体上看成一个柱面。分区时,编号由小到大。靠外的分区编号小,靠内的分区编号大。当然速度并非是编号小就大,而是靠外的对应的编号所在的分区速度才快。
所以速度 默认 C > D > E > ....
把程序放在D上,目录可以自行指定,并选择下一步。
7、处理器数量小于物理核心数。如果CPU支持 VT-X 指令集,也可以大小物理核心数,并下一步
8、按自己内存大小给。默认给1G,最小可以给256MB,如果要运行图形桌面最少也得512MB,安装系统时,需要运行图形界面。推荐1G,并 下一步
9、选择 ”使用桥接网络“,并 "下一步",桥接相当于把主机网卡虚拟成一个交换机,每个虚拟机都有一个与主机处于同一个网段的独立的IP地址。
10、推荐即可 , ”下一步“
11、CentOS 5识别IDE设备为hd开头,CentOS后没有区别,推荐即可,并”下一步“
12、选择”创建新虚拟磁盘“,并”下一步“。如果要使用U盘需要选择”使用物理磁盘“
13、分配大小给120G,并下一步。 此处所给的大小可以是任意大小。既然是任意大小为什么不对自己大方一点呢?120G是制作的光盘需要这个空间大小才能安装,并非实际大小,实际用多少占据多少,自动增长。立即分配所有磁盘空间,表示现在马上从物理磁盘中分配最大磁盘大小出来。
将虚拟秀存储为单个文件,将虚拟磁盘拆分成多个文件:FAT32系统最大单个文件大小40G,如果大于40G就只能拆分,NTFS最大单个无限制。这两个跟Window有关。如果你将存储的位置在NTFS文件系统上可以选择第一个。
14、选择存储的位置:虚拟磁盘是以镜像方式存储,便于管理。直接 点下一步
15、下一步
16、配置文件:为磁盘镜像的位置。编辑虚拟机设置
17、确认磁盘大小,选择DVD,
右侧:使用ISO镜像文件,浏览,选择刚刚下载的boot.iso文件,或者自己下载的iso文件。
而后选择声卡 --> 移除 ,打印机 --> 移除。
安装系统
1、回到主界面后,点击确认 --> 开启此虚拟机,
2、注意:鼠标点进虚拟机方可操作,
1、安装120G大多数安装包,用Install Standard。(866个程序包)如果你什么都不操作默认安装此选项
2、安装120G极少安装包,用micro (388个程序包)
3、安装12G极少安装包,用small (388个程序包)
此处大小,与自己划分磁盘相关。基于逻辑卷分区,可以动态扩展容量,选择后两者,安装速度肯定比较快。
3、安装完成后,自动进入虚拟机界面
4、登陆终端在Password后输入root,不会有显示任何字符,输完回车即可。密码为 root
5、查看虚拟机的ip地址,此处为192.168.1.102
连接xshell远程操作虚拟机
1、运行xshell 程序
点击关闭
2、在虚拟机中开启ssh服务
3、在Xshell中连接虚拟机的ssh服务
格式为
[c:\~]$ ssh root@虚拟机中的IP 输入完毕回国
点 保存并接受
输入密码: root 同虚拟机, 并点确定
4、关闭DNS解析,使连接ssh速度加快
在终端中执行
1
2
|
[root@localhost ~]
# echo "UseDNS no" >> /etc/ssh/sshd_config
[root@localhost ~]
# service sshd reload
|
配置yum源,(yum命令和仓库配置文件)
1、查看仓库信息
2、配置EPEL仓库
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
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
2
3
4
|
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
2
3
4
5
6
7
8
|
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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
查看程序所在路径
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)导出头文件
1
2
3
4
5
6
7
8
9
|
查看头文件所在路径
[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)导出库文件
1
2
3
4
5
6
|
查看库文件所在路径
[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
2
3
4
|
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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
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]
#
|