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

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

1 ServerName lblog.lmlphp.com 2 <Directory /srv/www/lblog.lmlphp.com> 3 AllowOverride All 4 Order deny,allow 5 Allow from all 6 </Directory> 7 8 ErrorLog ${APACHE\_LOG\_DIR}/lblog.lmlphp.com-error.log 9 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)查看评论

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )