Virtual host on ubuntu 13.10 and apache 2.4.6

前端 未结 8 1457
迷失自我
迷失自我 2021-01-30 07:09

I have the following problem
My hosts file is as follows:

127.0.0.1       localhost
127.0.1.1       barbala4o-HP-ProBook-4530s
127.0.1.1       mysite.local         


        
相关标签:
8条回答
  • 2021-01-30 07:23

    Ubuntu 13.10 and variants have moved to Apache 2.4. Apache 2.4 wants enabled virtual host config files to end in .conf by default.

    Solution

    Now to correct this problem there are two methods you can use to achieve the same result.

    1. The first solution and simple solution, is to add a .conf extension to all your virtual host. The new Apache 2.4 reads each virtual host in the sites-available directory with .conf extension outlined in the new Apache 2.4 configuration file.

    2. The second solution is to remove the .conf extension in Apache 2.4 configuration file located in /etc/apache2/apache2.conf

    In the old Apache 2.2 file the .conf file had a Include sites-enabled/ whereas the new .conf file has

    # Include the virtual host configurations:
    IncludeOptional sites-enabled/*.conf
    

    Change that line to read:

    # Include the virtual host configurations:
    IncludeOptional sites-enabled/
    

    The results: the command a2ensite yourdomain now runs as expected. If you are using the 2nd method; your virtual host files do not need to have the .conf extension.

    Note: Configuration file is "/etc/apache2/apache2.conf" in new Apache, so please copy document root path and other configurations from "/etc/apache2/sites-available/000-default.conf" to  "/etc/apache2/apache2.conf"
    
    • See more at: http://lyemium.com/content/virtual-host-issues-when-upgrading-apache-22-24#sthash.VVRCvEwS.dpuf
    0 讨论(0)
  • 2021-01-30 07:24

    For Apache 2.4.6 in Ubuntu 13.10,

    You will have

    /etc/apache2/apache2.conf
    /etc/apache2/sites-available/000-default.conf
    

    And

    /etc/apache2/sites-enabled/000-default.conf points to /etc/apache2/sites-available/000-default.conf

    Now, edit apache2.conf and add

    <Directory /home/my_site/public_html/>
        #YOUR SETTINGS
    </Directory>
    

    and edit sites-available/000-default.conf and change <VirtualHost *:80> to <VirtualHost localhost:80> to make apache listen localhost (on port 80) for your default settings.

    Now to make mysite.localhost work, add this to sites-available/000-default.conf

    <VirtualHost mysite.localhost:80>
        ServerName mysite.localhost
    
        ServerAdmin webmaster@mysite.localhost
    
        DocumentRoot /home/my_new_site_public_html
    
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
    </VirtualHost>
    

    Now edit your /etc/hosts/ file and change the IP of mysite.localhost from 127.0.1.1 to 127.0.0.1

    Now visit http://mysite.localhost & http://localhost

    :)

    0 讨论(0)
  • 2021-01-30 07:28
    <VirtualHost *:80>
            ServerAdmin webmaster@localhost
            ServerName mysite.localhost
    
            DocumentRoot /var/www/mysite
    
            <Directory /var/www/mysite/>
                    Options Indexes FollowSymLinks
                    AllowOverride All
                    Require all granted
            </Directory>
            ErrorLog /var/log/apache2/mysite-error.log
            CustomLog /var/log/apache2/mysite-access.log common
    </VirtualHost>
    

    In my case I just replaced <VirtualHost *:80> to <VirtualHost mysite.localhost:80> after much trial and error

    I hope this helps.

    Regards,

    0 讨论(0)
  • 2021-01-30 07:30

    For Kubuntu 14.04 & Apache 2.4.7

    After trying the suggestions above, and still bumping on permissions issues, a "chmod 755 $HOME" worked for me. Not to be used on a multi-user system.

    0 讨论(0)
  • 2021-01-30 07:39

    Just a note for people pulling out their hair about this topic, you'll need to use sudo for all of these settings to take place if you're using an AWS instance.

    sudo a2ensite example.com
    

    Keep in mind you need to do this for even restarting apache. If you don't see your changes taking place, this is likely the culprit.

    sudo service apache2 restart
    
    0 讨论(0)
  • 2021-01-30 07:43

    I found the problem after 3h of experimenting. Apparently in the new Ubuntu 13.10 for some stupid reason the conf file for the virtual host has to look similar to this:

    <VirtualHost mysite.localhost>
            ServerAdmin webmaster@example.com
            ServerName  mysite.localhost
            ServerAlias mysite.localhost
    
            # Indexes + Directory Root.
            DocumentRoot /var/www/mysite/public_html
    
             <Directory /var/www/mysite/public_html/>
                    DirectoryIndex index.php
                    Options Indexes FollowSymLinks
                    AllowOverride All
                    Require all granted
            </Directory>
    
            # Logfiles
            ErrorLog /var/log/apache2/mysite-error.log
            CustomLog /var/log/apache2/mysite-access.log common
    </VirtualHost>
    

    Apparently the guys that developed Ubuntu 13.10 decided that it is no longer valuable to use

    <VirtualHost *:80> 
    

    when making a virtual host and instead it has to be

    <VirtualHost mysite.localhost>
    

    mixed with specifically specifying DirectoryIndex. This fixed the problem i had and now things are working(hopefully as they should, something may come up eventually) Apparently the configuration file of apache is different.

    0 讨论(0)
提交回复
热议问题