文档章节

Linux Ubuntu 下配置虚拟主机并开启ReWrite教程

hosser
 hosser
发布于 2016/07/13 15:36
字数 880
阅读 49
收藏 0

Linux Ubuntu 下配置虚拟主机并开启ReWrite教程技术

maybe yes 发表于2015-07-26 12:44

原文链接 : http://blog.lmlphp.com/archives/131/Ubuntu_Linux_to_configure_the_virtual_host_and_open_the_ReWrite_module_tutorials  来自 : LMLPHP后院

博客经常不更新是不好的,虽然世道不兴这个,虽然微时代是信息互联网的倒退。

在 Ubuntu 下如何设置虚拟主机,如何开启 rewrite 模块,如何安装 PHP 扩展。这些事情之前我的做法,都是直接源代码编译安装,然后修改配置文件,重启服务,最后搞定。这次在 VPS 的 Ubuntu 系统上发现不一样了,应该是更方便了,Apache2 有个新的命令 a2enmod (apache 2 enable module),PHP 也有个新的命令 php5enmod ,这两个命令可以直接做到开关模块,基本不用修改配置。

进入到 Apache2 的配置目录下,查看文件夹,如下:

root@may:/etc/apache2# ls -al
total 80
drwxr-xr-x  8 root root  4096 Jul 15 01:46 .
drwxr-xr-x 87 root root  4096 Jul 17 22:20 ..
-rw-r--r--  1 root root  7222 Jul 14 03:46 apache2.conf
drwxr-xr-x  2 root root  4096 Jul 14 02:59 conf-available
drwxr-xr-x  2 root root  4096 Jul 14 02:58 conf-enabled
-rw-r--r--  1 root root  1782 Jul 20  2013 envvars
-rw-r--r--  1 root root 31063 Jul 20  2013 magic
drwxr-xr-x  2 root root  4096 Jul 15 01:57 mods-available
drwxr-xr-x  2 root root  4096 Jul 15 02:07 mods-enabled
-rw-r--r--  1 root root   315 Jul 20  2013 ports.conf
drwxr-xr-x  2 root root  4096 Jul 14 03:24 sites-available
drwxr-xr-x  2 root root  4096 Jul 26 03:38 sites-enabled

发现 mods 和 sites 都有两个目录,一个是 available,一个是 enabled。enabled 目录下面都是软链接,指向 available。a2enmod/a2dismod 的作用只是创建软链接和取消软链接。如果需要创建一个虚拟主机,做法是在 sites-available 里面创建一个文件,然后创建软链接到 sites-enabled 目录下即可,也可以直接在 sites-enabled 下面创建配置文件。如下配置参考:

<VirtualHost *:80>
        ServerAdmin webmaster@localhost
        DocumentRoot /srv/www/lblog.lmlphp.com

        ServerName lblog.lmlphp.com
        <Directory /srv/www/lblog.lmlphp.com>
                AllowOverride All
                Order deny,allow
                Allow from all
        </Directory>

        ErrorLog ${APACHE_LOG_DIR}/lblog.lmlphp.com-error.log
        CustomLog ${APACHE_LOG_DIR}/lblog.lmlphp.com-access.log combined
</VirtualHost>

将上面的配置保存到文件,如 lblog.lmlphp.com.conf,然后通过 ln -s lblog.lmlphp.com.conf ../sites-enabled/lblog.lmlphp.com.conf 创建软链接,apache2 service reload,使得配置生效。或者通过 a2ensite/a2dissite 命令,管理需要生效和暂停的站点。是不是很方便啊。创建软链接后,查看文件如下:

root@may:/etc/apache2# tree sites-available/
sites-available/
├── 000-default.conf
├── default-ssl.conf
├── lblog.lmlphp.com.conf
└── webchat.lmlphp.com.conf

0 directories, 4 files
root@may:/etc/apache2# tree sites-enabled/
sites-enabled/
├── 000-default.conf -> ../sites-available/000-default.conf
├── lblog.lmlphp.com.conf -> ../sites-available/lblog.lmlphp.com.conf
└── webchat.lmlphp.com.conf -> ../sites-available/webchat.lmlphp.com.conf

需要注意的是 apache2 增加虚拟主机,如果主机对应的目录不在默认 WEB 目录范围内,需要在主配置文件 apache2.conf 中增加 Directory 配置,否则配置的虚拟主机是无效的,如果还不生效,需要检查主配置文件中是否有 NameVirtualHost。Directory 配置如下示例:

