# 安装Apache ## Linux **包安装** ```bash # CentOS # yum源安装 yum install httpd httpd-devel rpm -qa | grep httpd #查询apache是否安装 systemctl start httpd #启动apache服务 systemctl enable httpd #开机自启动apache服务 rpm -e --nodeps httpd #卸载apache # Ubuntu # apt源安装 apt install apache2 systemctl start apache2 #启动apache服务 systemctl enable apache2 #开机自启动apache服务 # Apache的默认文档路径的位置是在/var/www/html # CentOS配置文件的路径是/etc/httpd/conf/httpd.conf # Ubuntu配置文件的路径是/etc/apache2/httpd.conf ``` **源码安装** 1、复制 apr 和 apr-util 库 我们必须手工复制 apr、apr-util 和 pcre 这三个库,才可以正确安装 Apache 2.4。 ```bash cp -r /usr/local/src/apr-1.4.6 /usr/local/src/httpd-2.4.7/srclib/apr cp -r /usr/local/src/apr-util-1.4.1 /usr/local/src/httpd-2.4.7/srclib/apr-util ``` #这两个包先要解压缩,然后改名复制到指定位置 2、安装 pcre 源码包 pcre 是一个用 C 语言编写的正则表达式函数库,Apache 和 PHP 默认使用的就是 pcre 正则表达式规则。 ```bash cd /usr/local/src/pcre-8.34 #进入解压缩目录 ./configure #编译前配置 make #编译 make install #编译安装 ``` 3、进入 Apache 解压缩目录 ```bash cd /usr/local/src/ httpd-2.4.7 ``` 4、编译前配置 ```bash ./configure \ #编译前配置 --prefix=/usr/local/apache2/ \ #指定Apache安装目录 --sysconfdir=/usr/local/apache2/etc/ \ #指定Apache配置文件保存目录 --with-included-apr \ #使用捆绑APR/APR-Util 的副本 --enable-so \ #以动态共享对象(DSO)方式编译 --enable-deflate=shared \ #启用编小传输编玛支持的模块 --enable-expires=shared \ #根据用户的特别设定来生成失效和隐藏控制的HTTP头信息 --enable-rewrite-shared #启动重写功能的模块 ``` 这里的 Apache 是使用动态方式编译的,那么是否有静态方式编译呢?当然有,静态方式编译就是直接将 Apache 的模块放入 Apache 中,如果 Apache 需要调用这个模块,则直接调用即可。这种方法安装的 Apache 性能更好、速度更快,但是如果需要加载新的模块,则是需要重新编译和安装 Apache 的。 如果采用动态的方式编译,则并没有直接把模块放入 Apache,而是把模块的所在位置放入了 Apache。如果 Apache 需要调用模块,则需要到指定位置自己查找,性能比静态方式稍差。但是如果需要加载新的模块,则不用重新安装 Apache,可以动态地加载新模块。更常用的编译方式是动态方式编译,所以在安装过程中我们采用动态方式编译。 5、编译和编译安装 ```bash make make install ``` 6、 启动Apache,并进行测试 ```bash [root@localhost httpd-2.4.7]# /usr/local/apache2/bin/apachectl start \#启动Apache [root@localhost httpd-2.4.7]# netstat -tlun | grep 80 ``` ## Windows 1、下载并解压到安装目录 https://httpd.apache.org/ https://httpd.apache.org/docs/current/platform/windows.html#down 2、配置 修改D:\Program Files\Apache24\conf\https.conf文件内容 ```bash Define SRVROOT "D:/Program Files/Apache24" #当前安装目录 ServerRoot "${SRVROOT}" ``` 如果不想用80端口,修改监听的端口号 ```bash #Listen 12.34.56.78:80 # Listen 80 Listen 8080 ``` 3、使用Web服务 不用将Apache的安装目录添加系统环境变量,而是在安装目录下运行相关命令。 - 命令行启动 - 利用Windows的托管服务命令net启动 - 安装目录下的ApacheMonitor.exe窗口程序启动 ```bash httpd -t # 测试配置文件是否正确 https.exe # 启动Web服务 httpd -k install -n Apache # 该命令的意思是,安装Windows可托管的Apache服务,其中 "-n" 后面参数是自定义Windows服务名称,之后可使用Windows管理服务的命令来管理apache服务,如 "net start/stop apache"(启动/停止服务),在计算机管理页面可以看到Apache的服务项,若不用该方案,也可以采用命令启动服务。 ``` 常用命令 ```bash httpd # 启动Web服务 httpd -k start # 启动Web服务 httpd -k start -n apache # 启动名称为apache的Web服务 httpd -k restart -n apache # 重启 net start apache # 利用Windows的托管服务命令 ``` 4、Apache服务的卸载 若Apache服务器软件不想用了,想要卸载,一定要先卸载apache服务,然后删除安装文件(切记,若直接删除安装路径的文件夹,会有残余文件在电脑,可能会造成不必要的麻烦),在cmd命令窗口,输入如下(建议先停止服务再删除)。 ```bash httpd -k stop # 关闭Web服务 httpd -k uninstall # 卸载 sc delete apache # 利用Windows卸载服务命令 ``` 5、文件目录 ```bash conf ---> 配置目录 htdocs ---> 站点文件 ```