HowTo: Linux Mint Server

Write tutorials for Linux Mint here
More tutorials on https://github.com/orgs/linuxmint/discu ... /tutorials and (archive) on https://community.linuxmint.com/tutorial
Forum rules
Don't add support questions to tutorials; start your own topic in the appropriate sub-forum instead. Before you post read forum rules
Post Reply
User avatar
eiver
Level 5
Level 5
Posts: 568
Joined: Fri Jan 23, 2009 5:51 am

HowTo: Linux Mint Server

Post by eiver »

Intro:
This howto is not a complete guide, but it contains some useful hints I learned over the last three weeks of setting up my own Linux Mint server. I hope this will be useful to you if hit a wall at some point. (And you will, belive me).

Audience:

This howto is for people with little Linux experience, but with good general server and networking knowledge, who want to set up a fully functional linux server with varius services like DHCP, DNS, etc.

Notice: I will use a "Boooo :oops: " sign in this howto to indicate well known problems, and bugs I encountered.

Quick FAQ:
There are many server distros, why use Mint for a server?
Cons:
- Linux Mint was designed to be an out-of-the-box experience for desktops. You will need to do some work to turn it into a server.
Pros:
- More stability compared to Ubuntu (because Mint is very careful in pushing updates to your computer).
- All the benefits of Mint we love. Admins are users too God Damn It. This is 21 century. We CAN have a server with GUI, Firefox with Flash and OpenOffice. Admins listen to MP3s too. And we CAN have Compiz on our server because it is so cool.


Step 1: Installing Mint
(I used 64-bit edition of Mint Gloria)

- Boot Mint Live CD and Install.
- Partitioning: Choose Advanced and create your own partitions. Search Google for various ways of how to partition your HDD in Linux.
My Example: I used 1 TB HDD and partitioned it in the following way:
  • 80 GB for / (this is where your system will reside)
  • 8 GB for swap (because I have 4 GB of Ram)
  • 20 GB for /home (your private data and all user preferences will be here - very useful to have them on a separate partition. You will be able to reinstall your system or upgrade to Mint 8 in the future and keep all your settings).
Rest of my HDD is an extended partition which consists of two logical partitions:
  • - 200 GB for important - I will store all my important files there, this partition will be regularly backed up together with the system partition (root partition /)
  • - 628 GB for data - I will store all not so important data there. I will not backup that partition.
- Boooo :oops: - You can have only 4 primary partitions on one HDD. If you need more you must create 1 extended partition and create many logical partitions inside it.
- I suggest you use ext3 as your file system, but you can Search Google for others.

- Boooo :oops: If you have both SATA and PATA drives on your server, then Linux will not even boot after installed because of a bug in Grub - the boot loader. In the last installation step click Advanced... and change hd0 to the partition where your system is installed. Grub will still fail and cry that it cannot find an installed system after reboot. You must edit the startup command and by trial and error find the correct partition number where your system resides. More details here: http://linux.knightnet.org.uk/2008/01/m ... a-and.html. Search Google for even more details.

At this point you should have a working Linux Mint installed. Weeee :D.

Step 2: Setting up Network configuration
- First enable routing:
Boooo :oops: - I did not find any GUI for that. To enable routing now you need to execute command:

Code: Select all

sudo echo 1 > /proc/sys/net/ipv4/ip_forward
After reboot it will be turned off again. To enable it permanently you must edit a config file as root: /etc/sysctl.conf
Find the line:

Code: Select all

net.ipv4.ip_forward=1
and uncomment that line and save the file.
- Boooo :oops: Unfortunately you must uninstall the user friendly NetworkManager and configure your network the hard way. NetworkManager prevents DHCP server from starting at boot as described here: http://ubuntuforums.org/archive/index.p ... 94344.html

Caution! After this point you will loose Internet access! Read the next steps first and after that follow them. Prepare all the needed information in advance (like your ISP nameservers IP).

- Uninstall NetworkManager with the Package Manager.
- Manually configure your network interfaces. You will need to edit the file /etc/network/interfaces:
- My file looks like this:

Code: Select all

auto lo
iface lo inet loopback
	post-up iptables-restore < /etc/iptables.up.rules

auto eth0
iface eth0 inet static
address 192.168.0.1
netmask 255.255.255.0

auto eth1
iface eth1 inet dhcp
Where lo is the loopback interface - I did not edit that, it was there before. eth0 is my LAN interface. eth1 is my Internet interface, which is configured by my ISP using DHCP.

You must also edit the file /etc/resolv.conf. It should look more or less like that:

Code: Select all

