How to get startet??


I have a site that has those Server Requirements:

  • Web Server - Apache, IIS, CGI, FastCGI or ISAPI

  • Operating System - Solaris, Linux, BSD, Windows or Mac

  • PHP Version - Minimum - 5+

  • MySQL Version - Minimum - 4.1

  • GD complied with your PHP Build - Yes

  • SendMail - Yes

  • PHP safe mode - OFF

  • PHP memory_limit - 32M

  • PHP CURL - Yes

  • Minimum Web Space - 15 mb

As linode is not managed server, I get probelms for seting up my site and running.

Is there any beginners geuide step by step some where that teach people how to run a linux server?

I just want to start it from the scrach and learn as much as possible to be able to run and set up my servers in the future, it is never to late I think, because if there is good geuides/courses I can learn.

Or will somebody here transfer my website from my shared host to linode and install my server requirements for me? If yes, how much will it cost me?

Please, give me the advice that can help me.

Thanks and appreciate all serious answers.

13 Replies

Yes, there are a number of guides here:

If your software vendor recommends a specific Linux distribution, that will narrow your requirements down a lot. For example, if they recommend CentOS, you can start by using a user-contributed StackScript OR by deploying a standard image then setting up Apache, MySQL, and PHP by hand. Similar StackScripts exist for other distributions as well; see for the repository.

If they don't recommend a specific distribution, then you can run whichever distribution you'd like. This is a blessing and a curse :-). The Internet has millions of discussions regarding which distribution is the best; all I'll say is to take a look through the Library, the StackScripts, and the stats on

Good luck! And remember, no matter what, always keep your system's security in mind.


Thank you for your time.

No, they don't recommend any specific distribution, but I have used CentOS at with no problems.

I am a newbi and don't know things about unmanaged servers system's security etc. Is that hard to understand?

So, now I want to e.g use CentOs and register for an acount at linode, how can I set up my site's requirements? I don't find info about it:S

Or there are some one here that have done those tastks for people for a charge, like a developer/programmer?


There are several people that will one time fee you, or monthly manage your linode for you, but these can be up to 120 dollars an hour for such services.

Look at the Linode Library, already linked to in this thread. You want a LAMP stack with your requirements. I use Ubuntu/Debian (Apt based distribution), so I would deploy the LAMP stackscript on an Ubuntu 10.04 LTS image. I would then type apt-get install php5-curl to get CURL libraries into PHP, and use the exim mail server for sending email (My linodes do not accept mail.)

What I explained, btw, is in the linode library. You just have to start at the beginning (LAMP), and then start searching for things like GD (Usually compiled with the rpm/deb/etc) or CURL. Changing the PHP Memory limit is editing a text file, I think 32M is stock on most distros, but the library explains what file to change it to.

If you've got 75 bucks, I'll be happy to do it for you. My company does web hosting using linodes and I administer several servers spread across the intertubes.


Welcome to Linode!

Have you signed up for a Linode yet? Which plan did you pick? Or do you need help with that as well? What service are you switching from? What distro do you plan on using? You will most likely get the most (personalized) help on #linode (or these forums) if you use Debian Lenny or Ubuntu (q.v. "Interesting Statistics") but if you decide on another distro, don't despair, most of the guides in the Linode Library can be used even if they don't match the distro you're using. You will just need to know about your distro-specific commands and more rarely, where certain config files are placed depending on the distro/package manager you use).

Do you have any *nix (Linux, FreeBSD, etc) knowledge? If so, much of building a server will come easily to you. For me, building a server was easy, the hard part was configured it to be optimized for my uses. This seems to be an ongoing thing. It may not sound fun at first - maybe even daunting - but I promise, the challenges you are faced with are, at least, interesting and at best, intellectually fun!

A wealth of information is available at

Specifically, check out these links for setting up your own VPS for your specific requirements: - Important if you are new to the Linux world … stribution"> - Reading this guide will take longer than doing what it says. :) … on-basics/"> - Important for setting up a good server - goes hand-in-hand with the security basics guide. - This guide will get you quickly up and running in a LAMP environment on Linode. - This is a vital read before you go live, though I'd recommend reading it before you start setting up the server as well, so you can make good choices when setting up various applications. Then reread right before you take your server live. … -to-linode"> - This is for migrating your existing websites to a Linode. - Setting up MySQL and some basic information. … networking"> - You really need to use this guide before you go live to begin to optimize your server so you don't. - Regarding your email needs, I'd recommend a Postfix/Dovecot/MySQL setup.

A few tips:

1) For basic security that only takes a few minutes to implement, I recommend: (a) you disable root login via ssh immediately; (b) turn off all unneeded services; (c) making regular users sudo to have root access; (d) setting up fail2ban; and (e) downloading the application pwgen (in Debian/Ubuntu type 'sudo aptitude install pwgen', enter your root password) Once pwgen installs, type 'pwgen -s 12'. That will give you enough passwords for awhile, that are secure and random (I always add a special character or two myself to whichever passphrases I use, e.g. % # @ ` ( because if you type 'pwgen -sy 12' you get a passphrase that is almost all characters, and IMO (and only my opinion) not enough letters. Make sure you save these passphrases in at least two places and they are encrypted using AES 128 or better.

2) Only install applications you actually need. Turn off all services you are not using.

3) Never use ftp. Use ssh and sftp to access your Linode.

