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
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.
/etc/init.d/networking restart
Update Hostnames
Not sure why we have to do this, but it fixes the hostnames properly.
echo <yourservername>.<yourdomain> > /etc/hostname /etc/init.d/hostname restart
Updates
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.
Install PureFTPd
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 ...
Restart PureFTPd
/etc/init.d/pure-ftpd-mysql restart
PHP
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.
As shown here, the server is getting its IP address from a DHCP server. That can result
In the Linux server co,ing up on a different IP address when rebooted. It
Is probably better to tweak your DHCP server's configuration to
Assign a fixed address to your Linux server. In my home, the DHCP
Ser:er runs on the router and can be configured to assign fixed addresses to
Specific machines (recognized by their NIC MAC address. I have FIOS and the one gotcha I
Ran into is Verizon reserves block of IP addresses for each TV's settop box.
Take care to stay out of their block of IP addresses. IIRC it is 192.168.0.100 to 150
That they regard as reserved.
But you've given very little for me to go on, so I'm just guessing.
hi
your guide was very useful, but since I upgraded my pc to win7 I cannot ftp to my linux box - "425 Sorry, invalid address given"
can you help me fix this?
thx