目的:了解linux中的软件包的两种形式(源码包和RPM包),并理解两种包的特点。掌握对RPM包的两种管理方式rpm命令和yum在线管理方式。会配置第三方的yum源,并安装第三方软件。初步掌握源码包的安装过程,体会源码包的安装特点。
- 通过本地光盘提供的rpm包安装apache软件包httpd。
(1)虚拟机设置中对cd/dvd设备选择镜像文件的位置。
(2)挂载虚拟光驱到linux目录结构中,挂载位置可设置为/mnt/cdrom
mount /dev/sr0 /mnt/cdrom
(3)将路径切换至/mnt/cdrom/Packages
cd /mnt/cdrom/Packages
(4)用rpm命令安装(注用httpd的包全名)
rpm -ivh httpd-2.2.15-15.el6.centos.1.i686.rpm
--------------------------如果有依赖则先把依赖用yum -y install 依赖包名 进行安装------------------------------
(5)用rpm命令查看是否安装了httpd包
rpm -qa|grep httpd
-q查询
-a从所有已经安装的包装包里查找
(6)卸载httpd包及相关的依赖包。
第一种方法:rpm卸载
rpm -e httpd
-e 卸载
有依赖,卸载依赖:
rpm -e gnome-user-share
rpm -e httpd
rpm -qa|grep httpd
此时无httpd,卸载完毕。
2. Yum源配置与yum安装软件包gcc。
(1)将工作目录切换到/etc/yum.repos.d目录下,查看有哪些yum仓库文件。
cd /etc/yum.repos.d
ls
CentOS-Base.repo CentOS-Media.repo
CentOS-Debuginfo.repo CentOS-Vault.repo
//备份
[root@zhangH/etc/yum.repos.d]$ mv CentOS-Base.repo CentOS-Base.repo.bak
[root@zhangH/etc/yum.repos.d]$ mv CentOS-Debuginfo.repo CentOS-Debuginfo.repo.bak
[root@zhangH/etc/yum.repos.d]$ mv CentOS-Vault.repo CentOS-Vault.repo.bak
3.'vi /CentOS-Media.repo' 进入并按 i 修改挂载路径,然后将gpgcheck=1改为0 ,enabled=0改为1.
(2)将本地光盘设置成生效的仓库,将centos官方在线的仓库禁用掉。
[root@zhangH~]$ cd /etc/yum.repos.d/
[root@zhangH~.repos.d]# yum repolist all //显示已安装的仓库源
[root@zhangH~.repos.d]# vim CentOS-Media.repo
[root@zhangH~.repos.d]# vim CentOS-Base.repo
//CentOS-Base.repo用于设置远程文库,,将CentOS-Base.repo文件中base仓库中加上enabled=0,禁用该仓库,
//CentOS-Media.repo用于设置本地仓库将CentOS-Media.repo文件中的enable=0改为1,启用该仓库
//一切准备就绪后 查看您拥有的仓库
[root@zhangH/etc/yum.repos.d]$yum repolist all
下图是禁用官方仓库前后,且都已启动本地仓库。
(3)用yum命令安装gcc编译器
[root@zhangH/etc/yum.repos.d]$ yum install gcc
- httpd的源码包安装
(1)下载httpd软件包(下载地址www.mirror.bit.edu.cn/apache/httpd)
有两种获取源码包的方式:
一···············在windows下下载源码包并用WINSCP传送到linux下。
二···············在linux下直接获取rpm包(wget url)
这里我的是centos6,不能安装2.4版本的,下载了2.2版本的。
下载httpd源码包如:[root@zhangH/etc/yum.repos.d]$ wget --no-check-certificate https://mirrors.tuna.tsinghua.edu.cn/apache//httpd/httpd-2.4.41.tar.gz
//wget的 --no-check-certificate 选项 不要验证服务器的证书。
https://mirrors.tuna.tsinghua.edu.cn/apache//httpd/httpd-2.4.41.tar.gz 为下载地址 ,在windows下打开也是直接下载
或者在windows下下载后winscp传送到linux里。
(**2)通过winscp将windows中的httpd的源码包复制到linux系统中,放到/usr/local/src目录下。
这里我用的第二种方式。
(3)进入/usr/local/src目录,然后对源码包进行解压解包(检查该软件包的大小,du -sm 目录名)。
[root@zhangH/usr/local/src]$ tar -xjf httpd-2.2.21.tar.bz2
[root@zhangH/usr/local/src]$ du -sm httpd-2.2.21
40 httpd-2.2.21
//40M大小
(4)切换进解包后的目录中。
[root@zhangH/usr/local/src]$ cd httpd-2.2.21
(5)观察该目录下的INSTALL和README文件的内容。
//分别vim一下
vim INSATALL
vim README
INSTALL是安装步骤。可以跟着做。
(**6)./configure #软件配置与检查(定义需要的功能选项,全部选项可通过./configure --help检测系统环境是否符合安装要求;把定义好的功能选项和检测系统环境的信息都写入Makefile文件,用于后续的编辑。)
(7)./configure --prefix=/usr/local/apache2
[root@zhangH/usr/local/src]$./configure --prefix=/usr/local/apache2
(8)make(该步骤最占时间)
[root@zhangH/usr/local/src]$make
(9)make install(在该步之前,/usr/local/apache2下面没有任何写入,如果上步中报错,只需make clean)
root@zhangH/usr/local/src/httpd-2.2.21]$ make install
(10)启动apache服务器
//在解压包中的INSTALL文件中可以查看启动命令
//在这里插入图片描述
//前三条为安装命令,最后一个为启动命令/bin前为你的安装位置
例如我的为[root@zhangH/usr/local/src/httpd-2.2.21]$ /usr/local/src/bin/apachectl start
httpd: apr_sockaddr_info_get() failed for zhangH
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
//虽然不妨碍使用,可是看着错误总觉得别扭,经过查找发现,这个问题应该是没有在 /etc/httpd/conf/httpd.conf 中设定 ServerName。所以apache会用主机上的名称来取代,首先会去找 /etc/hosts 中有没有主机的定义。
所以要解决这个问题可以设定httpd.conf文件中的 ServerName,如下:
(1) ServerName localhost:80
或者在 /etc/hosts 中填入自己的主机名称 bogon,如下:
(2)127.0.0.1 bogon
(11)测试apache是否能用,在地址栏中输入linux服务器的地址试试。
(12)卸载该软件(rm -rf /usr/local/apache2)
[root@zhangH/usr/local/src/httpd-2.2.21]$rm -rf /usr/local/apache2
小结:对于软件包的类型选择,在服务器中应选择源码包,如果是自己本机用的软件,可以选择rpm包。**