4) Setup lish in the Linode dashboard immediately and use the AJAX console only when absolutely necessary (and if the console doesn't work well in your browser, try another).

5) Once your server is setup, then do some preliminary optimization, namely focusing on Apache and MySQL. See this guide for the basics in optimizing Apache and MySQL: … networking">

6) Don't use phymyadmin, however tempting. Learn SQL here, for free:

7) In case you find yourself needing a dedicated MySQL database server because your applications are eating away at your resources on the Linode running all your other services, check out this great guide for setting that up: … sql-server">

I am sure you can hire somebody to setup a Linode server for you, but you will find it much more enriching, and develop a greater sense of pride if you do it yourself. The Linode community is here to help - feel free to ask educated questions, that is, questions that show you have done research into your issue/inquiry on the forums or in #linode on Also, use Google! E.g. If you find yourself with an error message, google it, just remove specific information about your server before sending the query through google. For instance, say you get this error "Fatal error: Out of memory (allocated 41156608) (tried to allocate 35 bytes) in /home/kilboa/public_html/includes/ on line 758", when searching google, write this instead "Fatal error: Out of memory (allocated ) (tried to allocate 35 bytes) in includes/ on line 758" for the best chance of getting relevant help.

In sum, feel free to ask questions about configuring your server. I know this post may seem daunting, but (as long as you have some Linux experience) in one or two days you should have a full fledged LAMP server installed, configured and the process of securing and optimizing your server will have begun. And then you will be ready to go live.

With no Linux experience, you should figure this process will take a about a week.

In any case, your efforts will be well-rewarded.

Have fun! :)

Thank you very much for the great tips and help and I apreciate it.

I will go thru all of these steps and learn as much as I can and come back with what I figuret out and what not.

I can pay a one time fee for seting up my server just like I did with (10$) but the important thing as you said is to do it my self because it is not the first time I need it and will not be the last time.

As i was with vps they did a 24 hour job just for 10 bucks but I was not happy about the speed as my site is so slow and heavy full of mods etc..

I have seen sites hosted with linode to be very fast, so I am in love with this server and need to figure out how to set up one, if possible.

Thanks and have a nice day!

You're welcome. Remember, speed of a site is largely determined on how you optimize the services you have running. It's a constant battle. :P

Of course, Linode's excellent hardware will help.

Have fun!

I wouldn't place much faith in any "setup" that only cost $10 dollars extra. That could be the equivelant to an linode employee running a stackscript for you.

Learn the basics, then how to configure and manage your server stack, including tweaking it.

> 6) Don't use phymyadmin, however tempting. Learn SQL here, for free:

Boohemian, I'm curious why you say this.


3) Never use ftp. Use ssh and sftp to access your Linode.

This comment should be complemented with saying that SSH should be set up with pubkey.


3) Never use ftp. Use ssh and sftp to access your Linode.

I feel like this tip is better stated as "If you choose ftp over sftp, make sure it's secured appropriately." For instance, using simple guides on, you can setup proFTPd, with virtual users from a MySQL database, secured with TLS. Especially if one were to combine this with a firewall to restrict access to specific IPs, there's no reason to categorically state that FTP is evil and must be eliminated. There are times when it's more friendly than sftp.

That said, I would strongly recommend checking out this guide, which would allow you to setup sftp very easily.

And I second the idea of setting up SSH to use public keys and disabling password login.


6) Don't use phymyadmin, however tempting.

Again, I'd hesitate to use such a generalized denouncement of phpMyAdmin. While having it setup improperly or with poor security is a risk, when properly restrained it is a valuable tool. While the terminal is a valid method of administrating MySQL, some things, most notably pulling a dump of a table, or quickly putting together new and complex entries, becomes much faster when using an interface like phpMyAdmin. You just have to make sure it's properly secured.

Hi and thanks for the great tips.

Now I have learned much about linux and things around, even I can't perfect English and had 0 info about linux and linode.

If you want you can learn it too!

Thanks and will for sure need help after while ;)

If you are going to use SSH change the port that sshd runs on to a non-standard port and then block port 22 completely. It doesn't really add much more security as such but it does avoid some of the automated attacks which just blindly target port 22 to look for weaknesses.

Here's how I view the whole "change your SSH port" thing:

Option A: Leave your port at 22, secured strongly (public keys, no root login, etc). With the exception of some potential logfile spam, there isn't really a downside to this, as no script kiddie is going to break your public key before you've long since passed away.

Option B: Change your port to something else, and secure it strongly. This eliminates some automated attacks, but is no help against anyone who manually picks a port. Which makes no difference because all they do is spam your logfile, since being able to manually pick a non-standard port still doesn't help them break your public key auth. The one downside is manually specifying a port when connecting.

Option C: Change your port to something else, but take few to no other actions to secure ssh (password auth, root login, ssh v1, etc). This eliminates whatever script kiddies can't change the port, but a mildly competent user breaks into your system and puts pictures of angry monkeys on all your sites.

Option D: Install Fail2Ban, or similar solutions, with ssh on whatever port you want, and secure it strongly. No logfile spam, no script kiddies, and your server is secure.

Unless you're choosing option C, there really isn't a "wrong" option. The other options come down to personal preference.


Please enter an answer

You can mention users to notify them: @username

You can use Markdown to format your question. For more examples see the Markdown Cheatsheet.

> I’m a blockquote.

I’m a blockquote.

[I'm a link] (

I'm a link

**I am bold** I am bold

*I am italicized* I am italicized

Community Code of Conduct