cancel
Showing results for 
Search instead for 
Did you mean: 

What do i need to start from scratch

What do i need to start from scratch

Hey guys, ive been with godaddy since day 1 for my site, i love their support and their services are great.

 

However when you reach over 2 or 3 thousand items they limit the amount of database writes per minute which hinders my site greatly, and im shooting for a 20 thousand product site.

 

The solution is clear to have dedicated hosting , and while i would love to have a godaddy dedicated server my instinct is telling me to start from scratch, get a static ip and host my own, a quality hardware server will always perform better and i can keep my site up and work on it as a project for now,

 

So my question is

 

WHAT DO I NEED to run magento ( Besides a server )

 

getting a server is easy, i need a guide starting from scratch from linux to magento and ive looked all around, all the youtube videos i found are OLD i want the latest versions of everything

 

i know i need apache too right? anyone help?

 

i want to be free of godaddy

8 REPLIES

Re: What do i need to start from scratch

Do you know how to setup, secure, optimize and manage a server? If you do and you have the time to manage the server, getting an unmanaged server may be a cost effective route for you. 

 

However, if you are not very familiar I will suggest that you consider getting a Managed server where the provider will handle everything for you. This is especially important because you will be running an eCommerce store where security is paramount and you need someone who can update and/or patch your servers immediately if there's any security updates. 

James Lee | Moderator • Magento Master
See My Recommended Magento Hosting & Security Tips

Re: What do i need to start from scratch

As @JLHC mentioned, unless you're comfortable managing all of this yourself, and staying on top of patches, security issues, etc..., it may be best to go with a managed server provider that can handle those details. It's a plus if they also specialize in Magento, as they can help with your growth and help you really optimize Magento to be fast even with 1000's of products.

 

Unfortunately, there is no single source document to tell you everything you need to do with a server from scratch to have the latest versions of everything, secured and optimized. You'd have to piece this together yourself from various blogs and web pages, as well as YouTube.

 

Re: What do i need to start from scratch

would like some responses from people who dont sell magento hosting Cat Happy

 

i have 12  years of IT experience i just dont know much about linux and what i would need to install in terms of OS and apache

Re: What do i need to start from scratch

Sorry if you feel we weren't being helpful. No agenda here, just years of experience seeing hacked servers, hacked sites, etc...

 

Here's a good tutorial on setting up a LAMP server:

https://www.digitalocean.com/community/tutorials/how-to-install-linux-apache-mysql-php-lamp-stack-on...

 

Any flavor of Linux (most common centOS 6) or Ubuntu should be fine.

 

For Magento optimization, a good starting point is:
https://docs.nexcess.net/article/optimizing-magento-performance.html

 

Hope this helps get you started.  Smiley Happy

 

Re: What do i need to start from scratch

thank you for the doom and gloom years of being hacked message, it seems you are still trying to discourage me from hosting my own server which has LOADS of benefits.  

Re: What do i need to start from scratch

Hi, I dont sell hosting, work most times as dev and had very different server environments to work with. Did not setup a server for a production Environment, but local, for personal sites, staging servers. Luckily, Linux is by default very secure, but you have still to follow some rules to be on the save side.

 

Most basic rule, disable password auth for ssh, only use pubkey auth, only use ssh/sftp to put files on the server. Always assume someone will use basic brute force to get into everything. There are some tools to make managing easier, like Plesk, or CPanel, but with great power comes a great area for attack. If people are grumpy about someone setting up an own server, that comes because this are the servers who are often used for spam and attacks on other servers. I recently did something wrong regarding Elasticsearch and firewall rules because I expected something to persist after a restart. Ended in a 100mbit peak of outgoing traffic shortly after a maintenance restart.

 

so, after this words of warning. Setting up a server should be easy.

 

Debian is regarding stability the best choice most times, and for a beginner sure the best one. 

Deciding between Nginx and Apache, Apache has more Tutorials and support for .htaccess files, but Nginx is far easier to configure for better performance so I suggest to decide for it as a beginner. 

 

Regarding Mails, that is a complicated topic, I suggest you search for an external provider to send mails and dont try to host mailing by yourself. MySql is easy to install via the package manager, but only allow access via localhost. 

Any proper tool like for example the Mysql Workbench is able to connect via ssh. A lot better then using phpMyAdmin in any case. 

 

install Munin, its a great tool to keep track of the system state of your server, and helps you to debug where your bottleneck is. 

 

Regarding the Power your server needs. That is hard to say. 

How many Visitors do you have at the same time and similar. Do you have more then one store view? Do you have any special caching or FPC running or planed for the next year? How many products do you have currently, how many in a year, and how is the growing planed regarding the time. 

The key Sizes are usually CPU, RAM and IO. Directly deciding for an SSD should solve the IO part completely, but you need MySql 5.6 or higher then for proper support. (there are alternatives like MariaDB and Percona, dont know from which version they support SSDs properly) 

CPU is easy to calculate from the peak number of users you want to support and the Response time of your Site. I use a simple formula for this. A request is 500ms in avarage, a user does one request all 4s in avarage (google analytics gives better numbers here) means per CPU you can support 8 Users on the site then. add 2 CPUs for Database and server side stuff. RAM is a bit harder and depends a lot on the usage of magento during a request, how your Mysql is configured, and how much you cache. 

 

 

Having a working Backup System should be standard, keep good track of it, if you host yourself, plan for having 2 cases a year where you need it and 6days per year, where you are offline. 

 

Hope that is helpful for the beginning.

Re: What do i need to start from scratch

SiteGround has some really helpful tutorials for getting your Magento site up and running. They have some basic information here about adding products, configuring payment and shipping methods, and managing pages. The site also also a "How to Transfer Magento" Tutorial that outlines how to back up your database, transfer files, et cetera. I suggest exploring more of this site as you set up your site because their tutorials are very straightforward and should be easy to understand as a brand new user of Magento. 

 

You will want to prioritize security as you set up and maintain your site. Unfortunately, being a highly popular and user-friendly system, Magento attracts significant attention from hackers and cybercrime. Here is a blog post that outlines great ways to maintain your site's security, and also suggests some magento plug-ins you can consider implementing to further secure your site. 

 

Another really important aspect of creating and maintaing an online store is performance optimization. To attract new users and generate conversions, you'll want to make sure your site is running at its optimal speed and capacity. Getting started with your site, I highly suggest that you enable block caching so that previously calculated outputs can be recalled without need of a brand new query. Update indexes manually to avoid forcing the system to perform more calculations than necessary. Optimizing server management is very important for speeding up your server performance. Installing a combination such as Nginx, Varnish, and PHP-FHM will create a powerful thread management setup to aid your site. 

 

Consistently monitoring performance is a crucial strategy for site speed optimization. The best way to do this is coupling real use monitoring and simulated user monitoring. Zend Server and New Relic both support PHP monitoring and are helpful tooks for monitoring real users of your site. Simulated user monitoring is important for detecting errors and slowdowns in your site before they affect your conversions. For monitoring simulated users, you can check out Gomez, Keynote, and Shoppimon. Gomez and Keynote are complex, run on the more expensive side, and are typically used by techies. Shoppimon is more user-friendly and designed for anyone. It's also free, which is a plus. 

 

Good luck with everything!

Re: What do i need to start from scratch

As you described, your Magento site contains over 2.000 products, which is quite heavy for a shared host. Magento is a hardware killer platform, you'd better use a VPS, or at least upgrade your hosting hardware.

According to my personal experience, Godaddy's hosting is not very good for Magento, many store-owners has been complanining about Godaddy performance for Magento sites. Nexcess or Siteground is a better option. << Snipped >>

Hope this helps