Test Server Installation and Configuration: Difference between revisions

From NSB App Studio
Jump to navigation Jump to search
No edit summary
Line 128: Line 128:


=== Configuring VSFTPD ===
=== Configuring VSFTPD ===
Using nano, make the following modifications to /etc/vsftpd.conf:
* Uncomment write_enable=YES
* Change anonymous_enable=YES to anonymous_enable=NO
* Uncomment local_enable=YES
* Uncomment local_umask=022
* Add the following lines:
<pre>
delete_failed_uploads=YES
pasv_min_port=50000
pasv_max_port=50100
port_enable=NO
chroot_local_user=YES
passwd_chroot_enable=YES
</pre>
Add an FTP user to the system, setting it's home folder to "/srv/ftp/./home" without quotes:
<pre>
sudo adduser ftpuser
</pre>
Restart vsftpd:
<pre>
sudo /etc/init.d/vsftpd restart
</pre>
Verify you can upload files by connecting via FTP as the user you just completed.  They should appear in the web root.
=== Creating the proper folder structure ===
=== Configuring incron ===
== Uploading & Verification ==
If everything has been configured correctly, you should be able to connect via FTP upload files using AppStudio's protocol, described below.
=== AppStudio Upload Protocol ===
=== Verification ===

Revision as of 22:38, 18 January 2014

The following instructions assume you are installing on a 64 bit machine. You can determine if your machine is 64 bit capable by looking up your CPU by model number. You can generally find the CPU type in the BIOS Setup, which is normally accessed on boot by pressing a function key or the delete key. Once you have the CPU model, you can verify it has a 64-bit instruction set by looking up the CPU on Intel's site. For instance:

These instructions have not been tested on a 32-bit machine. However, they should work with minimum changes. If you are planning to install on a 32 bit machine, you'll want to download the x86 image: http://releases.ubuntu.com/precise/ubuntu-12.04.3-server-i386.iso

Create Bootable Media

  1. Download Ubuntu Server 12.04.3 LTS 64 bit: http://releases.ubuntu.com/precise/ubuntu-12.04.3-server-amd64.iso
  2. Determine if you will be writing the ISO file to a CD or a USB drive.
    1. CD: simply write the ISO image to a writable CD. Detailed instructions are available here for many operating systems: https://help.ubuntu.com/community/BurningIsoHowto
    2. USB drive: writing to a USB drive can be a bit tricky. It's suggested that you use Linux Live USB Creator on Windows (http://www.linuxliveusb.com/en/home). Detailed instructions (and instructions for other OSes) can be found here: https://help.ubuntu.com/community/Installation/FromUSBStick

Install Ubuntu

More detailed install instructions can be found here: https://help.ubuntu.com/lts/serverguide/installing-from-cd.html

  1. Boot your Ubuntu media.
  2. You will be prompted to choose a language. Choose the appropriate language.
  3. Choose the option "Install Ubuntu Server"
  4. Select your language once again.
  5. Select your location.
  6. Select your keyboard layout. It's suggested you allow the installed to auto-detect it.
  7. Enter a hostname for this machine. If this machine has a name on your network, this would be it. This does not include the domain name. For example, "server01" and not "server01.example.com".
  8. Enter in the real name of the initial user.
  9. Choose a name for the initial user. This user will have administrative privileges, but will not be a super-user.
  10. Choose a password for the initial user.
  11. Choose to not encrypt your home folder.
  12. Choose to use Guided Partitioning, using the entire disk, with LVM.
  13. Select the proper disk.
  14. Write the changes to disk.
  15. Choose to use the entire disk again.
  16. Verify you will write changes to the disk again. The base system should now install.
  17. Setup an HTTP proxy, if you need one.
  18. Choose to install automatic updates.
  19. Choose to install the OpenSSH server.
  20. Install GRUB to the MBR.
  21. Reboot.

Remote Access

At this point you should be able to login to your server using SSH. If you can't login, there's a chance there's a problem with your network configuration. SSH uses port 22. Verify it's not being blocked by a firewall.

Configuring

Once your computer has rebooted, login using the username and password you created during the install process. The remainder of this tutorial assumes a basic familiarity with Bash, navigating folder structures from the command prompt in *nix, editing text files, and scripting. If you aren't comfortable with these topics, here are several tutorials that may help:

Update Packages

At the command prompt, type the following:

sudo aptitude update
sudo aptitude full-upgrade

Follow the prompt, and after the upgrade is complete, install apache, vsftpd, and incron:

sudo aptitude install apache2 vsftpd

Finally, reboot:

sudo reboot

Configure Apache

From the command prompt, switch to the following folder:

cd /etc/apache2/sites-available

Create a new site by creating a new text file:

sudo nano nsbserver

Paste the following content into the file, changing the ServerAdmin, ServerName, and ServerAlias to values that make sense for your server:

<VirtualHost *:80>
        ServerAdmin admin@example.com
        ServerName www.example.com
        ServerAlias example.com

        DocumentRoot /srv/ftp/home
        <Directory /srv/ftp/home/>
                Options FollowSymLinks
                AllowOverride None
                Order allow,deny
                allow from all
        </Directory>

        ErrorLog ${APACHE_LOG_DIR}/error.log

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

        CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

Save the file using Ctrl-X. Next, make the document root specified above:

sudo mkdir -p /srv/ftp/home

Finally restart apache:

sudo /etc/init.d/apache2 restart

Verify that you receive an empty folder listing when navigating to your server in a web browser. Verify that if you put a file in the document root (using touch, for instance) that file is now shown in the folder.

Configuring VSFTPD

Using nano, make the following modifications to /etc/vsftpd.conf:

  • Uncomment write_enable=YES
  • Change anonymous_enable=YES to anonymous_enable=NO
  • Uncomment local_enable=YES
  • Uncomment local_umask=022
  • Add the following lines:
delete_failed_uploads=YES
pasv_min_port=50000
pasv_max_port=50100
port_enable=NO
chroot_local_user=YES
passwd_chroot_enable=YES

Add an FTP user to the system, setting it's home folder to "/srv/ftp/./home" without quotes:

sudo adduser ftpuser

Restart vsftpd:

sudo /etc/init.d/vsftpd restart

Verify you can upload files by connecting via FTP as the user you just completed. They should appear in the web root.

Creating the proper folder structure

Configuring incron

Uploading & Verification

If everything has been configured correctly, you should be able to connect via FTP upload files using AppStudio's protocol, described below.

AppStudio Upload Protocol

Verification