Apache网站服务源码安装与站点部署

简介:

  在Internet 网络环境中,Web服务无疑是最为主流的应用系统,有了WEB站点,企业可以充分展示自己的产品,公司,宣传自己的企业形象,提供各种网上交流,业务平台等。

  Apache起源:源于 A Patchy Server(基于原有web服务程序的代码进行修改(补丁)后形成的服务器程序),最新的名称为 “Apache HTTP Server” ,软件名称 httpd

1995年,发布1.0 由 Apache Group 管理及维护
1999年,在Apache Group基础上成立Apache 软件基金会(Apache Software Foundation,ASF) 由 ASF 管理及维护

Apache 软件基金会软件:
Apache
Tomcat
Hadoop

官方站点:http://httpd.apache.org/

各种Web软件的市场份额统计:http://news.netcraft.com/

安装方式一:简单,快速,适用于实验环境

[[email protected] ~]# yum -y install httpd

安装方式二:稳定,功能全,适用于生产环境

安装前卸载rpm格式的软件包
[[email protected] ~]# rpm -q httpd
httpd-2.2.15-39.el6.x86_64
[[email protected] ~]# rpm -e httpd --nodeps
[[email protected] ~]# rpm -q httpd
package httpd is not installed

解压软代码软件,配置,编译,安装
[[email protected] ~]# tar xf httpd-2.2.31.tar.gz -C /usr/src/
[[email protected] ~]# cd /usr/src/httpd-2.2.31/
[[email protected] httpd-2.2.31]# ./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi && make && make install

--prefix=/usr/local/httpd    指定服务程序安装目录
--enable-so                       启用动态加载模块功能
--enable-rewrite                启用网页重写
--enable-charset-lite          启动字符集支持
--enable-cgi                      启用CGI脚本支持

[[email protected] httpd-2.2.31]# ls /usr/local/httpd/
bin build cgi-bin conf error htdocs icons include logs man manual modules

bin                    存放执行程序
cgi-bin               存放CGI程序
conf                  存放配置文件
htdocs               存放网页文件,例如:html php 等
lib                    存放执行程序关联库文件
logs                  存放日志文件
man                 存放帮助手册文件
modules            存放模块

优化执行路径,使用软链接(将执行程序链接到其他目录下)或者修改默认搜索路径:

[[email protected] httpd-2.2.31]# ln -s /usr/local/httpd/bin/* /usr/local/bin/
[[email protected] httpd-2.2.31]# ls -l /usr/local/bin/httpd /usr/local/bin/apachectl
lrwxrwxrwx 1 root root 30 8月 11 22:52 /usr/local/bin/apachectl -> /usr/local/httpd/bin/apachectl
lrwxrwxrwx 1 root root 26 8月 11 22:52 /usr/local/bin/httpd -> /usr/local/httpd/bin/httpd

查询httpd 服务程序信息
[[email protected] httpd-2.2.31]# httpd -v
Server version: Apache/2.4.16 (Unix)
Server built: Aug 11 2015 22:42:13
[[email protected] httpd-2.2.31]# httpd -l
Compiled in modules:
core.c
mod_so.c
http_core.c
worker.c

添加httpd系统服务
[[email protected] httpd-2.2.31]# cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
[[email protected] httpd-2.2.31]# vi /etc/init.d/httpd
#!/bin/sh
#chkconfig:35 80 20
#description:APACHE HTTPD SERVER
定义服务启动顺序与关闭顺序及描述信息

[[email protected] httpd-2.2.31]# chmod +x /etc/init.d/httpd
[[email protected] httpd-2.2.31]# chkconfig --add httpd
[[email protected] httpd-2.2.31]# chkconfig --list httpd
httpd 0:关闭 1:关闭 2:关闭 3:启用 4:关闭 5:启用 6:关闭
[[email protected] httpd-2.2.31]# service httpd start

服务启动问题1:

AH00557: httpd: apr_sockaddr_info_get() failed for RHEL6-Server1
AH00558: httpd: Could not reliably determine the server‘s fully qualified domain name, using 127.0.0.1. Set the ‘ServerName‘ directive globally to suppress this message

[[email protected] ~]# vim +98 /usr/local/httpd/conf/httpd.conf
将#注释去掉,更改为:
ServerName www.example.com:80

重新启动apache
[[email protected] ~]# service httpd stop
[[email protected] ~]# service httpd start
[[email protected] ~]# netstat -anpt |grep :80
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 86307/httpd

服务启动问题2:

/usr/local/apache/bin/httpd: error while loading shared libraries: libiconv.so.2: cannot open shared object file: No such file or directory
有很多so模块在/usr/local/lib目录下,所以在/etc/ld.so.conf中加入/usr/local/lib这一行

[[email protected] ~]# vi /etc/ld.so.conf
/usr/local/lib
[[email protected] ~]# /sbin/ldconfig -v
现在您已经将 Apach安装在 /usr/local/apache。本安装支持可装载模块
和标准的 MPM prefork。之后,可以使用如下命令启动 Apache 服务器:
[[email protected] ~]# /usr/local/httpd/bin/apachectl start