domain yourisp.com
search yourisp.com
nameserver 10.20.30.40
nameserver 10.20.30.41
Replace the IP addresses with the actual nameserver of your ISP.
After that you need to restart the Networking service for the configuration to be applied. Run the command:

Code: Select all

sudo /etc/init.d/networking restart
Step 3: Installing Remote Desktop ( freenx )
- Use this tutorial to install freenx on your server: https://help.ubuntu.com/community/FreeNX - it works.
- Do not forget to create a custom SSH key for security and copy it to your pendrive.
- You can now download and install NX Client from here: http://www.nomachine.com/download.php (I use my laptop to access my server remotely)
- In the advanced settings of your NX Client import the client.id_dsa.key, which you have copied on your pendrive.

- Enable the possibility to connect to multiple NX servers at the same time. Take a look at the file /etc/nxserver/node.conf on your server. Inside this file find a variable called DISPLAY_BASE. You will not be able to connect to two servers with the same DISPLAY_BASE at the same time. To fix this: Make sure that the # comment sign in front of the line is removed. Now change the number to some random value. For example:

Code: Select all

DISPLAY_BASE = 6584
I don't know what is the limitation here, but any number between 1000 and 9999 should be ok. Perhaps even larger numbers will also be ok, but I didn't test that.
Also make sure that numbers for all your servers are far apart, so you can have many simultaneous connections to each of your machines. I think nxserver takes DISPLAY_BASE for the first connection, DISPLAY_BASE + 1 for the second connection and so on...

Now you can sit back with your laptop and a beer and play with your server from a remote location.

Step 4: Installing Webmin
Webmin is the best GUI for configuring almost everything on your server I have found so far. You connect to it via a web page. You can use this tutorial to install it: http://www.webmin.com/deb.html I used the "Using the Webmin APT repository" part. Of course I did not use these stupid commands to add a new repository. Instead I used the Package Manager and added the repository the GUI way :P.

From here you are on your own. Browse through all the options Webmin has. In general it works like that: You use the Package Manager to install something, say PostgreSQL database and then you hit "Refresh modules" in Webmin. Ta, da. A new option just appeared on the list. If it did not, then you can look for many third-party Webmin modules on their webpage. I for example installed a very useful OpenVPN module to configure my VPN.
Webmin removes the pain of manually editing tons of obscure config files, but you still need to understand how DHCP,DNS,etc... works to configure them. In particular I had to read a lot about how Linux Firewall works to configure it correctly.


I successfully installed and configured:
- DHCP (dhcp3)
- DNS (bind9)
- HTTP (Apache, with PHP)
- Linux Firewall
- PostgreSQL
- OpenVPN Server
- Subversion Server
- Mercurial Server
- Samba Server (Windows shares)
- SpamAssasin
- Team Speak server
- Complete System backup using dar and some scripts
- Incremental backup of some important data using rsnapshot
- I failed at Dovecot, because it has a very poor GUI at Webmin and extremely obscure config files, which you have to edit manually.

I still plan to install:
- FTP server
- Glassfish

I tried to cover most of typical tasks one will have to complete to set up an admin friendly server based on Linux Mint.
I can produce more howtos and answer many questions about the installation process as needed. It took me almost a month to resolve all the Boooos :oops: I encountered. Maybe thanks to that you will configure your Mint Server faster.
Last edited by eiver on Wed Nov 25, 2009 10:08 am, edited 3 times in total.
asai

Re: HowTo: Linux Mint Server

Post by asai »

Nice howto. Thanks, I will try this some time. :)

One question regarding server: Has anyone made a mint LTSP client?
Al-linuxnewb

Re: HowTo: Linux Mint Server

Post by Al-linuxnewb »

I found a tutorial on line that directed my towards mint for making a home Server. (I'll post the link when I can find the link) <edit : Link - http://www.linux-watch.com/news/NS9015653445.html >

Since you've been through the process, I was wondering if you had some advice on my wants/needs.

Current Situation
---------------------------------------------------
Cable Modem
|
Netgear Wireless-n Modem
---
Wirelessly connected to Internet Laptop with Vista Ultimate.

What I'm Trying to do
---------------------------------------------------
Create a Stable home server that will
-allow me to create roaming profiles
-centralized network storage for users
-a centralized location for media files

-Continue to access the network wirtelessly from my windows machine

-Add New wirelss machines seamlessly

-Continue to access the internet via iphone through the wireless router

Here's What I think i need to know:
1.) i see there are several editions of mint. I was going to go with 5, but I'm not sure about the size. There are versions optimized for older machines and smaller installs... Do I need to worry about this?
(I currently have a 240GB adrive and a 80GB drive with a 256 and a 128 of RAM in the ports (I'm trying to get more..) and a 1.21 Ghz processor)

2.) Partitioning - Should I be using NAS partitions if I am working with mainly windows machines? I'll use the ext4 or ext3 for the boot drive, but the /home seems like it need to be NAS just for ease of transition.

3.) Wireless Access - I don't want to lose the convenience that I already have with my current wireless situation. Is the situation that I want possible? I give my friends my wireless password so they can browse the internets on their iphones/laptops when they are at my home.... I planned on setting up a Guest profile for laptop usage, but will Iphone access to the browser be available?

