大海Online的博客

Looking for Interest

ubuntu下的apache

最近仔细的研究了下ubuntu的apache

ubuntu下的apache跟其它操作系统下的apache, 有很大的区别

ubuntu下安装apache

    sudo apt-get install apache2

ubuntu下启用apache的模块

   sudo a2enmod <modname>

ubuntu下的apache的设计, 有很大程度上, 是帮助程序员尽量的减少conf的改动 比如:

  1. 让apache启用一个模块 a) 我们可以看到apache下的模块,是以文件的形式存在的, mods-enables下, 多一个模块的引用, 就表示启用一个模块, 而全部的模块, 是保存在 mods-available中的 b) 这样设计的原因, 就在于, 启用以及停用模块, 简化为文件的操作 c) 这样, apt-get,a2enmod这样的命令行,会更方便的执行命令, 否则要用正则匹配conf文件, 复杂麻烦,易出错, 而且耦合在了一起, 不利于apache的conf版本升级
  2. 让apache启用一个站点 同上面的设计一样, 站点也是使用 sites-available 以及 sites-enables 来管理的
  3. conf.d 的设计 a) 使用 conf.d 目录的设计, 让增加以及修改 apache2.conf 文件的方式, 改为了文件操作 b) 比如支持一个proxy的, 或者 Redirect 类的, 可以简化增加一个文件配置
  4. 利用别名的技术 a) 增加一个 phpmyadmin
      sudo ln -s  /usr/share/phpmyadmin  /var/www/phpmyadmin
    

    b) 或者自定义的代码库

      sudo ln -s  /home/admin/workspace  /var/www/workspace
    
      sudo ln -s  /home/admin/.m2/repository      /var/www/maven2
    
  5. 使用 .htaccess 将 .htaccess 打包在代码库里, 统一使用上面的别名部署, 统一代码管理, 减少与 apache 的相关配置文件的耦合
  6. 使用 .htpasswd 这其实也是一个不错的实践