by exma
12 replies
Hello everyone,

I am PHP developer, now I want learn a server OS. How to use, how its works, install APACHE, MYSQL and more. But I have some dilemma which system to learn.
I never work with server OS so I doesn't know what the difference or which better,
I want learn most popular system.

I would like to know people's opinions about both OS, recommendations and if you know any video tutorials about system.
#centos #ubuntu
  • Profile picture of the author mojojuju
    There are unlimited arguments for or against CentOS and Ubuntu.

    I prefer Debian which tends to have more recent packages than CentOS and is updated more frequently. Many people prefer the package management of Ubuntu/Debian over that of CentOS.

    If you're doing some PHP development, you're not going to run into anything that makes a huge difference no matter what you go with.
    Signature

    :)

    {{ DiscussionBoard.errors[9439870].message }}
    • Profile picture of the author kilgore
      There's a good reason why people call Linux distros "flavors" -- you might as well ask if chocolate or vanilla is better. While religious wars have been fought over the very question you're asking, my answer is: if you're boss is telling you to use one or the other, use that one. Otherwise, pick the one you like best. Or better yet: pick both -- they're free after all! And of course as mojojuju correctly points out, Debian is pretty nice too. And I've always liked SUSE too. And there's Mint... And Slackware... And...

      But anyway mojojuju is also right that it really doesn't matter. Both are solid distros. Both are created by (Ubuntu/Canonical) or based on the work of (CentOS/RedHat) well-resourced companies. Both have active communities supporting them with tons of packages that you can easily install and maintain. Both have plenty of online resources, articles, videos, blogs and all manner of other documentation.

      A more important question is whether you want an enterprise system (CentOS/Ubuntu LTS) or a more bleeding-edge OS (Ubuntu/Fedora). But if you're just trying to learn Linux, even that doesn't matter much...
      {{ DiscussionBoard.errors[9440888].message }}
      • Profile picture of the author Ekushey
        Why not simply learn both? I see no scope of dilemma here. Knowledge of various distros is essential if you're serious about learning/working.
        Signature

        I'll solve your PHP, MySQL, WordPress or any website or server related problems.
        Hire me on Freelancer.com at an affordable rate with fast turnaround time.

        {{ DiscussionBoard.errors[9441364].message }}
        • Profile picture of the author exma
          Originally Posted by kilgore View Post

          There's a good reason why people call Linux distros "flavors" -- you might as well ask if chocolate or vanilla is better. While religious wars have been fought over the very question you're asking, my answer is: if you're boss is telling you to use one or the other, use that one. Otherwise, pick the one you like best. Or better yet: pick both -- they're free after all! And of course as mojojuju correctly points out, Debian is pretty nice too. And I've always liked SUSE too. And there's Mint... And Slackware... And...

          But anyway mojojuju is also right that it really doesn't matter. Both are solid distros. Both are created by (Ubuntu/Canonical) or based on the work of (CentOS/RedHat) well-resourced companies. Both have active communities supporting them with tons of packages that you can easily install and maintain. Both have plenty of online resources, articles, videos, blogs and all manner of other documentation.

          A more important question is whether you want an enterprise system (CentOS/Ubuntu LTS) or a more bleeding-edge OS (Ubuntu/Fedora). But if you're just trying to learn Linux, even that doesn't matter much...
          Originally Posted by mojojuju View Post

          There are unlimited arguments for or against CentOS and Ubuntu.

          I prefer Debian which tends to have more recent packages than CentOS and is updated more frequently. Many people prefer the package management of Ubuntu/Debian over that of CentOS.

          If you're doing some PHP development, you're not going to run into anything that makes a huge difference no matter what you go with.
          Originally Posted by Ekushey View Post

          Why not simply learn both? I see no scope of dilemma here. Knowledge of various distros is essential if you're serious about learning/working.
          OK, now I understand better. Look I want learn some most using Linux system in development world and in companies. I want get more experience before come to work in some company. Many Jobs require skills in some Linux system, but which is most popular.

          Of course I can learn both system but for now I want learn some most popular because its take a time.. Second reason that I want learn PYTHON and I not have to much time to this. If I start learn most popular system I can start work and in future I can learn some else system.

          Its important say that I NEVER using before any Linux system! I never seen this systems or use this systems.

          Now I understand that I can learn any system and I didn't know before.
          I download a CentOS and I see many kinds of packages for installation like: Web server, local server... If I a web developer and I work in local computer, which package I need to install? And if I web developer and I work in remote computer (like shared server) which package I need to use?

          Thanks for a lot of answers!
          {{ DiscussionBoard.errors[9443953].message }}
          • Profile picture of the author kilgore
            Originally Posted by exma View Post

            I download a CentOS and I see many kinds of packages for installation like: Web server, local server... If I a web developer and I work in local computer, which package I need to install? And if I web developer and I work in remote computer (like shared server) which package I need to use?
            Congrats on selecting CentOS! You made the right choice!!! (Of course I would have said exactly the same thing if you had chosen Ubuntu, but never mind that...)

            There are plenty of resources online how how to set up a web server. Doing a quick search, this was the first result I found. There maybe be better, but it seems to have everything you'd need, covering a basic LAMP stack:
            https://www.digitalocean.com/communi...ck-on-centos-6

            If you're more interested in Python, here's one on installing Python/Django (which seems to be the Python web application framework du jour) that you might find useful. Or skip the Django parts if you don't care about that:
            Django CentOS 6.4 noobs installation instructions.

            My advice is to run your development OSes off of VirtualBox/VMWare or some other virtualization software so you can mess around, break things and do quick re-installs if necessary. You can learn a lot by messing things up and then tearing your hair out trying to figure out what went wrong...
            {{ DiscussionBoard.errors[9444860].message }}
            • Profile picture of the author NobleSavage
              Originally Posted by kilgore View Post

              My advice is to run your development OSes off of VirtualBox/VMWare or some other virtualization software so you can mess around, break things and do quick re-installs if necessary. You can learn a lot by messing things up and then tearing your hair out trying to figure out what went wrong...
              I second this opinion. Or use a cheap cloud service like Linode or Digital Ocean where you can make easy snapshots.
              {{ DiscussionBoard.errors[9468365].message }}
  • Profile picture of the author wmrwl
    The biggest difference between Linux distributions is the file system structure (ie, where files and libraries live) and how the package managers work.

    Some distros are more "bleeding edge" than others and most enterprises go with RedHat (which is identical to CentOS) because of its long release cycles so you probably made a good choice.
    {{ DiscussionBoard.errors[9445402].message }}
  • Profile picture of the author Michael71
    hate centos... love debian, but packages are sometimes outdated... backports ftw
    Signature

    HTML/CSS/jQuery/ZURB Foundation/Twitter Bootstrap/Wordpress/Frontend Performance Optimizing
    ---
    Need HTML/CSS help? Skype: microcosmic - Test Your Responsive Design - InternetCookies.eu

    {{ DiscussionBoard.errors[9445729].message }}
  • Profile picture of the author serpyre
    CentOS is corporate and has slower cycles, it depends on what you term a release cycle, we normally work on 3-5yrs but most will be 1-2yrs at most hence the other platforms usage by smaller businesses.
    {{ DiscussionBoard.errors[9456637].message }}
  • Profile picture of the author kpmedia
    I like Ubuntu the most, for CLI-only or desktop use. It's like a fancier Debian.

    But Debian has lower overhead. That can be important, depending on use.

    And then CentOS (RedHat) is required by many programs, such as cPanel. You have no choice then.
    {{ DiscussionBoard.errors[9456783].message }}
  • Profile picture of the author jlucas
    Ok, this is my first post so I'll try to make it a good one. My recommendation is to start with Ubuntu in VirtualBox. The main reason is this: you can install Apache, MySQL, and PHP with incredible ease with tasksel. In fact the process is so easy, I can spell it out for you now:
    Step 1: Install Ubuntu
    Step 2: Install tasksel with the command below
    HTML Code:
    $ sudo apt-get install tasksel
    Step 3: Install "Open SSH and LAMP server in tasksel"
    HTML Code:
    $ sudo tasksel
    then select Open SSH and LAMP
    Step 4: Install PHPMyAdmin
    HTML Code:
    $ sudo apt-get install phpmyadmin
    If you install Ubuntu Server, instead of a desktop edition, only step 4 is necessary, as taskel will be run during installation and you can select Open SSH and Lamp during install. At that point you should have a development environment you are familiar with. As stated above, the directory structures between CentOS and Ubuntu are different, but most of the skills you acquire in configuring Apache and PHP will transfer over to CentOS. As for popularity, CentOS and Debian are in a close running and Ubuntu keeps on gaining ground:
    Debian is now the most popular Linux distribution on web servers

    A trick I learned is to set the network settings in VirtualBox to "bridged" so you can get a local IP address. Once your OS is installed, you can run
    HTML Code:
    $ ifconfig -a
    and you will see the local address you were assigned (ie: 192.168.x.xxx). You can then access your webserver from your host computer with that IP address.

    A detailed guide to installing LAMP on Ubuntu can be found here:
    https://help.ubuntu.com/community/ApacheMySQLPHP
    {{ DiscussionBoard.errors[9471546].message }}
    • Profile picture of the author exma
      Originally Posted by kilgore View Post

      Congrats on selecting CentOS! You made the right choice!!! (Of course I would have said exactly the same thing if you had chosen Ubuntu, but never mind that...)

      There are plenty of resources online how how to set up a web server. Doing a quick search, this was the first result I found. There maybe be better, but it seems to have everything you'd need, covering a basic LAMP stack:
      https://www.digitalocean.com/communi...ck-on-centos-6

      If you're more interested in Python, here's one on installing Python/Django (which seems to be the Python web application framework du jour) that you might find useful. Or skip the Django parts if you don't care about that:
      Django CentOS 6.4 noobs installation instructions.

      My advice is to run your development OSes off of VirtualBox/VMWare or some other virtualization software so you can mess around, break things and do quick re-installs if necessary. You can learn a lot by messing things up and then tearing your hair out trying to figure out what went wrong...
      Tnx for answer, yes I'm using Virtualbox to learn and make a experiments.

      Originally Posted by wmrwl View Post

      The biggest difference between Linux distributions is the file system structure (ie, where files and libraries live) and how the package managers work.

      Some distros are more "bleeding edge" than others and most enterprises go with RedHat (which is identical to CentOS) because of its long release cycles so you probably made a good choice.
      Tnx

      Originally Posted by Michael71 View Post

      hate centos... love debian, but packages are sometimes outdated... backports ftw
      Originally Posted by serpyre View Post

      CentOS is corporate and has slower cycles, it depends on what you term a release cycle, we normally work on 3-5yrs but most will be 1-2yrs at most hence the other platforms usage by smaller businesses.
      What do you mean? Its can affect to my project and website?

      Originally Posted by kpmedia View Post

      I like Ubuntu the most, for CLI-only or desktop use. It's like a fancier Debian.

      But Debian has lower overhead. That can be important, depending on use.

      And then CentOS (RedHat) is required by many programs, such as cPanel. You have no choice then.
      So you say that CentOS it good choose?

      Originally Posted by NobleSavage View Post

      I second this opinion. Or use a cheap cloud service like Linode or Digital Ocean where you can make easy snapshots.
      I need learn to future work and not to build some project.

      Originally Posted by jlucas View Post

      Ok, this is my first post so I'll try to make it a good one. My recommendation is to start with Ubuntu in VirtualBox. The main reason is this: you can install Apache, MySQL, and PHP with incredible ease with tasksel. In fact the process is so easy, I can spell it out for you now:
      Step 1: Install Ubuntu
      Step 2: Install tasksel with the command below
      HTML Code:
      $ sudo apt-get install tasksel
      Step 3: Install "Open SSH and LAMP server in tasksel"
      HTML Code:
      $ sudo tasksel
      then select Open SSH and LAMP
      Step 4: Install PHPMyAdmin
      HTML Code:
      $ sudo apt-get install phpmyadmin
      If you install Ubuntu Server, instead of a desktop edition, only step 4 is necessary, as taskel will be run during installation and you can select Open SSH and Lamp during install. At that point you should have a development environment you are familiar with. As stated above, the directory structures between CentOS and Ubuntu are different, but most of the skills you acquire in configuring Apache and PHP will transfer over to CentOS. As for popularity, CentOS and Debian are in a close running and Ubuntu keeps on gaining ground:
      Debian is now the most popular Linux distribution on web servers

      A trick I learned is to set the network settings in VirtualBox to "bridged" so you can get a local IP address. Once your OS is installed, you can run
      HTML Code:
      $ ifconfig -a
      and you will see the local address you were assigned (ie: 192.168.x.xxx). You can then access your webserver from your host computer with that IP address.

      A detailed guide to installing LAMP on Ubuntu can be found here:
      https://help.ubuntu.com/community/ApacheMySQLPHP
      TNX man!!
      {{ DiscussionBoard.errors[9481604].message }}

Trending Topics