WEB站点部署:

[[email protected] ~]# apachectl -t
Syntax OK
[[email protected] ~]# cat /usr/local/httpd/htdocs/index.html
<html><body><h1>It works!</h1></body></html>
[[email protected] ~]# service httpd stop; service httpd start

浏览器:http://192.168.200.211
[[email protected] ~]# tail -f /usr/local/httpd/logs/access_log
192.168.200.1 - - [11/Aug/2015:23:06:12 +0800] "GET / HTTP/1.1" 200 45
192.168.200.1 - - [11/Aug/2015:23:06:12 +0800] "GET /favicon.ico HTTP/1.1" 404 209

全局配置参数:作用于整个web服务
ServerRoot:                     服务目录,在httpd.conf中配置文件时,如果使用的相对路径,则认为是在服务根目录下
ServerAdmin:                 管理员邮箱
User:                             运行服务的用户身份 daemon
Group:                           运行服务的组身份 daemon
ServerName:                  网站服务器的域名
DocumentRoot:              网页文档的根目录
Listen:                           监听的IP地址、端口号TCP 80
PidFile:                         保存httpd进程PID号的文件
DirectoryIndex:              默认的索引页文件
ErrorLog:                      错误日志文件的位置
CustomLog:                  访问日志文件的位置
LogLevel:                     记录日志的级别,默认为warn(警告)
Timeout:                     网络连接超时,默认为300秒
KeepAlive:                    是否保持连接,可选On或Off
MaxKeepAliveRequests: 每次连接最多请求文件数
KeepAliveTimeout:           保持连接状态时的超时时间
Include:                      需要包含进来的其他配置文件
CharsetDefault:           设置默认的字符集编码

区域配置项:
<Directory />                        定义/ 区域的开始
Options FollowSymLinks           允许使用符号链接
AllowOverride None               不允许隐含控制文件中覆盖配置
Order deny,allow                      定义访问控制应用顺序
Deny from all                    禁止任何人访问
</Directory>                定义/ 区域的结束

网站访问情况统计:部署AWSTATS分析系统

下载地址:
http://mirrors.cnnic.cn/apache//httpd/httpd-2.2.31.tar.gz
http://jaist.dl.sourceforge.net/project/awstats/AWStats/7.3/awstats-7.3.zip

AWSTATS 通过 Perl 通过语言编写的一款开源日志分析系统,可以分析apache samba vsftpd IIS等日志,支持同时分析多个WEB站点,以网站名称来区分不同的站点

[[email protected] ~]# unzip awstats-7.3.zip
[[email protected] ~]# mv awstats-7.3 /usr/local/awstats
[[email protected] ~]# cd /usr/local/awstats/tools/
[[email protected] tools]# chmod +x awstats_configure.pl
[[email protected] tools]# ./awstats_configure.pl
输入站点主配置文件位置:
/usr/local/httpd/conf/httpd.conf
将日志类型更改为,combined
y
确认创建站点配置文件
y
指定目标网站名称
www.crushlinux.com
按照缺省,接受设置
回车
回车
回车

修改站点配置文件
[[email protected] tools]# vim /etc/awstats/awstats.www.crushlinux.com.conf
51 LogFile="/usr/local/httpd/logs/access_log"
[[email protected] ~]# mkdir /var/lib/awstats

执行日志分析,并设置计划任务
[[email protected] ~]# cd /usr/local/awstats/tools/
[[email protected] tools]# chmod +x awstats_updateall.pl
[[email protected] tools]# ./awstats_updateall.pl now
Running ‘"/usr/local/awstats/wwwroot/cgi-bin/awstats.pl" -update -config=www.crushlinux.com -configdir="/etc/awstats"‘ to update config www.crushlinux.com
Create/Update database for config "/etc/awstats/awstats.www.crushlinux.com.conf" by AWStats version 7.3 (build 20140126)
From data in log file "/usr/local/httpd/logs/access_log"...
Phase 1 : First bypass old records, searching new record...
Searching new records from beginning of log file...
Jumped lines in file: 0
Parsed lines in file: 4
Found 0 dropped records,
Found 0 comments,
Found 0 blank records,
Found 4 corrupted records,
Found 0 old records,
Found 0 new qualified records.

[[email protected] tools]# crontab -e
*/1 * * * * /usr/local/awstats/tools/awstats_updateall.pl now
[[email protected] tools]# service crond restart
[[email protected] tools]# chkconfig --level 35 crond on

浏览器:http://192.168.200.211/awstats/awstats.pl?config=www.crushlinux.com

[[email protected] tools]# vi /usr/local/httpd/htdocs/awb.html
<html>
<head>
<meta http-equiv=refresh content="0;
http://192.168.200.211/awstats/awstats.pl?config=www.crushlinux.com">
</head>
<body></body>
</html>
[[email protected] tools]# /etc/init.d/httpd stop
[[email protected] tools]# /etc/init.d/httpd start

时间: 2024-11-08 18:21:41

Apache网站服务源码安装与站点部署的相关文章

Linux+Apache+Mysql+Php源码安装