Thanks!
Last edited by Al-linuxnewb on Sun Dec 13, 2009 8:02 pm, edited 1 time in total.
ffeingol

Re: HowTo: Linux Mint Server

Post by ffeingol »

Please don't take this the wrong way, but why would you want to use mint for a sever OS? I'm assuming that you mean 'server' in the home server context and not 'server' as a server that you'd have at a data center?
Al-linuxnewb

Re: HowTo: Linux Mint Server

Post by Al-linuxnewb »

ffeingol wrote:Please don't take this the wrong way, but why would you want to use mint for a sever OS? I'm assuming that you mean 'server' in the home server context and not 'server' as a server that you'd have at a data center?
I just put in the link above... (http://www.linux-watch.com/news/NS9015653445.html)

I'm looking to do this because that guide made it look pretty easy....

Also - I've Installed Ubuntu and I'm stumped once I'm left with the command prompt... I really feel like I need a GUI to survive.

So any thoughts on the setup?
User avatar
eiver
Level 5
Level 5
Posts: 568
Joined: Fri Jan 23, 2009 5:51 am

Re: HowTo: Linux Mint Server

Post by eiver »

Your netgear should do the trick as far as networking is concerned. Just use static IPs for your LAN, so you can easily find your server.
I assume your netgear has wired network support too and you will be connecting your server with wires. If that is the case, then your wireless setup will not be affected by anything you do on your server. In my case I use my server also as a router (it has two network cards), in your case you can use routing capabilities of your netgear and skip a large portion of my tutorial.

-allow me to create roaming profiles
What do you mean by that? Do you mean setting up something like a windows domain with terminals, so that you can log on on any machine and still get all your files and settings?


-centralized network storage for users
-a centralized location for media files

That can be easily done with any linux server + Samba shares + Webmin as a GUI configuration tool
(Samba shares simulate windows network, which can be easily accessed by both windows and linux). The file system on the server can be whatever you want, since it be available as a network share and not accessed directly.

Regarding editions of Mint:
Try going for the latest one and see if it works. I am running Mint 7 Gloria 32-bit on my Duron 1400, 512 MB ram shared by the graphic card without any problems. Mint 8 gives me a kernel panic on boot from CD, but try it yourself anyway. As far as I know there is a requirement to have 512 MB ram to ensure a stable install. After installed Mint will run even on only 256 mb of ram.

Is that really easy?
As you can see from my tutorial - I too had to edit some config files and execute some commands in the terminal. In fact when you want to setup a server neither Mint nor Ubuntu (nor Windows Server for that matter) allows to configure everything through nice user-friendly wizards.

Stability
Linux (any) is very stable and does not need to reboot after installed updates (as opposed to windows)

Why I use Mint as a server?
- As I wrote in beginning of the tutorial. I love Mint apps (espetially mintMenu and mintUpdate). I love Mint graphical theme. I love to have all codecs and most applications preinstalled, because I use them directly on the server from time to time.

Why I would never use Mint in professional/enterprise environment?
- Securlty. Lots of preinstalled stuff means a wider window of attack (not to mention more hdd space). A professional server should only have installed services it actually uses and nothing more.

P.S.
Hope you don't use WEP for your wireless :P

P.S.2
You will need some time to learn everything and configure you server (whatever the system do you choose). I have spent a month learning how to configure everything, because I think it is fun. If you don't want to waste time, maybe it will be better to buy on of these file servers, that are available (a box with hdd + network card + everything is configured by a web page (btw. which is running on a tiny version of apache and linux).
Brahim Salem

Re: HowTo: Linux Mint Server

Post by Brahim Salem »

Can I follow this tutorial to do the following http://forums.linuxmint.com/viewtopic.p ... 29#p854598 ? :D :D

and by the way I have installed webmin on Linux Mint 16 and I'm unable to run it :(
kwisher

Re: HowTo: Linux Mint Server

Post by kwisher »

I would not recommend Mint for a permanent "server" as it is not a rolling release. You can do the same with Debian or LMDE and avoid the end of life support you get with Mint.
Post Reply

Return to “Tutorials”