プログラミングとは関係ありません。
自宅サーバをたてて、インフラの勉強がてら簡単なサービスを作ってみようと思っているのですが、
サーバOSは結局、何が良いのでしょうか?
有名所で言えば、CentOS
かな?と思っていたら、
友人から、Ubuntu server
と言うものを勧められ、今はとりあえずUbuntu server
でサーバを立てています。
(Apacheが、もともとMacでしか触ったことがないので、すごく使いにくく感じます。)
そして、大学ではCentOS
を使っています。
このあたり、今までノータッチだったので、いまいち知識がありません。
セキュリティ面であったり、利用のしやすさなどからでは、CentOS
か、Ubuntu Server
か、その他のOS
では何が良いのでしょうか?
用途によって変わったりするのでしょうか?
ご存じの方がいらっしゃいましたら、ご教示頂けますと幸いです。
以下、参考にしたサイト様の一部
この記事はコメント部分を見てみると、いまいち参考にならないらしいですし……
Cent OS派が多いのか?
この記事によると、Debianが良いとのこと……Debian本体か、派生のUbuntuの方が良いのかな?
ここではCentOSを押していますね。
上記の参考にしたサイト様のように、ちょっと意見がバラバラです……
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答9件
0
インフラ関係です。
どっちがいいかは好みですが、両方覚えておきましょう。
Ubuntu(Debian系)とCentOS(RHEL系)ではオペレーションが異なってきます。
また、バージョンによっても違いがあるので、全ての差分も吸収しておくことをお勧めします。
以下、一例です。
■パッケージ管理コマンドの違い
Debian: apt
RHEL: yum
■パッケージ名の違い(例:開発パッケージxxx)
Debian: xxx-dev
RHEL: xxx-devel
■パッケージインストール時の動作違い
Debian: インストール後、大抵のサービスは自動起動
RHEL: インストール後、サービスは手動起動
■Apacheをインストールする場合のコマンド例
Debian: apt install apache2
RHEL: yum install httpd
■Apacheのインストールディレクトリ構成
Debian:
/etc/apache2/ apache2.conf conf-available/ conf-enabled/ envvars magic mods-available/ mods-enabled/ ports.conf sites-available/ sites-enabled/
RHEL:
/etc/httpd/ conf/ conf.d/ logs -> ../../var/log/httpd modules -> ../../usr/lib64/httpd/modules run -> ../../var/run/httpd
■cronプロセス名
Debian: cron
RHEL: crond (REHL7はcronie)
また、GUIは使わないようにすることをお勧めします。(そもそもインストールしない)
GUIを使っても、結局xtermでコマンドを入力するだけです。
最後に、Apacheについてはリリース当初より使っていますが、未だに分かりにくいです。
Nginxのほうが設定がすっきりしていて分かりやすいです。
デフォルトの設定でも一般的にNginxのほうがパフォーマンスがでます。
チューニングをしっかりやればApacheが勝るという記事をどこかで見かけましたが、チューニングに費やすコストでサーバをスケールしたほうが安上がりだなと思いました。
投稿2017/02/08 00:09
総合スコア6621
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/02/08 04:16
2017/02/08 06:02
2017/02/09 06:19
0
ベストアンサー
インフラ担当(メインはNWですが)です。
はっきり言ってしまうと、
Ubuntuだろうが、CentOSだろうが、RHELだろうが、
やることは一緒なので、
スペック的(あんまり変わらない)に、
用途的(Webアプリケーションなのか、コンバーターなのか)に、
プロジェクト(開発内容)的に適したものを自分で調べて
選択してみるのがいいかもしれません。
(的外れな回答かもしれませんが)
私は、個人でCentOS、Ubuntu、Solaris10、Linuxmintを勉強がてら操作しています。
なので、どれが一番いい!とははっきりいえませんが、
インフラであれば、色々なOSに触れて、どこがどれと一緒なのかを把握しておくのがいいと思います。
経験をしてみたいということでしたら、OSをぶっ壊すつもりで色々作業してみるのがいいかもしれません。
(但し、個人で使う予定の場合のみ)
余談ですが、
私はインフラで使うOSはUbuntuが多いです。
理由は、使ってるユーザーが比較的に多く、
コンフィグや、バグの修正方法などが多く出回っているためです。(大体英語ですが)
(参考追記)
現場で使用しているものがアドバイスになればなあということで追加しました。
在庫管理システム(WEBアプリケーション)
言語:ASP.MVC
サーバーOS:WindowsServer
メールサーバー
サーバーOS:RHEL
通信保守・管理システム(WEBアプリケーション)
言語:C,Perl,ASP MVC,Java,etc...
サーバーOS(複数)
Solaris10(大規模の場合)
WindowsServer(オフィス製品と連動する場合)
CentOS(小規模の場合)
他にも色々ありますが、割愛させていただきます。
投稿2017/02/08 00:51
編集2017/02/08 02:52総合スコア97
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/02/08 04:19
2017/02/09 02:11 編集
2017/02/09 06:29
2017/02/09 06:41
0
目的が「インフラの勉強」なら、何でも良いような気がします。
学校で使っているものに合わせる方が学習し易いのでは?
導入OSは要件によって変わります。
インストールするものも変わります。
導入したいアプリケーションの親和性や信頼性などで
取捨選択していきます。
ApacheではなくてIISでないとだめだという条件がもし
付いたら、CentOSかUbuntu Serverのどっちにしようか?
って悩みますか?
仰る通り用途によって変わり、条件によって変わります。
投稿2017/02/07 09:05
総合スコア18
0
どうせやるなら、大学で使っているのと違うものを経験してみてはどうでしょうか。同じLinuxといってもCentOSとubuntuではずいぶん勝手が違うと思います (sudoを使うのがデフォルトになってたりとか) が、OSの世界にはそれ以上の多様性があります。
CentOSがRed Hat Enterprise Linuxのバイナリ互換なクローンであることはご存知だと思いますが、Fedoraはそれの開発版です。Fedoraに取り入れられた新機能の多くがRHELに、そしてCentOSに取り入れられます。要は、新しい機能をいち早く使えるということです。インストールはCentOSなどと同様に簡単です。
Linuxではありません。Unix直系のディストリビューションであるBSDの一つです。Linuxに比べて堅牢な印象を与える作りです。セキュリティや基礎技術の開発で実績があり、かつてIPv6の実装では一番先行していました (というか、このOSでの実装が他の手本になりました)。こういうOSですから、少しの準備をするだけでOS全部を一からコンパイルしなおすこともできます。OSというのは、どこかからパッケージをダウンロードしてきてインストールするものではなく、自分で作れるものなのです。ただまあ、一番最初はメディアからインストールしますけれども。インストールは簡単です。
BSDでフリーなものとしてはほかに、NetBSDやOpenBSDなどもあります。
これもLinuxではありません。Unix直系のOSの一つです。かつては「Unix」と言えばSolarisのことを指す、という人もいたくらいで、そのさまざまな機能がほかのUnixやLinuxに取り入れられています。インストールは (以下略)。
フリーなOSではありません。非商用の個人用途なら無料でつかえますが、現在は、最新のセキュリティパッチを入手するにはライセンスを購入しなければならなくなっています。とは言ってもコンパイラなどは付属しているので開発はできますし、ちょっとした実験程度なら十分使えます。
あと、何か思い出したら追記する (かも)。
投稿2017/02/07 14:59
編集2017/02/07 15:45総合スコア4227
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/02/08 04:11
2017/02/08 05:53
2017/02/09 06:17
0
Linuxとは違いますが、私は昔(20年ぐらい前)からFreeBSDです。
・・・と言っても個人的なHTTPサーバとDBサーバにしか使っていませんが、下記を参考に
FreeBSD プロジェクト
FreeBSDサーバー構築マニュアル
FreeBSD
FreeBSDとはLinuxの一種ではないのですか?
FreeBSDとは
投稿2017/02/07 10:09
編集2017/02/07 10:11総合スコア6851
0
私もまったく同じ理由でサーバー用途に使うLinuxを何にするか迷ったことがありますが、最終的にはシェアがダントツで日本語の情報も豊富なUbuntu Serverに決めました。当然CentOSも候補に挙げて試してみましたが、パッケージのバージョンが若干古いような印象を受けました(本家RHELの更新を受けてCentOSを更新しているからでしょうか)。
投稿2017/02/07 13:59
総合スコア5938
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/02/08 04:07
2017/02/08 04:19
0
サーバー用途はCUIで起動すべきだと主張があります。
不要なプロセスが上がっているとセキュリティホールになる可能性があるからです。
またトラブルシューティングにいらん労力を掛ける羽目になります。
でも、学習用途ではどうでしょうか。
CUIなら、CentOSかUbuntuも大して変わりません。
アップデートがyumかapt-getになる程度だと思います。
正直、悩むほどの差はないでしょう。
投稿2017/02/07 11:08
総合スコア891
0
aptが好きかyumが好きか... それが問題だ!
私はapt Ubuntu派です。CUIのサーバーです...
投稿2017/02/07 09:29
退会済みユーザー
総合スコア0
0
基本的には自分で使いやすい方を使うのが良いと思います。
CentOSもUbuntuもLinuxなので、セキュリティの面ではどちらもあまり変わらない気がします。
GUIで操作したいのであれば「Ubuntu」
コンソールしか使わないのであれば「CentOS」
という感じになるかと思います。
最後に、自分の今までの経験ですが、ネットで情報を探そうとするとCentOSの方が情報が多い気はします。
投稿2017/02/07 08:46
総合スコア237
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/02/08 04:01
2017/02/08 05:21
2017/02/09 06:16
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。