一.安装环境: 系统:Centos6.5x64 Apache: httpd-2.4.10.tar.gz Mysql: mysql-5.6.20-linux-glibc2.5-x86_64.tar.gz Php: php-5.6.0.tar.gz Apr: apr-1.5.1.tar.gz Apr-util: apr-util-1.5.3.tar.gz Libxml2: libxml2-2.9.1.tar.gz 默认安装路径我们统一安装到/usr/local下 二.Apache安装: 安装Apac

手工编译安装Apache网站(源码包编译安装)

实验目标1.学会构建AWStats日志分析系统 2.学会编译安装httpd服务器3.熟悉httpd服务的部署过程及常见配置 实验环境1.安装包apr-util-1.4.1.tarapr-1.4.6.tar httpd-2.4.2.tar软件包百度网盘http链接:https://pan.baidu.com/s/1qrKgLVdeZ6xhnYZEd01KDA 密码:a0ka 2.服务器系统:Linux6.5  IP :192.168.100.10yum仓库已安装 共享文件夹挂载到Linux下 实验

Linux下MySQL、Apache、PHP源码安装全程实录(CentOS 6.4)

本文记录了我自己配置LAMP的全过程,借此记录一下,同时希望能够帮助一下需要帮助的LINUX新人,跟我一起学习,一起进步. MySQL安装全过程 源码包来自:http://distfiles.macports.org/mysql5/ $cd ~/Download $wget http://distfiles.macports.org/mysql5/mysql-5.1.60.tar.gz $chmod +x mysql-5.1.60.tar.gz $tar zxvf mysql-5.1.60.ta

centos7.4下安装配置PHP服务(源码安装)

一.检查php是否已经安装,使用php -v,是否能够看到版本号,或者使用rpm -qa | grep php查看是否安装过. 二.依赖包安装 Linux软件编译安装都需要依赖两个安装包 gcc gcc-c++ make 可使用yum在线安装 # yum -y install gcc gcc-c++  make     大部分依赖包这里使用下载的源码进行编译安装,出错的则可以使用网络yum源在线安装,也可以图省事,全都yum在线安装 安装yasm 下载地址:http://www.tortall.

Linux下搭建SVN+Apache环境【源码安装】

操作系统:redhat6.4(64位) 一.SVN介绍 SVN是一个版本控制工具,Subversion的版本库(repository),就是位于服务器,统一管理和储存数据的地方. 题外话,搭建SVN服务器apache是必须的吗? Subversion(SVN)作为一个单独的版本管理软件是不具备网页浏览功能的.就是说,你可以用版本管理的客户端比如:TotoriseSVN来和SVN服务器进行连接.这样如果你的电脑没有安装SVN客户端就不能使用SVN服务器提供的服务了.为了实现请客户端的目标,就想通过

linux服务之Lamp的源码安装(centos)

Linux+Apache+Mysql+Php源码安装 一.安装环境: 系统:Centos6.5x64 Apache: httpd-2.4.10.tar.gz Mysql: mysql-5.6.20-linux-glibc2.5-x86_64.tar.gz Php: php-5.6.0.tar.gz Apr: apr-1.5.1.tar.gz Apr-util: apr-util-1.5.3.tar.gz Libxml2: libxml2-2.9.1.tar.gz 默认安装路径我们统一安装到/us

烂泥:源码安装apache

本文由秀依林枫提供友情赞助,首发于烂泥行天下. 最近要开始学习nagios监控方面的知识了,但是nagios与apache结合的比较紧密,所以本篇文章就先把apache的源码安装学习下. 我们现在分以下步骤进行安装apache: 1. 安装编译环境 2. 卸载原有apache 3. 下载解压源码包 4. 安装apache 5. 测试apache 6. 查看apache安装生成的目录 7. 查看apache的配置文件 8. apache加入系统服务 一.安装编译环境 在安装apache之前,我们需

bash-scripts源码安装lamp(apache、php及部分扩展、mysql)

安装包版本:httpd-2.2.29.tar.gzzlib-1.2.8.tar.gzapr-util-1.5.4.tar.gzapr-1.5.1.tar.gzlibpng-1.6.17.tar.gzjpegsrc.v9a.tar.gzlibgd-gd-2.1.1.tar.gzphp-5.6.7.tar.gzfreetype-2.5.5.tar.gzlibmcrypt-2.5.8.tar.gzlibxml2-2.9.2.tar.gzmysql-5.6.23.tar.gz ======安装包下载网站

CentOS 6.3 源码安装LAMP(Linux+Apache+Mysql+Php)环境

一.简介 什么是LAMP LAMP是一种Web网络应用和开发环境,是Linux, Apache, MySQL, Php/Perl的缩写,每一个字母代表了一个组件,每个组件就其本身而>言都是在它所代表的方面功能非常强大的组件. LAMP这个词的由来最早始于德国杂志“c't Magazine”,Michael Kunze在1990年最先把这些项目组合在一起创造了LAMP的缩写字.这些>组件并不是开始就设计为一起使用的,但是,这些软件都是开源的,可以很方便的随时获得并免费使用,这就导致了这些组件经常