设为首页 收藏本站
查看: 751|回复: 0

[经验分享] 6.5版 apache编译安装及搭建

[复制链接]
发表于 2018-11-23 09:49:32 | 显示全部楼层 |阅读模式
apache安装

(一)在linux或windows平台共享apache安装软件,并挂载
yum install -y cifs-utils
mount //192.168.1.100/Apache--httpd /opt
(二)解压文件
cd /opt
tar zxvf apr-1.4.6.tar.gz -C /usr/local
tar zxvf apr-util-1.4.1.tar.gz -C /usr/local
tar zxvf httpd-2.4.4.tar.gz -C /usr/local 
(三)复制解压文件,去掉版本号
cd  /usr/local
cp -r apr-1.4.6 httpd-2.4.4/srclib/apr
cp -r apr-util-1.4.1 httpd-2.4.4/srclib/apr-util
(四)安装下面的三个必须安装的编译语言工具gcc、gcc-c++、make
安装过程出现的错误,要安装prce-devel这个开发包
yum -y install gcc
yum -y installgcc-c++
yum -y installmake
yum -y installpcre-devel
(五)源码编译
cd  /usr/local/httpd-2.4.4
./configure \
--prefix=/usr/local/apache \
--enable-so \
--enable-rewrite \
--enable-mods-shared=most \
--with-mpm=worker \
--disable-cgid \
--disable-cgi  
参数解释:
./configure \     //可执行配置程序
--prefix=       //指定将httpd服务程序安装到哪个目录
--enable-so  //该参数表示支持用mod_so模块提供的功能,用LoadModule在httpd.conf文件或包含的conf文件中
动态加载某个模块。让 Apache 可以支持DSO模式
--enable-rewrite       / /启用网页地址重启功能,用于网站优化及目录迁移维护
--enable-mods-shared=most  //选项:告诉编译器将所有标准模块都动态编译为DSO模块。
--with-mpm=worker // 让apache以worker方式运行
--with-mpm=worker   //该参数是配置apache将以何种模式编译的。Apache网站文档指出不同操作系统下的不同
的默认模式.
--disable-cgid //禁止用一个外部 CGI 守护进程执行CGI脚本
--disable-cgi //禁止编译 CGI 版本的 PH,不便于扩展网站的应用访问能力
(六)源码编译及安装
make                把源代码转换为可执行程序
make install           拷贝过程:将/usr/local/httpd-2.4.4目录下编译完的http程序及相关目录,文件复制到预设
                               的安装目录(及--prefix=/usr/local/apache指定的安装路径)
(七)使httpd服务可以使用service管理
"service”管理的命令都在/etc/init.d/这个目录下
grep -v "#"/usr/local/apache/bin/apachectl> /etc/init.d/httpd
vi /etc/init.d/httpd
在文件最前面插入下面的三行,使其支持chkconfig命令
    #!/bin/sh
              # chkconfig: 2345 85 15
              # description: Apache is a World Wide Web server.
第二行参数意义分别为:Linux2,3,4,5级别需要启动httpd服务,启动序号(85);关闭序号(15)
chmod+x /etc/init.d/httpd    //把httpd文件加上可执行权限
chkconfig --add httpd //注如果在/etc/init.d/httpd不编辑这个# chkconfig: 2345 85 15内容的话,
就没法用chkconfig --add来添加apache这个服务的

htpd的基本配置(访问默认网页)

(一)修改主配置文件
vi /etc/httpd.conf(# vi /usr/local/apache/conf/httpd.conf)
ServerName //设置成hostname显示的名称
Listen 192.168.1.20//添加或修改监听本地的IPv4的地址的80端口
cat /usr/local/apache/htdocs/index.html
It works!     默认显示网页

(二)设置软连接
ln -s /usr/local/apache/conf/httpd.conf/etc/httpd.conf  软连接------/etc/httpd.conf -> /usr/local/apache/conf/httpd.conf
虚拟目录(匿名用户访问)

(一)修改主配置文件
vi /usr/local/apache/conf/httpd.conf//在主配置文件里添加一条参数
Include conf.d/*.conf         //识别/usr/local/apache/conf.d目录下以.conf 结尾的虚拟目录配置文件
(二)创建虚拟目录
mkdir /usr/local/apache/conf.d
(三)编辑虚拟目录下的配置文件
cd /usr/local/apache/conf.d
vi vdir.conf
Alias /anon "/opt/anon/"

    Options Indexes MultiViews FollowSymLinks    //固定模式
    AllowOverride None//固定的不允许重写
    Order allow,deny                           //先允许,后拒绝      
    Allow from all                             //允许任何网段客户机访问  
    Require all granted  //对这个目录给予授权,这是6.0手动编译安装的apache时,定义被访问目录的权限

(四)创建虚拟目录存放路径
mkdir /opt/anon
(五)在虚拟目录下存放文件
echo "this is www.benet.com" > /opt/anon/index.html

虚拟目录(用户授权访问)

(一)修改主配置文件
vi /usr/local/apache/conf/httpd.conf//在主配置文件里添加一条参数
Include conf.d/*.conf         //识别/usr/local/apache/conf.d目录下以.conf 结尾的虚拟目录配置文件
(二)创建虚拟目录
mkdir /usr/local/apache/conf.d
(三)编辑虚拟目录下的配置文件
vi /usr/local/apache/conf.d/vdir.conf
Alias /test "/opt/test/"        指定授权虚拟目录名(即192.168.1.20/test),虚拟目录存放路径
                        //虚拟目录存放路径
    Options Indexes MultiViews FollowSymLinks           //固定模式
    AllowOverride None                              //固定的不允许重写
    AuthName "hello"          //定义受保护的领域名称,该内容将在浏览器弹出的认证对话框中显示
    authtype basic             //设置认证的类型,basic为基本的认证
authuserfile /usr/local/apache/user//这里的文件路径要和创建用户认证数据文件的路径一样的
require valid-user        //要求只有认证文件中的合法用户才能访问。valid-user表示所有合法用户
#   authgroupfile /etc/httpd/group   //设置组的保存用户账号、密码的认证文件路径
#  authuserfile /etc/httpd/user//设置用于保存用户账号、密码的认证文件路径
#   require user test         //只允许指定的test这个用户访问
#   Require group admin     //允许访问的组名,只有组中定义的才能访问
#   Require all granted     //对这个目录给予授权,这是6.0手动编译安装的apache时,定义被访问目录的权限

(四)使用htpasswd工具,创建用户认证数据文件
htpasswd -cn /usr/local/apache/user test 新建数据文件user,并包含一个名为test用户信息。(这里的文件路径要和虚拟目录下的配置路径一样(即authuserfile /usr/local/apache/user/)
(五)创建虚拟目录存放路径
mkdir /opt/test
(六)在虚拟目录下存放文件
echo "this is www.benet.com" > /opt/anon/index.html
注!!
/usr/local/apache/bin/htpasswd -c 等同于htpasswd -c
htpasswd这个工具在我们手工编译的安装路径的bin的执行文件下,用“-c”的参数表示新建立此文件。
如下所示:如果省略“-c”选项,则表示指定的用户数据文件已经存在,用于添加新的用户或修改现有用户的密码
htpasswd /usr/local/httpd/user tom
New password: 修改密码
Re-type new password: 确认修改密码
Re-type new password:mkdir /opt/benet

虚拟主机(基于端口号)
(一)新建虚拟主机目录和网站
mkdir /opt/accp
mkdir /opt/benet
echo "this is www.benet.com" >/opt/benet/index.html
echo "this is www.accp.com" > /opt/accp/index.html
(二)修改主配置文件
vi /usr/local/apache/conf/httpd.conf//在主配置文件里添加一条参数
Include conf.d/*.conf         //识别/usr/local/apache/conf.d目录下以.conf 结尾的虚拟目录配置文件
(三)编辑虚拟主机配置文件(子配置文件)
touch /usr/local/apache/conf.d/vhost.conf
vi /usr/local/apache/conf.d/vhost.conf
Listen 81          //监听端口

    ServerAdmin xiaohang@benet.com
    DocumentRoot /opt/benet/
    ServerName www.benet.com
    ErrorLog logs/bjxh.com-error_log
    CustomLog logs/bjxh.com-access_log common


    Options Indexes MultiViews FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
    Require all granted



    ServerAdmin xiaohang@accp.com
    DocumentRoot /opt/accp/
    ServerName www.accp.com
    ErrorLog logs/xhce.com-error_log
    CustomLog logs/xhce.com-access_log common


    Options Indexes MultiViews FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
    Require all granted

虚拟主机(基于域名)
(一)配置搭建DNS服务器
1、全局配置文件
vi /etc/named.conf
options {
        listen-on port 53 { 192.168.1.20; };
allow-query     { any; };
};
2、区域配置文件
vi /etc/named.rfc1912.zones
zone "benet.com" IN {
        type master;
        file "benet.com.zone";
};
zone "accp.com" IN {
        type master;
        file "accp.com.zone";
        allow-update { none; };
};
3、区域数据配置文件
# vi /var/named/benet.com.zone
$TTL 1D
@       IN SOA  @  xiaohang.benet.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      www.benet.com.
www    A       192.168.1.20

vi /var/named/accp.com.zone
$TTL 1D
@       IN SOA  @  xiaohang.accp.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      www.accp.com.
www    A       192.168.1.20
(二)修改主配置文件
vi /usr/local/apache/conf/httpd.conf//在主配置文件里添加一条参数
Include conf.d/*.conf         //识别/usr/local/apache/conf.d目录下以.conf 结尾的虚拟目录配置文件
(三)编辑虚拟主机配置文件(子配置文件)
touch /usr/local/apache/conf.d/vhost.conf
vi /usr/local/apache/conf.d/vhost.conf
         //设置benet虚拟站点区域
    ServerAdmin xiaohang@benet.com   //管理员邮箱
    DocumentRoot /opt/benet/         //网站根目录路径
    ServerName www.benet.com       //虚拟主机网站名称
    ErrorLog logs/bjxh.com-error_log     //错误日志存放路径
    CustomLog logs/bjxh.com-access_log common    //设置访问日志文件的路径,日志类型

                          //设置目录访问权限
    Options Indexes MultiViews FollowSymLinks     //控制选项,允许使用符号链接
    AllowOverride None       //不允许隐含控制文件中的覆盖配置
Order allow,deny         //白名单,先允许,后拒绝
    Allow from all           //允许所有网段访问虚拟主机网站
    Require all granted       //要求所有的授权



    ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot /opt/accp/
    ServerName www.accp.com
    ErrorLog logs/xhce.com-error_log
    CustomLog logs/xhce.com-access_log common


    Options Indexes MultiViews FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
    Require all granted






运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-638515-1-1.html 上篇帖子: php mysql apache nginx 编译后如何查看编译参数 下篇帖子: php 与apache 的整合
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表