Ubuntu 源码安装Apache2

前端之家收集整理的这篇文章主要介绍了Ubuntu 源码安装Apache2前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

Ubuntu源码安装Ubuntu。

编译安装软件前第一步,安装GCC。

dell@Ubuntu1601:~$ sudo apt install gcc

下载Apache、APR和APR-util源代码

Apache下载地址

APR下载地址

下载Apache、APR和APR-util。

#下载Apache
dell@Ubuntu1601:wget http://mirror.bit.edu.cn/apache//httpd/httpd-2.4.25.tar.gz
#下载APR
dell@Ubuntu1601:wget http://apache.fayea.com//apr/apr-1.5.2.tar.gz
#下载APR-util
dell@Ubuntu1601:http://apache.fayea.com//apr/apr-util-1.5.4.tar.gz

解压APR源代码文件

dell@Ubuntu1601:~$ tar -zxvf apr-1.5.2.tar.gz
dell@Ubuntu1601:~$ cd apr-1.5.2/
dell@Ubuntu1601:~/apr-1.5.2$ ./configure --prefix=/usr/local/apr/
dell@Ubuntu1601:~/apr-1.5.2$ make
dell@Ubuntu1601:~/apr-1.5.2$ sudo make install

解压安装APR-util。

dell@Ubuntu1601:~$ tar -zxvf apr-util-1.5.4.tar.gz
dell@Ubuntu1601:~$ cd apr-util-1.5.4/
dell@Ubuntu1601:~/apr-util-1.5.4$ ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/
dell@Ubuntu1601:~/apr-util-1.5.4$ make
dell@Ubuntu1601:~/apr-util-1.5.4$ sudo make install

下载安装PCRE,注意不是PCRE2。

#下载地址
https://sourceforge.net/projects/pcre/
http://pcre.org/
#下载源代码文件
dell@Ubuntu1601:~$ wget https://nchc.dl.sourceforge.net/project/pcre/pcre/8.40/pcre-8.40.zip
dell@Ubuntu1601:~$ unzip pcre-8.40.zip
dell@Ubuntu1601:~$ cd pcre-8.40/
dell@Ubuntu1601:~/pcre-8.40$ ./configure --prefix=/usr/local/pcre
dell@Ubuntu1601:~/pcre-8.40$ make
dell@Ubuntu1601:~/pcre-8.40$ sudo make install

下面开始安装Apache2。

dell@Ubuntu1601:~$ tar -zxvf httpd-2.4.25.tar.gz
dell@Ubuntu1601:~$ cd httpd-2.4.25/
dell@Ubuntu1601:~/httpd-2.4.25$ pwd
/home/dell/httpd-2.4.25
#建议根据版本号设置目录。例如
dell@Ubuntu1601:~/httpd-2.4.25$ ./configure --prefix=/usr/local/apache2 --with-apr-util=/usr/local/apr-util/ --with-apr=/usr/local/apr/ --with-pcre=/usr/local/pcre/
dell@Ubuntu1601:~/httpd-2.4.25$ make
dell@Ubuntu1601:~/httpd-2.4.25$ sudo make install
#主要Apache2配置项
        #--sysconfdir=/etc/httpd24  指定配置文件安装路径
        #--enable-so  启动模块动态装卸载
        #--enable-ssl 编译ssl模块
        #--enable-cgi 支持cgi
        #--enable-rewrite  支持url重写     
        #--with-zlib  支持数据包压缩
        #--with-pcre  支持正则表达式
        #--with-apr=/usr/local/apr  apr目录
        #--with-apr-util=/usr/local/apr-util/  apr-util目录
        #--prefix=/usr/local/pcre PCRE目录
        #--enable-mpms-shared=all   
        #--with-mpm=prefork         指明httpd工作方式是prefork
        #配置示例
        # ./configure                           \
        --with-apr=/usr/local/apr           \
        --with-apr-util=/usr/local/apr-util \
        --prefix=/usr/local/apache \
        --sysconfdir=/etc/httpd24  \
        --enable-so                \
        --enable-ssl               \
        --enable-cgi               \
        --enable-rewrite           \
        --with-zlib                \
        --with-pcre                \
        --with-mpm=prefork         \
        --enable-modules=most      \
        --enable-mpms-shared=all

至此Apache2安装完毕。开始配置Apache。 Apache启动文件是/usr/local/apache2/bin/apachectl。

dell@Ubuntu1601:/etc/init.d$ sudo cp /usr/local/apache2/bin/apachectl /etc/init.d/
dell@Ubuntu1601:/etc/init.d$ ls
acpid                   cron                     lvm2                   plymouth-log  skeleton
alsa-utils              cups                     lvm2-lvMetad           pppd-dns      speech-dispatcher
anacron                 cups-browsed             lvm2-lvmpolld          procps        ssh
apachectl               dbus                     mountall-bootclean.sh  rc            thermald
apparmor                grub-common              mountall.sh            rc.local      udev
apport                  halt                     mountdevsubfs.sh       rcS           ufw
avahi-daemon            hostname.sh              mountkernfs.sh         README        umountfs
bluetooth               hwclock.sh               mountnfs-bootclean.sh  reboot        umountnfs.sh
bootmisc.sh             irqbalance               mountnfs.sh            resolvconf    umountroot
brltty                  kerneloops               networking             rsync         unattended-upgrades
checkfs.sh              keyboard-setup.dpkg-bak  network-manager        rsyslog       urandom
checkroot-bootclean.sh  killprocs                ondemand               saned         uuidd
checkroot.sh            kmod                     openvpn                sendsigs      whoopsie
console-setup           lightdm                  plymouth               single        x11-common
dell@Ubuntu1601:/etc/init.d$

启动服务报错。

dell@Ubuntu1601:/etc/init.d$ /etc/init.d/apachectl start
AH00558: httpd: Could not reliably determine the server's fully qualified domain name,using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
(13)Permission denied: AH00072: make_sock: could not bind to address [::]:80
(13)Permission denied: AH00072: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available,shutting down
AH00015: Unable to open logs
dell@Ubuntu1601:/etc/init.d$ sudo /etc/init.d/apachectl start
AH00558: httpd: Could not reliably determine the server's fully qualified domain name,using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
dell@Ubuntu1601:/etc/init.d$
#解决方法
#进入Apache安装目录。本文安装目录是 /usr/local/apache2/,修改文件注意备份文件
dell@Ubuntu1601:~$ cd /usr/local/apache2/conf/
dell@Ubuntu1601:/usr/local/apache2/conf$ sudo cp httpd.conf httpd.conf.bak
dell@Ubuntu1601:/usr/local/apache2/conf$ sudo vim httpd.conf
#编辑httpd.conf文件搜索"#ServerName",添加ServerName localhost:80
dell@Ubuntu1601:~$ sudo /etc/init.d/apachectl start
httpd (pid 7753) already running
dell@Ubuntu1601:~$

浏览器输入Apache服务器IP地址,看到It works!,说明安装成功。

至此Apache全部安装完成。

参考链接

猜你在找的Ubuntu相关文章