Linux server management is considered to be a complex task and costs lots of money. It’s true if you are big company with large online database of clients. You will require top notch security and management. For this you can either hire inhouse system administrators or hire a server management company. But what if you are running a simple website? I don’t think spending large amount of money for hiring a dedicated team is required. You can do the basic setup yourself in case you are interested in learning Linux or order one time service from a server management company. Server Management is a vast topic and completing every aspect of server management is not possible in this short article. I am just telling you the basics. This article doesn’t contain any technical details on how to do these tasks. So you got a new server… first comes
When you order a new server your data center will usually install it with free operating system like CentOS and provide the SSH login details to you. In case they don’t then they will provide you with remove KVM access using which you can mount the CD and install the operating system.
Control Panel Installation
I will highly recommend you to install a control panel on your server for easy server management. It will automatically install and configure the basic software like http, php, perl, MySQL, bind etc. Enterprise level control panel like cPanel/WHM & Plesk are good with lots of features but they cost money. If you are looking for free and open source control panels then I will suggest you to go with Webmin or ISPConfig or Kloxxo etc.
After installation is done. Now comes the server security. Below are list of free tools and some tasks that you can do to increase the security of the server.
APF/CSF – Server firewall for easy blocking/unblocking of IP’s
ClamAV – Virus Scanner
rkhunter – rootkit hunter
maldet – Malware scanner that can detect malicious code in php and other scripts
Fail2ban – scans log files and bans IPs that show the malicious signs
ModSecurity – Application level firewall for Apache
Change SSH Port
You should also setup cron for these softwares to scan the server daily and send you the report.
After security comes the optimization to improve the performance of the server. The softwares are installed on your server with default settings will work fine. But you can further improve the performance by tweaking the settings e.g
MySQL optimization using my.cnf
PHP Optimization by installing cache modules like Eaccelerator, Xcache, Memcache etc.
Apache Optimization by installing modules like Cache, DiskCache, Deflate etc.
Now login to your control panel and add the domain. Then you can upload your website to your server using FTP clients like FileZilla. For uploading database you can use webinterface like PHPMyAdmin.