如何在 ubuntu 13.10 中创建虚拟主机

Posted

技术标签:

【中文标题】如何在 ubuntu 13.10 中创建虚拟主机【英文标题】:How to create a virtual host in ubuntu 13.10 【发布时间】:2014-03-28 20:00:49 【问题描述】:

我正在使用 ubuntu 13.10 操作系统和 LAMP、Apache 2.4。

我想在 apache 上创建一个虚拟主机。我尝试了一些代码,但没有成功。

进行了以下修改。但它不起作用。

首先我在etc\apache2\apache2.conf 文件上将HostnameLookups off 更改为HostnameLookups on。然后我添加了下面的代码,

<VirtualHost *:80>
ServerName local.scholarships.theiet.in
DocumentRoot /home/www/my_project/public_html
<Directory path_to_code_base/public>
    Options -Indexes
    Require all granted
    DirectoryIndex index.php
    AllowOverride All
</Directory>
</VirtualHost>

重启 apache 后,我运行了 http://localhost/ 。该网站未加载。

运行http://localhost/时如何加载我的网站

【问题讨论】:

【参考方案1】:

这是在 Apache/Ubuntu 上创建虚拟主机的方法:

我的 000-default.conf 文件:

<VirtualHost *:80>
    DocumentRoot /var/www/php/frbit/l4blog/public/
    <Directory /var/www/php/frbit/l4blog/public/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
    </Directory>
    ServerName l4blog
</VirtualHost>

请注意,我创建了 ServerName,这是我的新主机的名称。

您可以像这样在 /etc/hosts 文件中添加新主机名:

127.0.0.1   your_host_name

为了不输入长网址,例如而不是

http://localhost/path/directory/file/...

您只需在地址栏中输入 your_host_name

your_host_name

【讨论】:

【参考方案2】:

sites-available 目录中的配置文件文件名现在必须以“.conf”结尾,因此在 /etc/apache2/sites-available/ 添加您的 .conf 文件,以 example.com.conf 的样式命名;在以下方面进行建模:

<VirtualHost *:80>
ServerAdmin you@example.com
    ServerName www.example.com
    DocumentRoot /var/www/example.com
    <Directory />
            Options FollowSymLinks
            Options Indexes FollowSymLinks MultiViews
            AllowOverride All
    require all granted
    </Directory>

    ErrorLog /var/log/apache2/example.com.error.log

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

    CustomLog /var/log/apache2/example.com.access.log combined    
</VirtualHost>

在 apache 中启用它:

$ sudo a2ensite example.com

(如果您以后需要禁用它,请使用 $sudo a2dissite example.com)

您可能还需要在 /etc/hosts 文件中添加一行:

127.0.0.1 example.com

不要忘记,虽然您已经使用 a2ensite 将站点添加到 apache,但您还需要重新启动 apache。

【讨论】:

重启 apache 时出现错误“sudo:无法初始化策略插件” 那是完全不同的东西——上面你有两个与你的虚拟主机问题相关的高质量答案。如果您有更多问题,请创建新帖子。 但是为了更有帮助,我认为这个问题(re sudo)已经在 askubuntu 网站上解决了,askubuntu.com/questions/170216/sudo-doesnt-work :-)【参考方案3】:

这是在 ubuntu 13.10 中创建虚拟主机的另一种方式

下面的例子展示了如何创建一个虚拟主机,

第一步:在/home/user/www/上创建一个名为site1.com的PHP项目

第 2 步:将/etc/apache2/apache2.conf 中的HostnameLookups off 更改为HostnameLookups on

第 3 步:在 /etc/apache2/sites-available/ 上创建一个名为 site1.com.conf 的配置文件

将此代码添加到site1.com.conf

<VirtualHost *:80>
ServerName site1.com
ServerAlias www.site1.com
ServerAdmin info@site1.com
DocumentRoot /var/www/site1.com
ErrorLog $APACHE_LOG_DIR/error.log
CustomLog $APACHE_LOG_DIR/access.log combined
<Directory "/var/www/site1.com">
    Options All
    AllowOverride All
    Require all granted
</Directory>
</VirtualHost>

第四步:然后将127.0.0.1 site1.com添加到/etc/hosts.txt

第 5 步:打开终端并运行命令,

sudo a2ensite site1.com

sudo /etc/init.d/apache2 restart

第六步:打开浏览器运行http://site1.com/

试试这个

【讨论】:

以上是关于如何在 ubuntu 13.10 中创建虚拟主机的主要内容,如果未能解决你的问题,请参考以下文章

使用 Apache 虚拟主机在 ubuntu 13.10 上设置 zf2

如何为 Apache 2.4/ubuntu 13.10 及更高版本设置虚拟主机?

Ubuntu 13.10不能启动VirtualBox怎么办

ubuntu 13.10 和 apache 2.4.6 上的虚拟主机

如何在 GitLab 中创建发布?

升级到 Ubuntu 13.10 后,Apache 上的 laravel 项目出现 403 错误