• Ubuntu 16.04.4下安装apache服务


     Ubuntu 16.04.4下安装apache服务:

    一、首先,准备需要的预装环境

    需要c++,make,gcc,apr  apr-util  pcre。(如果后面报错缺少什么组件,可以百度搜方法。有报错就是是学习的开始。)

    插入一个小姿势:#echo $?   这个命令是检测报错的,返回值若是0,表明没有报错,否则就是报错。

    先安装c++编译相关组件:

    i、刚装好的Ubuntu系统中已经有GCC了,但是这个GCC什么文件都不能编译,因为没有一些必须的头文件,所以要安装build-essential这个软件包,

        安装了这个包会自动安装上g++,libc6-dev,linux-libc-dev,libstdc++6-4.1-dev等一些必须的软件和头文件的库。

        安装所需要的软件包:

        sudo apt-get install build-essential

    ii、安装 Ubuntu Make

        $sudo apt-get update

        $sudo apt-get install ubuntu-make

    iii、apache同时依赖apr  apr-util  pcre。

          apr-util依赖apr。

          所以安装顺序是apr,apr-util,pcre(这个只要在apache之前装就好),apache。

    正戏开始:

    1、下载pcre正则库:https://ftp.pcre.org/pub/pcre/ 

    2、下载apr:http://apr.apache.org/download.cgi

    3、下载apr-util:http://apr.apache.org/download.cgi

    4、下好后在SSH端输入rz命令将压缩包文件放在工作需要的目录下,并解压至此,我的是/app。

     1 root@ubuntu:~# cd /app
     2 root@ubuntu:/app# rz
     3 
     4  
     5 
     6 root@ubuntu:/app# tar zxvf apr-1.6.3.tar.gz
     7 root@ubuntu:/app# tar zxvf apr-util-1.6.1.tar.gz
     8 root@ubuntu:/app# tar zxvf pcre-8.00.tar.gz
     9 
    10  
    11 
    12 root@ubuntu:/app# ls (检查一下)
    13 apr-1.6.3  apr-1.6.3.tar.gz  apr-util-1.6.1  apr-util-1.6.1.tar.gz  httpd-2.4.33  httpd-2.4.33.tar.gz  pcre-8.00  pcre-8.00.tar.gz 

    5、然后一个一个进行编译安装:

    PS: linux编译安装的步骤:配置(configure)、编译(make)、安装(make install)

    ①  cd到源码版压缩包解压后的目录。

          i、如果不是源码版压缩包解压后的目录,会出现-bash: ./configure: No such file or directory的报错,因为没有 ./configure的路径。

          ii、之前一直犯这个错误就是下的是二进制(可直接安装)的包,在这个包目录下./configure一直报错,就这个原因。

      运行此命令:./configure --prefix=/app/apr 

          i、./configure是源代码安装的第一步,主要的作用是对即将安装的软件进行配置,检查当前的环境是否满足要安装软件的依赖关系,但并不是所有的tar包都是源代码的包。

          ii、划重点:注意你下的包是不是源码包!!!

          iii、 ./configure --prefix=:指定安装路径。若不指定prefix,则可执行文件默认放在/usr /local/bin,库文件默认放在/usr/local/lib,配置文件默认放在/usr/local/etc。其它的资源文件放在/usr /local/share。

    ③  运行:make && make install 命令 (Make:编译程序。最好分开执行。)

    eg:

    需要注意的是:

    ******配置apr-util的时候需要依赖前面的apr,所以是先装apr,再装apr-util,再装apache(apache同时依赖apr  apr-util  pcre)。

    ①  编译安装pcre:

    root@ubuntu:/app/pcre-8.00# ./configure --prefix=/opt/pcre
    root@ubuntu:/app/pcre-8.00# make 
    root@ubuntu:/app/pcre-8.00# make install

    ②  编译安装apr(其实不用安装,后面说明原因,但学的时候先了解apache依赖环境!)

    root@ubuntu:/app# cd apr-1.6.3

    root@ubuntu:/app/apr-1.6.3# ./configure --prefix=/opt/apr (--prefix=后面是接你要安装服务的目录,我们公司是/opt这个目录。apr对应apr-1.6.3。后面还有apr-util,pcre,apache目录)

    root@ubuntu:/app/apr-1.6.3# make
    root@ubuntu:/app/apr-1.6.3# make install

    ③  编译安装apr-util:(其实不用安装,后面说明原因,但学的时候先了解apache依赖环境!)

    root@ubuntu:/app/apr-util-1.6.1# ./configure --prefix=/opt/apr-util --wiht-apr=/opt/apr (注意,apr-util依赖apr

    root@ubuntu:/app/apr-util-1.6.1# make
    root@ubuntu:/app/apr-util-1.6.1# make install

      编译安装apache:(把下载下来到apr和apr-util解压到srclib目录下到apr和apr-util目录,注意目录名字要一致。不这样会报错,后面解释。

    root@ubuntu:/app/httpd-2.4.33# ./configure --prefix=/opt/apache --with-apr=/opt/apr --with-apr-util=/opt/apr-util --with-pcre/opt/pcre (注意:apache同时依赖apr  apr-util  pcre
    root@ubuntu:/app/httpd-2.4.33# make 
    root@ubuntu:/app/httpd-2.4.33# make install

    Notic: 解释为什么前面其实不需要安装apr和apr-util:

    到现在按照官方文档的说明应该就已经安装好了,但是我到make这步就报错了

    collect2: error: ld returned 1 exit status
    Makefile:48: recipe for target 'htpasswd' failed
    make[2]: *** [htpasswd] Error 1
    make[2]: Leaving directory '/etc/httpd-2.4.27/support'
    /etc/httpd-2.4.27/build/rules.mk:75: recipe for target 'all-recursive' failed
    make[1]: *** [all-recursive] Error 1
    make[1]: Leaving directory '/etc/httpd-2.4.27/support'
    /etc/httpd-2.4.27/build/rules.mk:75: recipe for target 'all-recursive' failed
    make: *** [all-recursive] Error 1

    这个错误是因为在httpd目录下的srclib目录里面没有apr和apr-util所导致的,但是./configure又不会报错,到make才会报错,

    所以把下载下来到apr和apr-util解压到srclib目录下到apr和apr-util目录,注意目录名字要一致。

    这就是之前说的不用安装apr和apr-util的原因,它会自动安装,手动安装后去指定安装路径是会报错的。重新生成make文件和make。

     sudo ./configure --with-prce=/opt/pcre --with-included-apr    #其他参数请参照官方

    sudo make
    sudo make install

     
     
     
     
     
     
     

     6、启动apache服务:

    i、到/opt/apache/bin目录下,执行命令./httpd,再用ps aus| grep httpd命令检测服务端口是否开启。

    ii、ubuntu下启动,重启,停止apache服务:

    1、启动aoache服务

         start apache 2 server

         sudo /etc/init.d/apache2 start

    2、重启apache服务

         restart apache 2 Server

         sudo /etc/init.d/apache2 restart

    3、停止apache服务

         stop apache 2 server

         sudo /etc/init.d/apache2 stop

     _______________________________

    注:a、这里的sudo可要可不要.

          b、假设系统中安装了nginx和apache服务器,访问127.0.0.1打开的服务器是nginx时,如果你不想用这个服务器,

                而是apache时,就应当先关闭nginx服务器:sudo /etc/init.d/nginx stop  再开启apache服务器: sudo /etc/init.d/apache2 start .

          c、当一个系统中安装了多个服务器时,这种命令写法只能生效一次,下次在启动系统时,还得重新运行上面的命令,如果想要永久性的只开启apache服务,则必须在文件中去设置。

    知识扩展:

    1、apache目录

     bin:二进制执行文件-->httpd

    conf:配置文件

    logs:日志文件

     2、本地ip:

    127.0.0.1 :只有本机可以访问(ip协议)。

    0.0.0.0  :局域网中访问ip也行。

    localhost:只有本机可以访问(多种协议)。

    3、命令扩展:

    ps命令:ps aux| grep httpd 查看httpd服务状态。

    pkill -9 进程名 :强制杀掉某进程。

    tcp端口:netstat命令:netstat -lntp| grep 80 监听80端口状态。(在apache-conf配置文件中severname后面会显示服务端口)。

    curl命令:

    curl ipinfo.io :查询公网出口ip:

    curl ip地址 :直接在curl命令后加上网址,就可以看到网页源码。

    4、apache修改根目录:

    修改/opt/apache/htdocs下的index.html文件。

    这是公司ubuntu上安装apache全过程!^_^

  • 相关阅读:
    python学习日记——基本数据类型
    python学习日记——安装及初识
    STF平台探索
    fiddler基本操作梳理
    fly.js抛物线连续不断加入购物车
    判断是否存在某个字段hasOwnProperty
    vue中提示toFixed不是函数
    vue中父组件给子组件传值,子组件给父组件传值
    js判断用户的浏览器设备是移动端还是pc端
    css预处理器--sass学习($变量名)
  • 原文地址:https://www.cnblogs.com/sinsenliu/p/9318169.html
Copyright © 2020-2023  润新知