<Directory /srv/www/>
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
</Directory>

PHP 在使用的过程中,MySQL 的连接支持是必不可少的,在 PHP 较新版本,PHP5.5之后,已经默认不支持 MySQL 模块了,需要使用 MySQLPDO 和 MySQLI 来操作数据库。如果需要使用 MySQL 模块,可能会导致一个 Notice 错误(The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead)。PHP5.5 开启模块相比使用 phpize 编译源代码然后修改配置重启服务来的更方便,直接 php5enmod pdo_mysql 搞定。

阅(340)评(0)查看评论

本文转载自:http://blog.lmlphp.com/archives/131/Ubuntu_Linux_to_configure_the_virtual_host_and_open_the_ReWri...

共有 人打赏支持
hosser
粉丝 194
博文 78
码字总数 4614
作品 3
徐汇
私信 提问
ThinkPHP中配置伪静态(URL重写)规则

什么是伪静态?简单说就是将动态的url变成静态的url显示,就叫做伪静态。“伪”就是假的,不是真的静态url,是通过技术手段实现的。用户只 要开通无忧php虚拟空间就支持url重写功能,无需其它...

汤圆
2012/12/30
0
0
ubuntu下apache rewrite的设置

解决方法一 这两天把自己的站点移到了Ubuntu 9.04底下,要弄伪静态的页面,需要启用Apache的rewrite模块。在其他的Linux版本中,这个问题似乎要容易解决一些,但是在ubuntu下,就有点不大一样...

qinwei
2013/07/13
0
0
apache2在ubuntu11.10下的操作及问题汇总

这都是折腾了俺的问题, 俺要记录下来, 以泄其愤: 1. 重启apache: sudo /etc/init.d/apache2 restart 2. apache 虚拟主机以后出现 [warn] NameVirtualHost *:80 has no VirtualHosts 解决办法...

斯文剑客
2012/03/02
0
1
CI框架 CodeIgniter 伪静态 htaccess设置和Nginx伪静态方法

众所周知,LAMP代表Linux下Apache、MySQL、PHP这种网站服务器架构;而LNMP指的是Linux下Nginx、MySQL、PHP这种网站服务器架构。LNMP一键安装包可以从网上下载使用。 Nginx(发音同 engine x...

JK_OPERA
2015/01/07
0
0
composer laravel 环境搭建

安装Composer PHP包管理工具 官网: ttps://getcomposer.org packagist.org 中文网: http://www.phpcomposer.com 建议使用国内用户使用 中文网镜像, 具体参考: http://pkg.phpcomposer.com/ (...

黑狗007
2015/10/19
508
0

没有更多内容

加载失败,请刷新页面

加载更多

聊聊storm的AggregateProcessor的execute及finishBatch方法

序 本文主要研究一下storm的AggregateProcessor的execute及finishBatch方法 实例 TridentTopology topology = new TridentTopology(); topology.newStream("spout1", spout......

go4it
44分钟前
1
0
大数据教程(7.5)hadoop中内置rpc框架的使用教程

博主上一篇博客分享了hadoop客户端java API的使用,本章节带领小伙伴们一起来体验下hadoop的内置rpc框架。首先,由于hadoop的内置rpc框架的设计目的是为了内部的组件提供rpc访问的功能,并不...

em_aaron
今天
1
0
CentOS7+git+github创建Python开发环境

1.准备CentOS7 (1)下载VMware Workstation https://pan.baidu.com/s/1miFU8mk (2)下载CentOS7镜像 https://mirrors.aliyun.com/centos/ (3)安装CentOS7系统 http://blog.51cto.com/fengyuns......

枫叶云
昨天
1
0
利用ibeetl 实现selectpicker 的三级联动

1. js 直接写在html页面上面,ibeetl 就可以动态地利用后台传上来的model List ,不需要每次点击都要ajax请求后台 2. 使用selectpicker 的时候,除了对selecct option的动态处理后,还需要 $("#...

donald121
昨天
1
0
Android SELinux avc dennied权限问题解决方法

1. 概述 SELinux是Google从android 5.0开始,强制引入的一套非常严格的权限管理机制,主要用于增强系统的安全性。 然而,在开发中,我们经常会遇到由于SELinux造成的各种权限不足,即使拥有“...

TreasureWe
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部