练习:
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)点 “创建新的虚拟机”
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速度加快
在终端中执行
[root@localhost ~]# echo "UseDNS no" >> /etc/ssh/sshd_config [root@localhost ~]# service sshd reload
配置yum源,(yum命令和仓库配置文件)
1、查看仓库信息
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]#