Apache VirtualHost on Ubuntu

Here’s a quickie tutorial on how to add Virtual Hosts to Apache on Ubuntu. This tutorial assumes that you have a basic understanding of Apache configuration and that your Apache is installed and able to serve websites.

  1. cd /etc/apache2/sites-available
  2. sudo vim yourdomain.com.conf and enter your VirtualHost directive. Below I’ve put the most basic example, see Apache docs for details and additional features:
    <VirtualHost *>
      ServerName yourdomain.com
      DocumentRoot /home/youruser/public_html
    </VirtualHost>

    Save & exit.
  3. sudo vim /etc/hosts and add your new domain to the 127.0.0.1 localhost line so it looks like this:
    127.0.0.1 localhost yourdomain.com
    Save & exit.
  4. Enable your new virtualhost:
    sudo a2ensite yourdomain.com.conf
  5. Reload the Apache configuration:
    sudo /etc/init.d/apache2 reload

That’s it! Repeat for each of your VirtualHosts.

—————-
Now playing: Al̬may̬hu Esh̬t̩ РTchero Adari N̬gn
via FoxyTunes

Installing Ubuntu Server on a Dell Inspiron 530

I recently purchased a cheapie Dell Inspiron 530 to use as a new local devbox with the intent of installing Fedora 7 on it (the machine came with Ubuntu Desktop pre-installed). Foolish me, I just assumed that if Ubuntu was compatible with the hardware, then Fedora surely would be as well. WRONG. Fedora was unable to detect/install both the SATA controller and the integrated ethernet port. After a few hours trying to get Fedora to install, I decided to give up and give Ubuntu Server a try. Of course it wasn’t easy, so here are some of my notes in getting Ubuntu Server installed onto the Dell Inspiron 530.

I wanted to keep it simple so I just installed all of the defaults presented by the installer, including the LAMP package. Everything installed fine, however, the Integrated Network card was not detected/installed, so here’s how to get it up and running by compiling and installing the driver.

  1. First we need to install some prerequisites that are required in order to compile the driver. Make sure your Ubuntu Server CD is in the CD drive and run the following:
    sudo apt-get install linux-headers-2.6.20-15-server
    sudo apt-get install gcc
  2. Download the ethernet driver from Intel. The one I used is e1000-7.6.5.tar.gz. If you can’t find it at Intel, just Google the filename and I’m sure you’ll be able to find it somewhere.
  3. Burn the driver to a CD, mount it on your Ubuntu machine, and copy it to a local dir:
    sudo mkdir /mnt/cdrom
    sudo mount /dev/cdrom /mnt/cdrom
    sudo cp /mnt/cdrom/e1000-7.6.5.tar.gz /usr/src
  4. Compile and install the driver:
    cd /usr/src
    tar xfvz e1000-7.6.5.tar.gz
    cd e1000-7.6.5/src
    sudo make install
    sudo modprobe e1000
  5. Now configure your network card:
    sudo vim /etc/network/interfaces and your file should look like this (substitute your IP of choice):
    # This file describes the network interfaces available on your system
    # and how to activate them. For more information, see interfaces(5).
     
    # The loopback network interface
    auto lo
    iface lo inet loopback
     
    # This is a list of hotpluggable network interfaces.
    # They will be activated automatically by the hotplug subsystem.
    mapping hotplug
    script grep
    map eth0
     
    # The primary network interface
    auto eth0
    iface eth0 inet static
    address 192.168.1.66
    netmask 255.255.255.0
    network 192.168.1.0
    broadcast 192.168.1.255
    gateway 192.168.1.1
  6. Setup your DNS servers:
    sudo vim /etc/resolv.conf and it should look like this (I am using OpenDNS here but you can substitute your own):
    nameserver 208.67.222.222
    nameserver 208.67.220.220
  7. Restart the network:
    sudo /etc/init.d/networking restart
  8. Upgrade your system for good measure:
    sudo apt-get upgrade

That should be enough to get your Ubuntu Server up and running on the Dell Inspiron 530 with full network connectivity. Once you’re up and running, here are some other tweaks I did, although some of these may be personal preference.

  1. I don’t like Ubuntu’s sudo setup (I prefer log in in as root when needed). Out of the box the root account is disabled and your default account is given admin rights to run commands via sudo. To get around this, simply reset root’s password:
    sudo passwd root
    Now you will be able to su - and log in as root directly.
  2. Install SSH
    sudo apt-get install ssh
  3. Disable root login to SSH:
    sudo vim /etc/ssh/sshd_config and set the following:
    PermitRootLogin no
  4. Change the MySQL root password:
    mysqladmin -u root password "newpassword"
  5. Enable Apache’s mod_rewrite:
    sudo a2enmod rewrite
    sudo /etc/init.d/apache2 force-reload
  6. Install some other useful goodies:
    sudo apt-get install vim
    sudo apt-get install php5-mcrypt
    sudo apt-get install php5-curl
    sudo apt-get install php5-gd
    sudo apt-get install php-pear
    sudo pear upgrade-all
    sudo pear install mdb2
    sudo pear install pear/MDB2#mysqli

—————-
Now playing: Apparat – Steinholz (Monolake Remix)
via FoxyTunes