ubuntu12.04 下配置LAMP环境,虚拟主机配置

1、Apache 配置

(1)启用 mod_rewrite 模块

    终端命令:sudo a2enmod rewrite

(2)重启Apache服务器:sudo /etc/init.d/apache2 restart

    Apache重启后可以测试一下,在/var/www目录下新建文件test.php,写入代码: 保存,在地址栏输入http://127.0.0.1/test.php 或 http://localhost/test.php ,如果正确出现了Mysql已经正确配置,表明Apache和mysql都正常了。(记得重启Apache服务器后再测试)。

 

2、让Apache支持PHP

打开"终端窗口",输入"sudo apt-get install libapache2-mod-php5"-->回车-->安装完成。

 

3、虚拟主机配置

当想在单台机器上设置多个域名或主机名时,我们就要用到基于名称的虚拟主机了。在用apt默认安装的系统下,在 Ubuntu 的 /etc/apache2/ 目录中有个 Apache2 的主配置文件 apache2.conf。在该文件中我们可以看到有这么一行内容:

Include /etc/apache2/sites-enabled/[^.#]*

这行的意思表明该文件包含了 /etc/apache2/sites-enabled/ 目录中文件名不含 “.” 或 “#” 这两个字符的所有文件。而在这个目录下,只有一个 000-default 的软链接文件,实际连接的是 /etc/apache2/sites-available 目录中的 default 文件,这实际上是一个通用配置文件。我们可以模仿这个来新建一个我们自己的虚拟主机配置文件。

以创建本机下的test.com主机为例:

在/etc/apache2/sites-available/下创建一个文件test,文件的内容如下:

<VirtualHost *:80>
    ServerAdmin ******@******
    DocumentRoot /var/www/test/
    ServerName test.vm

    <Directory />
        Options FollowSymLinks
        AllowOverride All
    </Directory>
    <Directory /var/www/test/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
    </Directory>
    
    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
        AllowOverride All
        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
        Order allow,deny
        Allow from all
    </Directory>
    
    ErrorLog ${APACHE_LOG_DIR}/wperror.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog ${APACHE_LOG_DIR}/access.log combined
   
    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride All
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>
</VirtualHost>             

 

保存好上述内容后执行如下命令:
sudo a2ensite test
系统提示如下:
Enabling site test.com.
To activate the new configuration, you need to run:
  service apache2 reload

这样的话,虚拟主机站点test就已经安装好了。这时你也可以在
/etc/apache2/sites-enabled/目录中发现多了一个 到/etc/apache2/sites-available/test 的软链接。接下来就是将Apache2重启来使虚拟主机站点运行起来:
sudo/etc/init.d/apache2 restart

修改系统hosts

修改hosts需要root权限

 

127.0.1.1   test.vm

 

这样你在浏览器上输入test.vm的话,就会被指向/var/www/test目录了。

另外,可用a2dissite这个命令单独对各个虚拟主机进行管理,如执行如下命令:

sudo a2dissite test
sudo /etc/init.d/apache2 restart

既可以维护 test这个站点,同时还不影响其他站点的正常运行。

另,mods-available 目录中的是所有可用的模块,而在 mods-enabled 目录中的则是已被安装到 Apache2 中的模块。由于在 mods-available 目录中已经有了 Rewrite 和Proxy 模块的配置引导文件,所以只需要简单地将其安装到 Apache2 中即可。使用命令:

sudo a2enmod rewrite
sudo a2enmod proxy

检查语法,重启web服务

谨慎起见,我们在重启服务前先检查下语法:

sudo apache2ctl configtest

没有错误的话,再重启Apache。

注:如果要在本机访问虚拟主机的地址,则在本地添加host,对应虚拟主机位置就可以。

 

若要修改默认访问index.php 则:
修改/etc/apache2/mods-available/dir.conf中的内容

<IfModule mod_dir.c>
    DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm
</IfModule>

 

 

posted @ 2015-11-26 16:26  王永东gg  阅读(107)  评论(0)    收藏  举报