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

[经验分享] 【LINUX】linux搭建web服务器

[复制链接]
发表于 2018-5-24 09:13:35 | 显示全部楼层 |阅读模式
  linux httpd
  假设服务器地址为192.168.80.20/24

  •   1.   将准备安装的httpd软件包共享给everyone
  (1)linuxmount.cifs  //真机IP地址/共享文件夹名   /media /
  ls  /meidia/ 查看
  tar    xjvf   httpd-2.4.10.tar.bz2    -C  /usr/src       解压至/usr/src
  下面两个插件是httpd2.4以后的版本所需要的
  http://ftp.jaist.ac.jp/pub/apache/apr/apr-1.4.6.tar.gz
  wgethttp://ftp.jaist.ac.jp/pub/apache/apr/apr-util-1.4.1.tar.gz
  下载上面两个软件解压后复制到httpdsrclib解压目录中(不带版本号)
  tar   xzvf  apr-1.4.6.tar.gz   -C   /opt
  tar   xzvf  apr-util-1.4.1.tar.gz    -C    /opt
  cd   /opt
  cp   -r    apr-1.4.6   /usr/src/httpd-2.4.10/srclib/apr
  cp   -r   apr-util-1.4.1     /usr/src/httpd-2.4.10/srclib/apr-util
  (2)安装编译语言工具
  yum -y install \
  gcc \
  gcc-c++ \
  make \
  pcre-devel
  
  (3)cd    /usr/src/httpd-2.4.10/
  输入以下脚本(配置需求)
  ./configure \
  --prefix=/usr/local/apache\
  --enable-so \
  --enable-rewrite \
  --enable-mods-shared=most\
  --with-mpm=worker\
  --disable-cgid \
  --disable-cgi
  
  (参数解释:
  --prefix=   //来指定安装路径
  --enable-so  //该参数表示支持用mod_so模块提供的功能,用LoadModulehttpd.conf文件或包含的conf文件中动态加载某个模块。让 Apache 可以支持DSO模式
  --enable-rewrite  //支持 URL 重写
  --enable-mods-shared=most  //选项:告诉编译器将所有标准模块都动态编译为DSO模块。
  --with-mpm=worker// apacheworker方式运行
  --with-mpm=worker   //该参数是配置apache将以何种模式编译的。Apache网站文档指出不同操作系统下的不同的默认模式.
  --disable-cgid //禁止用一个外部 CGI 守护进程执行CGI脚本
  --disable-cgi //禁止编译 CGI 版本的 PHP
  
  
  安装如无报错,输入 make(编译)
  安装如无报错,再输入make  install(完成安装)
  (4) 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.
  第一行4个数字参数意义分别为:哪些Linux级别需要启动httpd(2,3,4,5);启动序号(85);关闭序号(15)
  chmod   +x   /etc/init.d/httpd                      添加执行权限
  chkconfig   --add   httpd                       
   注如果在/etc/init.d/apache不编辑这个# chkconfig: 2345 85 15内容的话,就没法用chkconfig--add来添加apache这个服务的
  chkconfig --listhttpd     查看启动项
  (5) vi    /usr/local/apache/conf/httpd.conf
  ServerName   s01.rhel.com
  Listen  网卡IP地址:80
  ln   -s   /usr/local/apache/conf/httpd.conf    /etc/httpd.conf                   做软链接
  /etc/init.d/httpd  start/stop                      启动/停止
  配置文件位置:  /usr/local/apache
  cat   /usr/local/apache/htdocs/index.html    查看默认文档
  
  2.匿名访问虚拟目录
  (1)vi   /usr/local/apache/conf/httpd.conf
  在末尾加上
  Include    /usr/local/apache/conf/conf.d/*.conf
  保存。
  
  (2)cd     /usr/local/apache/conf/conf.d
  vi    vdir.conf
  输入以下内容
  Alias   /ic/ "/var/www/icons/"                    虚拟目录对应物理路径
  <Directory  "/var/www/icons">
  Options   Indexes  MultiViews   FollowSymLinks
  AllowOverride   None
  Order   allow,deny                      白名单
  Allow   from   all                      允许所有人访问
  Require   all   granted                   给目录授权
  </Directory>
  保存。
  /usr/local/apache/bin/httpd  -k  start     启动web服务
  可以在浏览器上输入   //192.168.80.20/ic/    访问虚拟目录
  
  3需要身份验证的虚拟目录
  vi   /usr/local/apache/conf/conf.d/vdir.conf
  在原有的语句末尾加入以下一段:
  Alias   /share/    "/usr/share/doc/"
  <Directory  "/usr/share/doc/">
  Options   Indexes  MultiViews   FollowSymLinks
  AllowOverride   None
  Order   allow,deny
  Allow  from  all
  AuthName   "hello"
  AuthType   Basic                      设置认证的类型,basic为基本的认证
  AuthUserFile   /usr/local/apache/user       设置用于保存用户账号、密码的认证文件路径         require valid-user         要求只有认证文件中的合法用户才能访问。valid-user表示所有合法用户
  #Require  all   grante
  </Directory>
  保存
  添加有访问权限的用户
  ./htpasswd  -c  /usr/local/apache/user test              增加test用户,第一次要加-c
  ./htpasswd  /usr/local/apache/user  jack          增加jack用户,不需要加-c
  
    /usr/local/apache/bin/httpd  -k  restart    重启服务
  这是,访问\\192.168.80.20\share\  的时候,就需要使用test或者jack用户来验证。
  4.虚拟主机
  搭建好DNS
  1、全局配置文件
   vi   /etc/named.conf
  
  options {
          listen-on  port 53  { 192.168.80.11; };
        allow-query     { any; };
  }
  
  2、区域配置文件
   vi   /etc/named.rfc1912.zones
  
  zone  "benet.com"  IN  {
          type  master;
          file  "benet.com.zone";
          allow-update  { none; };
  };
  
  zone  "accp.com"  IN  {
          type  master;
          file  "accp.com.zone";
          allow-update  { none; };
  };
  
  
  3、区域数据配置文件
  # vi  /var/named/benet.com.zone
  $TTL 1D
  @       IN SOA @  admin(
                                          0       ; serial
                                          1D     ; refresh
                                          1H      ; retry
                                          1W      ; expire
                                          3H)    ; minimum
          NS     @
          A      192.168.80.20
  www     A      192.168.80.20
  
  # vi/var/named/accp.com.zone
  $TTL 1D
  @       IN SOA @  accp(
                                          0       ; serial
                                          1D      ; refresh
                                          1H      ; retry
                                          1W      ; expire
                                          3H)    ; minimum
          NS     @
          A      192.168.80.20
  www     A      192.168.80.20
  (1)基于域名,准备搭建www.benet.comwww.accp.com两个网址,IP均为192.168.80.20 .
  cd   /usr/local/apache/conf/conf.d
  vi   vhost.conf        
  输入以下脚本:
  <VirtualHost  192.168.80.20:80>
      ServerAdmin  webmaster@dummy-host.example.com
      DocumentRoot   /opt/benet/              主页物理路径
      ServerName  www.benet.com            域名
      ErrorLog  logs/bjxh.com-error_log      错误日志地址
      CustomLog   logs/bjxh.com-access_log common
  </VirtualHost>
  <Directory"/opt/benet/">                             授权目录
      Options  Indexes  MultiViews  FollowSymLinks
      AllowOverride  None
      Order  allow,deny                               白名单
      Allow  from  all
      Require  all  granted
  </Directory>
  
  <VirtualHost  192.168.80.11:80>
      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
  </VirtualHost>
  <Directory  "/opt/accp/">
      Options  Indexes  MultiViews  FollowSymLinks
      AllowOverride  None
      Order  allow,deny
      Allow  from  all
      Require  all  granted
  </Directory>
  (或者直接为/opt/授权
  <Directory  "/opt">
      AllowOverride  None
      Options  None
      Require  all  granted
  </Directory>
  准备两个主页,放在/opt/
  cd  /opt/
  mkdir   benet
  mkdir    accp
  echo    “<h1>this  is benet</h1>   >   /opt/benet/index.html
  echo    “<h1>this  is  accp</h1>   >  /opt/accp/index.html
  
   /usr/local/apache/bin/httpd  -k  restart    重启服务
  这时候,在浏览器上输入www.benet.com 或者www.accp.com的时候就可以分别访问两个主页了.
  (2)基于端口(比较少用)
  vi   /usr/local/apache/conf/conf.d/vhost.conf
  将原内容改为:
  Listen   192.168.80.11:8080
  <Directory"/opt/benet/">
      Options Indexes MultiViews FollowSymLinks
      AllowOverride None
      Order allow,deny
      Allow from all
      Require all granted
  </Directory>
  <VirtualHost192.168.80.20:80>
      ServerAdminwebmaster@dummy-host.example.com
      DocumentRoot /opt/benet/
      ServerName www.benet.com
      ErrorLog logs/benet.com-error_log
      CustomLog logs/benet.com-access_log common
  </VirtualHost>
  
  <Directory"/opt/accp/">
      Options Indexes MultiViews FollowSymLinks
      AllowOverride None
      Order allow,deny
      Allow from all
      Require all granted
  </Directory>
  <VirtualHost192.168.80.20:8080>
      ServerAdminwebmaster@dummy-host.example.com
      DocumentRoot /opt/accp/
      ServerName www.accp.com
      ErrorLog logs/accp.com-error_log
      CustomLog logs/accp.com-access_log common
  </VirtualHost>
  红字为跟以上不同的地方
  保存,重启服务。
  这时候,访问www.benet.comwww.accp.com:8080可以分别访问两个主页
  
  

运维网声明 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-480511-1-1.html 上篇帖子: 在linux上安装XRDP远程登录Linux系统 下篇帖子: MySQL for Linux(source installation )
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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