2.配置
在编译应用程序之前,需要进入源代码目录,通过目录下的脚本检查安装环境,并且对软件的 安装目录、功能选择等参数进行预先配置。
环境检查与配置工作通常由源代码目录中的configure脚本文件来完成,可用的各种配置参数可以通过在源代码目录中执行 "./configure --help" 命令进行查看。对不同的软件程序来说,其配置参数存在区别,但是有一个 "--prefix" 形式的参数却是大多数开源软件通用的,该配置参数用于指定软件包安装的目标文件夹。如果没有指定任何配置参数 "configure" 脚本将采用软件默认的值进行配置。例如,以下操作将对Apache软件的安装参数进行配置。
[root@localhost ~]# cd /usr/src/httpd-2.4.25/
[root@localhost httpd-2.4.25]# ./configure --prefix=/usr/local/apache
checking for chosen layout... Apache
checking for working mkdir -p... yes
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
……//省略部分
config.status: executing default commands
configure: summary of build options:
Server Version: 2.4.25
Install prefix: /usr/local/apache
C compiler: gcc -std=gnu99
CFLAGS: -pthread
LDFLAGS:
LIBS:
CPPFLAGS: -DLINUX -D_REENTRANT -D_GNU_SOURCE
C preprocessor: gcc -E
在Linux操作系统中通过源代码方式安装软件时,也可以将所有程序文件安装到同一个文件夹(如 ./configure --prefix=/usr/local/Apache)中,这样当需要卸载软件时,只要直接将该文件夹删除即可,非常方便(某些软件也可以在源代码目录中执行 "make uninstall" 命令完成卸载)。
如果软件的功能比较复杂,配置过程会需要一定的时间,期间会在屏幕中显示大量的输出信息, 这些信息可以帮助管理员了解程序配置的过程。配置结果将保存到源代码目录的Makefile文件中。如果配置过程出现错误,如包含 "error"、"failed" 或 "not found"等关键字,通常是缺少相关的依赖软件包所致,此时只要根据提示安装对应的软件即可。
3.编译
编译的过程主要是根据Makefile文件内的配置信息(若上一步的配置操作失败,将无法进行编译),将源代码文件进行编译生成二进制的程序模块、动态链接库、可执行文件等。配置完成后,只要在源代码目录中执行 "make" 命令即可执行编译操作。编译的过程比配置过程需要更长的时间,期间同样会显示大量的执行过程信息。
[root@localhost httpd-2.4.25]# make
4.安装
编译完成以后,就可以执行如下的 "make install" 命令将软件的执行程序、配置文件、帮助文档等相关文件复制到Linux操作系统中了,即应用程序的最后 "安装" 过程。安装过程需要的时间相对要短一些,期间也会显示安装的过程信息。
[root@localhost httpd-2.4.25]# make install
有时为了简便,可将上述的编译、安装步骤写成一行命令执行,中间用符号分隔。例如,"make && make install"(表示 "make" 命令执行成功以后再执行 "make install" 命令,否则将忽略 "make install" 命令)。
5.使用
安装后使用时需要先调整配置文件,操作如下:
[root@localhost httpd-2.4.25]# vim /usr/local/apache/conf/httpd.conf
然后修改配置文件httpd.conf的第194行,将前面的 ‘#'去掉,保存并退出。最后启动Apache,操作如下:
# # ServerName gives the name and port that the server uses to identify itself. # This can often be determined automatically, but we recommend you specify # it explicitly to prevent problems during startup. # # If your host doesn't have a registered DNS name, enter its IP address here. # ServerName www.example.com:80 # # Deny access to the entirety of your server's filesystem. You must # explicitly permit access to web content directories in other # <Directory> blocks below. #
[root@localhost ~]# /usr/local/apache/bin/apachectl start
利用已经安装的firefox网页浏览器,并在命令行下运行localhost查看本机Apache运行状态,如看到 "It works!"字样表明Apache已经工作正常了。具体操作如下:
感谢大家观看!!!