How to Install WordPress on Ubuntu 12.04

About WordPress

WordPress is a free and open source website and blogging tool that uses php and MySQL. It was created in 2003 and has since then expanded to manage 22% of all the new websites created and has over 20,000 plugins to customize its functionality.


The steps in this tutorial require the user to have root privileges. You can see how to set that up in the Initial Server Setup. 

Before working with wordpress, you need to have LAMP installed on your virtual private server. If you don’t have the Linux, Apache, MySQL, PHP stack on your VPS, you can find the tutorial for setting it up in the Ubuntu LAMP tutorial

Once you have the user and required software, you can start installing wordpress!

Step One—Download WordPress

We can download WordPress straight from their website:


This command will download the zipped wordpress package straight to your user’s home directory. You can unzip it the the next line:

tar -xzvf latest.tar.gz 

Step Two—Create the WordPress Database and User

After we unzip the wordpress files, they will be in a directory called wordpress in the home directory. 

Now we need to switch gears for a moment and create a new MySQL directory for wordpress. 

Go ahead and log into the MySQL Shell:

mysql -u root -p

Login using your MySQL root password, and then we need to create a wordpress database, a user in that database, and give that user a new password. Keep in mind that all MySQL commands must end with semi-colon. 

First, let’s make the database (I’m calling mine wordpress for simplicity’s sake; feel free to give it whatever name you choose):

Query OK, 1 row affected (0.00 sec)

Then we need to create the new user. You can replace the database, name, and password, with whatever you prefer:

CREATE USER [email protected];
Query OK, 0 rows affected (0.00 sec)

Set the password for your new user:

SET PASSWORD FOR [email protected]= PASSWORD("password");
Query OK, 0 rows affected (0.00 sec)

Finish up by granting all privileges to the new user. Without this command, the wordpress installer will not be able to start up:

GRANT ALL PRIVILEGES ON wordpress.* TO [email protected] IDENTIFIED BY 'password';
Query OK, 0 rows affected (0.00 sec)

Then refresh MySQL:

Query OK, 0 rows affected (0.00 sec)

Exit out of the MySQL shell:


Step Three—Setup the WordPress Configuration

The first step to is to copy the sample wordpress configuration file, located in the wordpress directory, into a new file which we will edit, creating a new usable wordpress config:

cp ~/wordpress/wp-config-sample.php ~/wordpress/wp-config.php

Then open the wordpress config:

sudo nano ~/wordpress/wp-config.php

Find the section that contains the field below and substitute in the correct name for your database, username, and password:

// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define('DB_NAME', 'wordpress');

/** MySQL database username */
define('DB_USER', 'wordpressuser');

/** MySQL database password */
define('DB_PASSWORD', 'password');

Save and Exit.

Step Four—Copy the Files

We are almost done uploading WordPress to the virtual private server. The final move that remains is to transfer the unzipped WordPress files to the website’s root directory.

