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>

浙公网安备 33010602011771号