ubuntu下使用源码安装apache 服务器

来源:互联网 发布:淘宝里面卖cd的 编辑:程序博客网 时间:2024/06/02 01:44
1、下载
hhttp://www.apache.org/dist/httpd/

我下载的是 httpd-2.4.2.tar.bz2


2、Ubuntu apache解压

将下载的文件放在主目录下然后解压
tar zxvf httpd-2.2.11.tar.gz 

解压后在主目录下得到一个名为httpd-2.4.2的文件


3、建立目标文件夹
mkdir /usr/local/apache
也就是说等下安装的Ubuntu apache要安装到这个文件夹里面


4、Ubuntu apache配置
回到原来解压之后产生的文件夹即 cd httpd-2.4.2
./configure --prefix=/usr/local/apache --enable-module=shared
要加上后面的参数,否则无法使用php

这里会报错。configure: error: APR not found . Please read the documentation.主要是说没有安装APR包的原因。

  4.1、于是下载APR包。网址为 http://apr.apache.org/download.cgi 我下载的是apr-1.4.6.tar.gz

     放在主目录下然后解压 tar -zxvf apr-1.4.2.tar.gz 在主目录下得到一个名为apr-1.4.6的文件

cd apr-1.4.6

sudo ./configure

sudo make

sudo make install

安装完apr包之后 继续回到第4步安装 cd httpd-2.4.2 然后 ./configure --prefix=/usr/local/apache --enable-module=shared  发现又报错 configure:error: APR-util not found . Please read the documentation.  主要是说没有安装APR-util包的原因。

4.2 于是下载 APR-util包 网址为 http://apr.apache.org/download.cgi 我下载的是apr-util-1.4.1.tar.gz

      放在主目录下然后解压 tar -zxvf apr-1.4.2.tar.gz 在主目录下得到一个名为apr-util-1.4.1的文件  cd apr-1.4.6

  sudo ./configure

   sudo make

   sudo make install


./configure仍提示APR-util not found,增加--with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util参数输入 
./configure --prefix=/usr/local/apache --enable-module=shared --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util 出现 configure: error: pcre-config for libpcre not found. PCREis required and available from http://pcre.org 这是因为没有安装pcre的原因。
4.3 于是下载pcre 网址为 ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/ 我下载的是 pcre-8.20.zip放在主目录下然后 cd pcre-8.10
sudo ./configure --prefix=/usr/local/pcre
sudo make
sudo make install
安装过程中会提示没有安装 libtool 可以利用 sudo apt-get install libtool 安装。然后又会有
libtool: ignoring unknown tag CXX
libtool: unrecognized option `-DHAVE_CONFIG_H'

Try `libtool --help' for more information.
make[1]: *** [pcrecpp.lo] Error 1

这个错误,基本可以断定是缺少系统包造成的 这个错误是缺少安装gcc-c++,只需

sudo apt-get install g++ ,重新configure,make && make install即可完成pcre的装。



然后继续安装第4步刚开始的部分 ,cd httpd-2.4.2 然后 ./configure --prefix=/usr/local/apache --enable-module=shared --with-apr=/usr/local/apr/ --with-apr-util=/usr/local/apr-util/ --with-pcre=/usr/local/pcre

然后 sudo make sudo make install 完成 apache服务器的安装。



5、启动,重启和停止
/usr/local/apache/bin/apachectl -k start (不加参数k也行)
/usr/local/apache/bin/apachectl -k restart
/usr/local/apache/bin/apachectl -k stop



启动过程中会提示程序“apachectl”尚未安装。 您可以使用以下命令安装: sudo apt-get install apache2.2-common 然后在终端输入 sudo apt-get install apache2.2-common 完成后就可以启动了。启动的时候要用sudo 否则会报 (13)Permission denied: AH00072: make_sock: could not bind to address 0.0.0.0:80no listening sockets available错误 。还有一个解决办法是 Edit the config file to change the port Apache uses to a number greater than 1024.

简单启动apache命令。



复制Apache启动文件到usr/sbin里面 前面为你安装的apache的目录。

#cp /usr/local/apache/bin/apachectl /usr/sbin/

启动Apache时就可以简单的输入,而不用输入很长一段了。

sudo apachectl start 就可以启动了



设置Apache开机自启动

#vi /etc/rc.d/rc.local

增加一行 /sbin/apachectl start





6.、配置文件

gedit /usr/local/apache/conf/httpd.conf
修改以下配置(当然这些修改是最基本的修改,如果要更高级的,参照其他Ubuntu apache配置手册)

6.1、
找到:
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
在后面添加:
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps


6.2、
找到:
<IfModule dir_module>
DirectoryIndex index.html
</IfModule>
在下面添加:
<IfModule dir_module>
DirectoryIndex index.html index.php
</IfModule>


6.3、
找到:
#ServerName www.example.com:80
修改为:
ServerName 127.0.0.1:80或者ServerName localhost:80
记得要去掉前面的“#”
否则会出现以下错误提示:
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName




安装 PHP

1.下载PHP http://php.net/downloads.php 我下载的是 php-5.3.14.tar.bz2

放在主目录下,然后解压。tar -zjvf php-5.3.14.tar.bz2 解压后在主目录下得到一个 php-5.3.14文件。

cd php-5.3.14

sudo ./configure --prefix=/usr/local/php --with-mysql=/usr/share/mysql --with-apxs2=/usr/local/apache/bin/apxs


直接这样执行后,将会看到这样一个错误 configure: error: xml2-config not found. Please check your libxml2 installation.
sudo apt-get install libxml2(按2次Tab键)会有 libxml2 libxml2-dev libxml2-headers libxml2-utils
安装 libxml2-dev
sudo apt-get install libxml2-dev 然后继续安装php .configure...
然后会报一个错 Note that the MySQL client library is not bundled anymore!
这是由于安装mysql时没有安装mysql头文件,或者是路径指定不正确,php找不到mysql的头文件引起的错误提示。
解决方法。
1. 查看你的系统有没有安装mysql header
find / -name mysql.h
如果有。请指定--with-mysql=/跟你的正常路径。
如果没有。请看下一步。
2.redhat安装
rpm -ivh MySQL-devel-4.1.12-1.i386.rpm
3.debian安装
apt-get install libmysqlclient15-dev
我用的是ubuntu所以用的这条命令
4.最后一步php的配置选项添加--with-mysql=/usr即可!(这一步我没试,.configure 时还是原来的配置)
然后继续 sudo ./configure --prefix=/usr/local/php --with-mysql=/usr/share/mysql --with-apxs2=/usr/local/apache/bin/apxs
然后 sudo make sudo make install 完成安装。
完成安装后重启apache sudo /usr/local/apache/bin/apachectl -k stop sudo /usr/local/apache/bin/apachectl -k start

2.测试一下是否可用。

编写一个php文件。sudo gedit /usr/local/apache/htdocs/index.php

在里面填上<?php

phpinfo();

?>

然后在浏览器输入 。http://localhost/index.php 看到php相关信息即成功安装了。
原创粉丝点击