This article is quite old now. I've created a new article for Installing Linux Mint which is much more up to date.
The nettop PC I am going to be using is my Acer Revo R3600 which I got a while back to act as a multimedia server. Shortly after my PC broke and it took over as my main desktop and now it will serve as a web server.
I will be installing Ubuntu 10.04 Server Edition, but first a little look at the Revo specifications.
The Aspire Revo is small but powerful, fuelled by the latest mini processor, complemented by an advanced NVIDIA ION graphics chipset and HDMI connectivity supports full 1080P HD.
- Intel Atom 230 processor @ 1.60 ghz
- NVIDIA ION chipset
- 1 GB SDRAM
- 160GB Serial ATA II hard disk
- nVidia GeForce 9400
- High Definition audio (7.1)
- Four-in-one card reader
- High definition headphone and microphone jacks
- Gigabit Ethernet port
- HDMI port
- eSATA port
- D-Sub VGA port
Installation and Configuration
Having downloaded Ubuntu Server Edition x86 installation image and used Universal USB Installer to create a bootable USB stick to install from, the installation went perfectly smooth. The actual install is very simple and straight forward. I chose to install the LAMP server (Linux, Apache, Mysql, Php) and OpenSSH. That concludes the "official" installation and the start of the server setup.
The first thing I needed was an internet connection and that means getting the Wireless adapter installed and configured. Luckily the wireless card in the Revo was already detected and a driver installed, so all it needed was to be configured.
Wireless configuration is held in a file located in /etc/network/interfaces. This needs to be edited to add adapter information for wireless LAN.
sudo pico -w /etc/network/interfaces
And add the following lines
auto wlan0 iface wlan0 inet dhcp wireless-essid WIRELESS_SSID wireless-key s:WIRELESS_KEY wireless-channel 11 wireless-mode managed
Change WIRELESS_SSID and WIRELESS_KEY to match your network settings. You can then use the command below to restart network interfaces.
Not sure why we have to do this, but it fixes the hostnames properly.
echo <yourservername>.<yourdomain> > /etc/hostname /etc/init.d/hostname restart
Now the wireless interface is functioning, I have connected to the update server and downloaded the latest package lists manually.
aptitude update aptitude safe-upgrade
This may take a while to download all the latest packages and should be followed by a reboot of the system.
Mapping Network Drives
I plan on storing all the files for the web server on a NAS (Buffalo LinkStation) so I need to setup and configure Ubuntu to connect to the drive at boot. My initial attempts to add an entry in /etc/fstab were met with an unbootable system, so I have decided to put an entry into crontab to execute the manual mount command at bootup.
First create a new folder /usr/www/
sudo mkdir /usr/www
Then edit the crontab.
sudo crontab -e
And add the following line
@boot sudo mount -t cifs //192.168.0.10/websites/www /usr/www
This should mount the NAS at boot time.
We may need FTP on the server so let's install it now. PureFTPd can be installed with the following command:
aptitude install pure-ftpd-common pure-ftpd-mysql
Now edit the file /etc/default/pure-ftpd-common
sudo pico /etc/default/pure-ftpd-common
Then make sure that the start mode is set to standalone and set VIRTUALCHROOT=true:
... STANDALONE_OR_INETD=standalone ... VIRTUALCHROOT=true ...
My installation of PHP did not have any of the extensions loaded, so here is the command I used to manually add them. It can also be used to install PHP if it isn't already installed.
sudo aptitude install libexpat1 ssl-cert libapache2-mod-php5 php5 php5-common php5-gd php5-mysql php5-imap phpmyadmin php5-cli php5-cgi libapache2-mod-fcgid apache2-suexec php-pear php-auth php5-mcrypt mcrypt php5-imagick imagemagick libapache2-mod-suphp libopenssl-ruby
Then run the following command to enable the Apache modules suexec, rewrite, ssl, actions, and include:
a2enmod suexec rewrite ssl actions include
Restart Apache for changes to take effect.