sudo cp -r ~/wordpress/* /var/www/

Finally we need to set the permissions on the installation. First, switch in to the web directory:

cd /var/www/

Give ownership of the directory to the apache user.

sudo chown www-data:www-data * -R 
sudo usermod -a -G www-data username

From here, WordPress has its own easy to follow installation form online. 

However, the form does require a specific php module to run. If it is not yet installed on your server, download php-gd:

sudo apt-get install php5-gd

Step Five—RESULTS: Access the WordPress Installation

Once that is all done, the wordpress online installation page is up and waiting for you: 

Access the page by adding /wp-admin/install.php to your site’s domain or IP address (eg. and fill out the short online form (it should look like this).

See More

Once WordPress is installed, you have a strong base for building your site.

If you want to encrypt the information on your site, you can Install an SSL Certificate

How to Install Linux, Apache, MySQL, PHP (LAMP) stack on Ubuntu

About LAMP

LAMP stack is a group of open source software used to get web servers up and running. The acronym stands for Linux, Apache, MySQL, and PHP. Since the virtual private server is already running Ubuntu, the linux part is taken care of. Here is how to install the rest.

Set Up

The steps in this tutorial require the user to have root privileges on your VPS. You can see how to set that up in the Initial Server Setup in steps 3 and 4. 

Step One—Install Apache

Apache is a free open source software which runs over 50% of the world’s web servers.

To install apache, open terminal and type in these commands:

sudo apt-get update
sudo apt-get install apache2

That’s it. To check if Apache is installed, direct your browser to your server’s IP address (eg. The page should display the words “It works!” like this.

How to Find your Server’s IP address

You can run the following command to reveal your server’s IP address.

ifconfig eth0 | grep inet | awk '{ print $2 }'

Step Two—Install MySQL

MySQL is a powerful database management system used for organizing and retrieving data 

To install MySQL, open terminal and type in these commands:

sudo apt-get install mysql-server libapache2-mod-auth-mysql php5-mysql

During the installation, MySQL will ask you to set a root password. If you miss the chance to set the password while the program is installing, it is very easy to set the password later from within the MySQL shell.

Once you have installed MySQL, we should activate it with this command:

sudo mysql_install_db

Finish up by running the MySQL set up script:

sudo /usr/bin/mysql_secure_installation

The prompt will ask you for your current root password. 

Type it in.

Enter current password for root (enter for none): 
OK, successfully used password, moving on...

Then the prompt will ask you if you want to change the root password. Go ahead and choose N and move on to the next steps. 

It’s easiest just to say Yes to all the options. At the end, MySQL will reload and implement the new changes.

By default, a MySQL installation has an anonymous user, allowing anyone
to log into MySQL without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] y
... Success!

Normally, root should only be allowed to connect from 'localhost'. This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] y
... Success!

By default, MySQL comes with a database named 'test' that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] y
- Dropping test database...
... Success!
- Removing privileges on test database...
... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] y
... Success!

Cleaning up...

Once you’re done with that you can finish up by installing PHP.

Step Three—Install PHP

PHP is an open source web scripting language that is widely use to build dynamic webpages. 

To install PHP, open terminal and type in this command.

sudo apt-get install php5 libapache2-mod-php5 php5-mcrypt

After you answer yes to the prompt twice, PHP will install itself.

It may also be useful to add php to the directory index, to serve the relevant php index files:

sudo nano /etc/apache2/mods-enabled/dir.conf

Add index.php to the beginning of index files. The page should now look like this:

<IfModule mod_dir.c>

DirectoryIndex index.php index.html index.cgi index.php index.xhtml index.htm


PHP Modules

PHP also has a variety of useful libraries and modules that you can add onto your virtual server. You can see the libraries that are available.

apt-cache search php5-

Terminal will then display the list of possible modules. The beginning looks like this:

php5-cgi - server-side, HTML-embedded scripting language (CGI binary)
php5-cli - command-line interpreter for the php5 scripting language
php5-common - Common files for packages built from the php5 source
php5-curl - CURL module for php5
php5-dbg - Debug symbols for PHP5
php5-dev - Files for PHP5 module development
php5-gd - GD module for php5
php5-gmp - GMP module for php5
php5-ldap - LDAP module for php5
php5-mysql - MySQL module for php5
php5-odbc - ODBC module for php5
php5-pgsql - PostgreSQL module for php5
php5-pspell - pspell module for php5
php5-recode - recode module for php5
php5-snmp - SNMP module for php5
php5-sqlite - SQLite module for php5
php5-tidy - tidy module for php5
php5-xmlrpc - XML-RPC module for php5
php5-xsl - XSL module for php5
php5-adodb - Extension optimising the ADOdb database abstraction library
php5-auth-pam - A PHP5 extension for PAM authentication

Once you decide to install the module, type:

sudo apt-get install name of the module

You can install multiple libraries at once by separating the name of each module with a space. 

Congratulations! You now have LAMP stack on your droplet!

Step Four—RESULTS: See PHP on your Server

Although LAMP is installed, we can still take a look and see the components online by creating a quick php info page

To set this up, first create a new file:

sudo nano /var/www/info.php

Add in the following line:


Then Save and Exit. 

Restart apache so that all of the changes take effect:

sudo service apache2 restart

Finish up by visiting your php info page (make sure you replace the example ip address with your correct one):

It should look similar to this.

Windows 7 – AMD Radeon HD 6900 does not detect second monitor

If you are using VGA cables with a DVI-VGA adapter on the card that would be why the second monitor won’t work as only one of the DVI ports on the card is configured to work with a DVI-VGA adapter.

You need a DVI cable, as long as one of the monitors has a DVI port on it. Unfortunately not enough card manufacturers (like most of them) mention it anywhere or at least mark the backplates on the cards like this,

AMD Radeon HD 6900 does not detect second monitor-backplate.png

to indicate that the card only supports VGA via adapter from one of the DVI ports; one port being DVI-I (analogue and digital), with the other being DVI-D (digital only).

WTF homegroup

… i dont even

This just happened to me, and I was tearing my hair out – until I found that windows wasn’t updating either.  The problem – my system was too far out of time with normal time

Check your system clock, make sure it is real time and date.

When I changed it, suddenly I could join the homegroup.

Post: #1Tutorial: How to setup a TF2 server
NOTE: Work in progress! Not complete!

This is based on my experience with setting up a server from scratch, IE I didnt know anything about it when I started!

1) Download the HLDSTOOLUPDATE to a temp location, like c:Temp.
Use the link below to download HLDSTOOLUPDATE.
The tool is used to download, update and run the dedicated Source server.

2) Once you have downloaded hldsupdatetool.exe, run the installer and install to a permanent location, like c:HLServer

3) Now you need to download the files for your dedicated TF2 server.
To download the dedicated TF2 server, use this script in a .bat file:
c:HLServerhldsupdatetool -command update -game tf -dir c:HLServer
This is how it should look, if your server location is “c:HLServer”
When downloading, dont panic over the size….its about 1,8Gb.
Sometimes the update tool will exit for no reason. Just run it again untill you are confident you have everything.

4) Now you have you base installation. You just need to configure it.
Open Notepad and create a file called server.cfg and put it in the C:HLServerorangeboxtfcfg folder. (Remember NOT to save it as an “txt” file)
Heres a base server.cfg file:
// Team Fortress 2 Server Configuration File, To be used with TF2 only!

// Server Name
hostname “Team Fortress 2”

// Rcon Cvars
rcon_password “” //Set’s remote control password
sv_rcon_banpenalty 15 //Number of minutes to ban users who fail rcon authentication
sv_rcon_log 1 //Enable/disable rcon logging.
sv_rcon_maxfailures 3 //Max number of times a user can fail rcon authentication before being banned
sv_rcon_minfailures 5 //Number of times a user can fail rcon authentication in sv_rcon_minfailuretime before being banned
sv_rcon_minfailuretime 10 //Number of seconds to track failed rcon authentications

// Server Password
sv_password “” // Password protects server

// Server Cvars
mp_allowspectators 1 //Toggles whether the server allows spectator mode or not
mp_autocrosshair 0
mp_autoteambalance 1 //Toggles server autoteambalance
mp_bonusroundtime 5 //Time in seconds after round win until round restarts
mp_chattime 5 //amount of time in seconds players can chat after the game is over

mp_decals 1
mp_defaultteam 1
mp_disable_autokick 1 //Prevents a userid from being auto-kicked
mp_enableroundwaittime 1 //Enable timers to wait between rounds.
mp_fadetoblack 0 //fade a player’s screen to black when he dies
mp_falldamage 5 //Amount of damage players sustains from a fall
mp_flashlight 0 //Toggles flashlight on or off
mp_footsteps 1 //Toggles footsteps on or off
mp_forcecamera 0 //Restricts spectator modes for dead players
mp_forcerespawn 0
mp_forcerespawnplayers 1 //Force all players to respawn.
mp_forcewin 1 //Forces team to win
mp_fraglimit 0
mp_idledealmethod 2 //Deals with Idle Players. 1 = Sends them into Spectator mode then kicks them if they’re still idle, 2 = Kicks them out of the game
mp_idlemaxtime 1 //Maximum time a player is allowed to be idle (in minutes)
mp_maxrounds 10 //max number of rounds to play before server changes maps
mp_teams_unbalance_limit 2 //Teams are unbalanced when one team has this many more players than the other team. (0 disables check)
mp_teststalemate 0 //Test the stalemate mode. Parameter: <0/1>. If 1, the map will reset at the end.
mp_time_between_capscoring 5 //Delay between scoring of owned capture points.
mp_timelimit 20 //game time per map in minutes
mp_winlimit 10 //Max number of rounds one team can win before server changes maps
sv_allow_color_correction 1 //Allow or disallow clients to use color correction on this server.
sv_allow_wait_command 0 //Allow or disallow the wait command on clients connected to this server.
sv_allowdownload 1 //Allow clients to download files
sv_allowupload 1 //Allow clients to upload customizations files
sv_alltalk 0 //Players can hear all other players, no team restrictions
sv_alternateticks 0 //If set, server only simulates entities on even numbered ticks.
sv_autosave 0 //Set to 1 to autosave game on level transition. Does not affect autosave triggers.
sv_bonus_challenge 0 //Set to values other than 0 to select a bonus map challenge type.
sv_cacheencodedents 1 //If set to 1, does an optimization to prevent extra SendTable_Encode calls.
sv_cheats 0 //Allow cheats on server
sv_clearhinthistory 0 //Clear memory of server side hints displayed to the player.
sv_consistency 1 //Whether the server enforces file consistency for critical files
sv_contact “” //Contact email for server sysop
sv_downloadurl “” //Location from which clients can download missing files
sv_enableoldqueries 1 //Enable support for old style (HL1) server queries
sv_pausable 0 //Is the server pausable.

// Lan or internet play, Server region cvars
sv_lan 0 //Server is a lan server ( no heartbeat, no authentication, no non-class C addresses )
sv_region 255 // Region Codes: 0 – US East coast, 1 – US West coast, 2 – South America, 2 – South America, 3 – Europe, 4 – Asia, 5 – Australia, 6 – Middle East, 7 – Africa, 255 – world

//server Logging
sv_log_onefile 0 //Log server information to only one file.
sv_logbans 1 //Log server bans in the server logs.
sv_logblocks 0 //If true when log when a query is blocked (can cause very large log files)
sv_logecho 0 //Echo log information to the console.
sv_logfile 1 //Log server information in the log file.
sv_logflush 0 //Flush the log file to disk on each write (slow).
sv_logsdir “logs” //Folder in the game directory where server logs will be stored.

//Server Rates
sv_maxcmdrate 0 //(If sv_mincmdrate is > 0), this sets the maximum value for cl_cmdrate.
sv_maxrate 20000 //Max bandwidth rate allowed on server, 0 == unlimited
sv_maxreplay 2 //Maximum replay time in seconds
sv_maxupdaterate 100 //Maximum updates per second that the server will allow
sv_mincmdrate 0 //This sets the minimum value for cl_cmdrate. 0 == unlimited.
sv_minrate 0 //Min bandwidth rate allowed on server, 0 == unlimited
sv_minupdaterate 30 //Minimum updates per second that the server will allow

Complete list of server commands:
Other great list:

To start the TF2 dedicated server you can use this command:
c:HLserverorangeboxsrcds.exe -console -game tf -hostport 27015 +maxplayers 24 +map ctf_2fort
I start the server with the above, my server will support a maximum of 24 players, you can make it more or less if you like, and start on ctf_2fort map.

You can use the command in a .bat file

If you want to control the number of players on each class or spawntimes, use this program:

For more info on Dedicated Server:

Fast respawn without mods, by GTFO Gaming:

How to TEXT Idle TF2 with a batch file

If you want to text idle, the following is a step-by-step guide to doing so. First let’s go through creating your text idle shortcut:
  1. Highlight the following code with your mouse. Right click on the highlighted text and on the resulting menu click on Copy.
    C:"Program Files"Steamsteam.exe -applaunch 440 -textmode -nosound -nopix -novid -nopreload -nojoy -sw -w 640 -h 480 +map itemtest
  2. Open Notepad and paste that text into the edit window.
  3. Click on the File menu. On the resulting menu click on Save As.
  4. In the Save As box that comes up you will see *.txt highlighted in the File Name box near the bottom. Simply start typing idle.bat and it will overwrite what was there.
  5. In most cases Desktop will be selected for the location to save. Use the side bar to select where you want to save this file. Keep in mind this is the file you will need to run to text idle so put it somewhere easy to find such as the Desktop.
  6. Click Save.
Whenever you want to text idle:
  1. Make sure you are logged into Steam and simply run the idle.bat file you created by double-clicking on it. Note that some systems are set up to run files with a single click—be careful not to run the file twice as this will cause errors.
  2. A command window will flash up on the screen and then you will see the typical “Preparing to launch Team Fortress 2″ screen but instead of the game launching you should get another command window that will come up. It will go through some technical jargon and there will be some errors that go by, but wait it out. It should eventually come to the point where it says Username connected (Username being your current Steam Profile Name)
  3. Eat cake, walk away, or anything else because that is all you have to do. Let this run for however many hours a week you want to text idle.
  4. When you are done idling, use the X in the top right of the window to close your text idling session.
  5. Launch TF2 as normal to receive your drops.

How to install OpenVPN on a Debian/Ubuntu VPS instantly

This is a follow up post to How to setup a VPN server on a CentOS VPS instantly same requirements and instructions apply.
Minor distribution specific changes were made on the previous CentOS script to get it working under Debian and Ubuntu. We might create one single script which will install OpenVPN on most distributions and architectures in future.
To install issue the following commands logged in as root on your VPS (Refer to this post if you are facing any issues)
chmod +x
For any other issues and feedback please e-mail us at [email protected]
You may use and modify this script however you see fit, provided that you do not edit the original copyright.
# Quick and dirty OpenVPN install script
# Tested on debian 5.0 32bit, openvz minimal debian OS template
# and Ubuntu 9.04 32 bit minimal, should work on 64bit images as well
# Please submit feedback and questions at [email protected]
# John Malkowski 01/18/2010
ip=`grep address /etc/network/interfaces | grep -v  | awk '{print $2}'`
apt-get update
apt-get install openvpn libssl-dev  openssl
cd /etc/openvpn/
cp -R /usr/share/doc/openvpn/examples/easy-rsa/ /etc/openvpn/
cd /etc/openvpn/easy-rsa/2.0/
chmod +rwx *
. ./vars
source ./vars
echo -e "nnnnnnn" | ./build-ca
echo "####################################"
echo "Feel free to accept default values"
echo "Wouldn't recommend setting a password here"
echo "Then you'd have to type in the password each time openVPN starts/restarts"
echo "####################################"
./build-key-server server
cp keys/{ca.crt,ca.key,server.crt,server.key,dh1024.pem} /etc/openvpn/

echo "####################################"
echo "Feel free to accept default values"
echo "This is your client key, you may set a password here but it's not required"
echo "####################################"
./build-key client1
cd keys/
remote $ip 1194
dev tun
ca ca.crt
cert client1.crt
key client1.key
route-delay 2
route-method exe
redirect-gateway def1
dhcp-option DNS
verb 3"
echo "$client" > $HOSTNAME.ovpn
tar czf keys.tgz ca.crt ca.key client1.crt client1.csr client1.key $HOSTNAME.ovpn
mv keys.tgz /root

dev tun
ifconfig-pool-persist ipp.txt
ca ca.crt
cert server.crt
key server.key
dh dh1024.pem
push "route"
push "redirect-gateway"
keepalive 10 60
group daemon
echo "$opvpn" > /etc/openvpn/openvpn.conf
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -s -o venet0 -j MASQUERADE
iptables-save > /etc/iptables.conf
echo "#!/bin/sh" > /etc/network/if-up.d/iptables
echo "iptables-restore < /etc/iptables.conf" >> /etc/network/if-up.d/iptables
chmod +x /etc/network/if-up.d/iptables
echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
/etc/init.d/openvpn start
echo "OpenVPN has been installed
Download /root/keys.tgz using winscp or other sftp/scp client such as filezilla
Create a directory named vpn at C:Program FilesOpenVPNconfig and untar the content of keys.tgz there
Start openvpn-gui, right click the tray icon go to vpn and click connect
For support/bug reports email us at [email protected]"

How to Install rTorrent/ruTorrent on Debian/Ubuntu VPS

This tutorial will guide you through the setup of a fully-featured seedbox running on a Debian or Ubuntu system, including:

  • libtorrent 0.13.0
  • rTorrent 0.9
  • ruTorrent Web UI (3.0)

This guide has been tested with Debian 6 (x86_64) and Ubuntu 11.04 (x86_64).

To start, access your VPS via SSH (as the root user) and do the following to update your platform and install some required dependencies:

# apt-get update
# apt-get install subversion build-essential automake libtool libcppunit-dev libcurl3-dev libsigc++-2.0-dev unzip unrar-free curl libncurses-dev
# apt-get install apache2 php5 php5-cli php5-curl

Enable scgi for Apache:

# apt-get install libapache2-mod-scgi
# ln -s /etc/apache2/mods-available/scgi.load /etc/apache2/mods-enabled/scgi.load

Install XMLRPC:

# mkdir /install;cd /install
# svn checkout…mlrpc-c/stable xmlrpc-c
# cd xmlrpc-c
# ./configure –disable-cplusplus
# make
# make install

Intall libtorrent:

# cd /install
# wget
# tar xvf libtorrent-0.13.0.tar.gz
# cd libtorrent-0.13.0
# ./
# ./configure
# make
# make install

Install rTorrent:

# cd /install
# wget
# cd rtorrent-0.9.0
# ./
# ./configure –with-xmlrpc-c
# make
# make install
# ldconfig

Create required directories:

# mkdir /home/seeder1/rtorrent
# mkdir /home/seeder1/rtorrent/.session
# mkdir /home/seeder1/rtorrent/watch
# mkdir /home/seeder1/rtorrent/download

Setup .rtorrent.rc file (rTorrent config):

# cd ~/
# wget
# cp .rtorrent.rc /home/seeder1/

(Edit the settings in .rtorrent.rc, like max upload/download speed, max connected peers, etc, as needed.)

Install rTorrent:

# cd /install
# wget
# tar xvf rutorrent-3.0.tar.gz
# mv rutorrent /var/www
# wget
# tar xvf plugins-3.0.tar.gz
# mv plugins /var/www/rutorrent
# rm -rf /var/www/rutorrent/plugins/darkpal
# chown -R www-data:www-data /var/www/rutorrent

Secure /rutorrent:

# a2enmod ssl
# a2enmod auth_digest
# a2enmod scgi
# openssl req [email protected] -new -x509 -days 365 -nodes -out /etc/apache2/apache.pem -keyout /etc/apache2/apache.pem
# chmod 600 /etc/apache2/apache.pem
# htdigest -c /etc/apache2/passwords seedbox seeder1

(Enter a password of your choice when prompted, you will use this to log in to the ruTorrent web UI.)

# cd /etc/apache2/sites-available/
# rm -rf default
# wget
# a2ensite default-ssl
# /etc/init.d/apache2 reload

Install screen:

# apt-get install screen

Start rTorrent in a detached shell using screen:

# screen -fa -d -m rtorrent

(To start rtorrent automatically when the VPS is booted, add the above command to /etc/rc.local)

You can now access ruTorrent at http://xx.xx.xx.xx/rutorrent/(replace xx.xx with your server’s IP address). You should be greeted with a login prompt, where the username is “seeder1” and the password is the one you set above in the “secure /rutorrent” section.

Easy ruTorrent installer + Web server, FTP, Webmin (Ubuntu/Debian/Fedora/More)

All credit goes to Author brock from  original post here for reference also check there for faq questions regarding his script

This is an easy installer for ruTorrent (multi-user support), rtorrent, plugins and other dependencies. It requires noLinux knowledge. The only requirement is that you can copy and paste three lines of code. In 5-10 mins, you should have a fully working ruTorrent.

To install it, use one of the three lines of code below, depending on which OS you are using. The installation script will ask you some questions and then install everything you selected.

Ubuntu and Ubuntu clones:
wget –no-check-certificate -O autodl-setup
sudo sh autodl-setup

Any other OS
Log in as root:
yum update
allow it to update all
su –
Then install it:  to install wget on centos use “yum install wget”
wget –no-check-certificate -O autodl-setup
sh autodl-setup

If you already have another web server installed, you may need to disable it or uninstall it. If you don’t, the web server this script installs (*) might not work.

What it will do:

  • Install a web server (*)
  • Install ruTorrent with multi-user support (http and https)
  • Install 1st party ruTorrent plugins
  • Install an encrypted FTP server (vsftpd)
  • Install rtorrent with xmlrpc-c support
  • Install the IRC auto downloader plugin (autodl-irssi)
  • Install Webmin
  • Install a startup script for rtorrent and Irssi

You can disable any of the above by answering no when you run the installer.

* Apache, nginx, or lighttpd.

I’ve tested the following OSes (clean installs):

  • Arch Linux 2010.05
  • ArchBang 2010.10
  • CentOS 4.8
  • CentOS 5.5
  • ClearOS 5.2
  • Debian 4.0r7
  • Debian 5.0.3
  • Debian 5.0.7
  • Debian 6.0.0
  • Fedora 13
  • Fedora 14
  • Fedora 15
  • Frugalware 1.3
  • Gentoo 1.12.14
  • Linux Mint 8
  • Linux Mint 9
  • Linux Mint 10
  • Mandriva Linux release 2008.0
  • Mandriva Linux release 2010.1
  • MEPIS 8.5
  • openSUSE 11.1
  • openSUSE 11.3
  • openSUSE 11.4
  • Pardus 2009.2
  • Pardus 2011
  • PCLinuxOS 2010
  • Peppermint OS
  • RHEL 5.5
  • RHEL 6.0
  • Sabayon 5
  • Scientific Linux 5.5
  • Scientific Linux 6.0
  • Ubuntu Server 6.06.2 LTS
  • Ubuntu Server 8.04.4 LTS
  • Ubuntu Server 10.04.1 LTS
  • Ubuntu Server 11.04
  • Ubuntu 10.10
  • Unity release 2010

If your OS isn’t listed, but is derived from one of the above OSes, then the installer could still work. Eg., all Ubuntu and Debian derived OSes should work.


  • If you have SELinux enabled, it’s possible Apache or vsftpd won’t work.
  • To disable Selinux.
  • Edit /etc/selinux/config (e.g. $sudo vi /etc/selinux/config)

    Find the line:


    If you simply want to set selinux to permissive mode – which will still warn you when something would have been denied

    change to



  • The script doesn’t open any ports in your firewall. If your firewall is enabled, you may need to open a few ports.
  • if u cant access webgui use “iptables -F”

Ubuntu Server 6:

  • You need to enable the universe repository

RHEL/CentOS/Scientific 4 & 5:

geoip plugin:

  • Some OSes don’t have the PHP geoip module (thus disabling the ruTorrent geoip plugin).