「サーバー構築方法(Linux編)」の版間の差分

提供: JUNKWIKI(ジャンクウィキ)
移動: 案内検索
(WebServerをインストール)
 
(他の1人の利用者による、間の16版が非表示)
行1: 行1:
 
Linuxでサーバを組みたい方へ。
 
Linuxでサーバを組みたい方へ。
 +
  
 
== はじめに ==
 
== はじめに ==
 
ここではCentOSを使った自宅サーバの構築方法(というよりも構築レポート?)を公開します。<br>
 
ここではCentOSを使った自宅サーバの構築方法(というよりも構築レポート?)を公開します。<br>
 
初めてサーバーを立てる方や、初心者の方はまず[[自宅サーバーを始めるあなたに]]をご覧になることをお勧めします。
 
初めてサーバーを立てる方や、初心者の方はまず[[自宅サーバーを始めるあなたに]]をご覧になることをお勧めします。
 +
 +
Linuxサーバー構築で参考になるサイト:[http://www.server-world.info/ http://www.server-world.info/]
 +
  
 
== 使用したもの ==
 
== 使用したもの ==
行27: 行31:
 
| 多分4GBもあれば充分じゃないかな?
 
| 多分4GBもあれば充分じゃないかな?
 
|}
 
|}
 +
 +
 +
== Linuxについて ==
 +
LinuxはWindowsとはいろいろと概念が異なることを頭に入れておこう。特に、WindowsならGUIで行えていた作業も、Linuxサーバー構築作業ではコマンドベースのCUIが避けて通れない点とか。
 +
 +
概念と仕組みとコマンドを理解すれば何も怖いことはないが、最初戸惑うのは仕方ない、恐れずいこう。
 +
  
 
== 準備 ==
 
== 準備 ==
行33: 行44:
 
* サーバにするPC
 
* サーバにするPC
 
詳しくは[[自宅サーバーを始めるあなたに#必要なもの | こちら]]を参照。
 
詳しくは[[自宅サーバーを始めるあなたに#必要なもの | こちら]]を参照。
 +
  
 
== OSのインストール ==
 
== OSのインストール ==
行44: 行56:
 
ちなみに今回はとりあえずMinimal(最小構成)でインストールしてます。サーバーとしてしか使わないPCだったらデスクトップ環境は入れない方が良い。
 
ちなみに今回はとりあえずMinimal(最小構成)でインストールしてます。サーバーとしてしか使わないPCだったらデスクトップ環境は入れない方が良い。
  
== SSH Serverのインストール ==
 
ずっと実機にディスプレイとキーボードを繋いでセットアップしていくのは面倒くさいのでSSHでリモート操作していく。
 
  
 +
== ログイン ==
 
まずは、ログイン。<br>
 
まずは、ログイン。<br>
 
[[File:login.jpg|320px]]
 
[[File:login.jpg|320px]]
 
  (設定したクライアント名) login:
 
  (設定したクライアント名) login:
と出ているはずなので、rootと入力。パスワードはOSインストール時に設定したパスワードを入力。パスワード入力時には「*」などは出てこないけれどご心配なく。
+
と出ているはずなので、rootと入力。パスワードはOSインストール時に設定したパスワードを入力。パスワード入力時には「*」などは出てこないけれどご心配なく。<br>
 +
なお、今回私が設定したクライアント名はodangoserverです。
 +
 
 +
[root@odangoserver ~]# _
 +
みたいに出ていればログイン成功。
 +
 
 +
 
 +
== ネットワーク設定 ==
 +
ローカルIPを固定しておく。設定を変更するためにviエディタでファイルを書き換える。
 +
vi /etc/sysconfig/network-scripts/ifcfg-eth0
 +
普通は有線ならeth0だろうから上記でいけるはず。ダメならifconfigでインターフェース名を確認。
 +
 
 +
なおviコマンドの使い方は、「I」や「A」キーでInsertモードになって編集できる。終わったらEscapeでモードを抜ける。「:wq」で保存して終了。「:q!」で保存せずに終了。
 +
 
 +
なんか色々書かれていると思うけれど、以下を追加。もしくは既にある場合は編集。
 +
BOOTPROTO="static"
 +
IPADDR="192.168.0.200"
 +
NETMASK="255.255.255.0"
 +
DNS1="192.168.0.1"
 +
GATEWAY="192.168.0.1"
 +
DNS1やGATEWAYにはブロードバンドルータのIPアドレスを、IPADDRは、ルータのIPと第1~第3オクテット合わせて第4オクテットは好きな数字を設定(ただし他のPC等と被らないように)。だいたいこれでいけるはず、多分。
 +
 
 +
設定完了したらネットワークサービスを再起動。
 +
/etc/rc.d/init.d/network restart
 +
 
 +
あと、ファイアウォールもいらんので停止させちゃう。
 +
/etc/rc.d/init.d/iptables stop
 +
 
 +
システム起動時にファイアウォール起動しないようにしておく。
 +
chkconfig iptables off
 +
chkconfig ip6tables off
 +
 
 +
SELinuxもいらんので無効に。
 +
vi /etc/selinux/config
 +
で、以下を書き換え。
 +
SELINUX=disabled
 +
 
 +
とりあえず再起動。
 +
reboot
 +
 
 +
 
 +
== SSH Serverのインストール ==
 +
ずっと実機にディスプレイとキーボードを繋いでセットアップしていくのは面倒くさいのでSSHでリモート操作していく。とりあえずここではユーザ名とパスワードでログインしちゃうけど、公開鍵認証設定すると楽だしセキュアで良いので、余裕あったらググってやってみて。
 +
 
 +
SSHは、OSインストール時Minimal以外選択すればこれはデフォで入ってるんじゃないかな? なのでそういう人は設定だけでOK
 +
 
 +
=== インストール ===
 +
インストールする場合はyumコマンドで。
 +
yum -y install openssh-server
 +
ダーッと出てきてインストール完了。
 +
 
 +
=== 設定 ===
 +
SSHサーバの設定も変更する。特にポート番号は変更しておいた方がいいっすね。
 +
vi /etc/ssh/sshd_config
 +
で、
 +
#Port 22
 +
となっているのを、以下のように書き換え。
 +
Port (適当なポート番号)
 +
ポート番号は、0~65535のうち[http://e-words.jp/w/%E3%82%A6%E3%82%A7%E3%83%AB%E3%83%8E%E3%82%A6%E3%83%B3%E3%83%9D%E3%83%BC%E3%83%88.html ウェルノウンポート]に無いものにする。
 +
 
 +
終わったらSSHサービスを再起動。
 +
service sshd restart
 +
 
 +
 
 +
== SSHで接続する ==
 +
[[File:ssh.png | thumb | PuTTYでSSH接続した様子]]
 +
ここまで終わったら普段使っているWindows機にお好きなSSHクライアントをインストール。PuTTYとかTeratermとか。<br>
 +
インストールしたらIPアドレス・ポート番号・ユーザ名・パスワードを入力してログイン。
 +
 
 +
多くのSSHクライアント共通?で、選択したらコピーされて、右クリするとペーストという操作法があるので、以後活用していく。
 +
 
 +
 
 +
== NTPの設定 ==
 +
時刻合わせるためにNTPインストール。
 +
yum -y install ntp
 +
サーバーを変更します。
 +
vi /etc/ntp.conf
 +
予めあるNTPサーバーの設定をコメントアウトして、
 +
#server 0.centos.pool.ntp.org iburst
 +
#server 1.centos.pool.ntp.org iburst
 +
#server 2.centos.pool.ntp.org iburst
 +
#server 3.centos.pool.ntp.org iburst
 +
新たに追加。
 +
server ntp1.jst.mfeed.ad.jp iburst
 +
server ntp2.jst.mfeed.ad.jp iburst
 +
server ntp3.jst.mfeed.ad.jp iburst
 +
サービス起動して、登録。
 +
/etc/rc.d/init.d/ntpd start
 +
chkconfig ntpd on
 +
確認は以下のコマンドでできる。
 +
ntpq -pn
 +
 
 +
 
 +
== WebServerをインストール ==
 +
サーバといったらまずウェブサーバー。代表的なWebServerアプリケーションであるApacheを入れます。
 +
 
 +
yum -y install httpd
 +
インストールしたらサービスを起動。
 +
service httpd start
 +
 
 +
んで、ブラウザからIPアドレスを打ち込めばとりあえずテストページが見られるようになっているはず。<br>
 +
[[File:testpage.png|320px]]
 +
 
 +
起動とともにサービスも立ち上がるようにしておく。
 +
chkconfig httpd
 +
 
 +
== PHPインストール ==
 +
[[File:php_image.png | thumb | phpinfoのイメージ]]
 +
やっぱ鯖立てたらいろいろ動かしたい…動かしたくない? というわけでWeb上で動的コンテンツを実現するPHPをインストールします。
 +
 
 +
=== インストール ===
 +
まずはyumで。
 +
yum -y install php php-mbstring php-pear
 +
 
 +
=== 設定 ===
 +
Apache設定の書き換え。
 +
vi /etc/httpd/conf/httpd.conf
 +
で、ディレクトリインデックスを
 +
DirectoryIndex index.html index.php
 +
と変更。402と押してエンターでその付近にジャンプできるはず。
 +
 
 +
Apacheを再起動して完了。
 +
service httpd restart
 +
 
 +
=== 確認 ===
 +
確認のためにPHPテストページ作ってみよう。
 +
vi /var/www/html/phptest/index.php
 +
で、
 +
<?php
 +
phpinfo();
 +
?>
 +
だけ入れて保存して終了(:wq)。
 +
 
 +
PCでhttp://サーバーのIP/phptest/にアクセスして、PHPのバージョンとかいろいろズラーッと出てきたら成功。
 +
 
 +
 
 +
== MySQLのインストール ==
 +
PHPと一緒に用いられることが多いデータベースソフトのMySQLをインストールします。
 +
 
 +
=== インストール ===
 +
yumでインストール。
 +
yum -y install mysql-server
 +
 
 +
=== 設定 ===
 +
文字コードをUTF-8にするため、設定を編集。
 +
vi /etc/my.cnf
 +
で、最後に
 +
character-set-server=utf8
 +
を追加。
 +
 
 +
サービスを開始。
 +
service mysqld start
 +
 
 +
起動とともにサービスも立ち上がるようにしておく。
 +
chkconfig mysqld on
 +
 
 +
=== mysql_secure_installationで初期設定 ===
 +
対話形式で初期設定できる、楽ちん!
 +
mysql_secure_installation
 +
で、いろいろ聞かれる。
 +
 
 +
Enter current password for root (enter for none):
 +
パスワードは初期状態で設定されてないのでそのままエンター。
 +
 
 +
続いてパスワードを設定。
 +
Set root password? [Y/n] y
 +
New password:
 +
Re-enter new password:
 +
 
 +
匿名ユーザーいらん!削除。
 +
Remove anonymous users? [Y/n] y
 +
 
 +
リモートでrootログインいらん!却下。
 +
Disallow root login remotely? [Y/n] y
 +
 
 +
テストデータベースいらん!削除。
 +
Remove test database and access to it? [Y/n] y
 +
 
 +
リロード。
 +
Reload privilege tables now? [Y/n] y
 +
 
 +
=== 確認 ===
 +
mysql -u root -p
 +
でさっき設定したパスワードを入力してログイン。
 +
show databases;
 +
と打つと今あるデータベース一覧が出てくる。
 +
exit
 +
で終了。
 +
 
 +
== 書きかけです ==
 +
 
 +
 
 +
== 関連項目 ==
 +
* [[自宅サーバーを始めるあなたに]]
 +
* [[録画サーバー入門]]
 +
* [[録画サーバー構築方法(Linux編)]]

2016年5月21日 (土) 15:10時点における最新版

Linuxでサーバを組みたい方へ。


はじめに

ここではCentOSを使った自宅サーバの構築方法(というよりも構築レポート?)を公開します。
初めてサーバーを立てる方や、初心者の方はまず自宅サーバーを始めるあなたにをご覧になることをお勧めします。

Linuxサーバー構築で参考になるサイト:http://www.server-world.info/


使用したもの

miniITXサーバ

今回は小型な自作PCでCentOSを動かすことに。詳細は以下。

分類 名称 備考
OS CentOS 6.7 最新版は7ですが、色々変わってて慣れないのでとりあえず
マザーボード H61M-VG3 Mini-ITX並の小ささではあるが、PCI-Expressが2本挿せる
今回はUSB3.0拡張カードとPT3で埋めた
CPU Core i5 2400S 省電力版
メモリ DDR3 8GB 多分4GBもあれば充分じゃないかな?


Linuxについて

LinuxはWindowsとはいろいろと概念が異なることを頭に入れておこう。特に、WindowsならGUIで行えていた作業も、Linuxサーバー構築作業ではコマンドベースのCUIが避けて通れない点とか。

概念と仕組みとコマンドを理解すれば何も怖いことはないが、最初戸惑うのは仕方ない、恐れずいこう。


準備

まずは必要なモノの準備から。

  • ブロードバンド回線&ブロードバンドルーター
  • サーバにするPC

詳しくは こちらを参照。


OSのインストール

多分こんな画面でインストール進めてますよね?

CentOSを使うなら、 http://wiki.centos.org/Download からISOを落として空のDVDに焼くかUSBメモリに書き込みましょう。あとは焼いたメディアから起動してOSインストールするだけ、簡単!

USBメモリからインストールした方が速いけれど、PCによってはUSBメモリから起動出来なかったり、BIOS設定変更が必要だったりするので、これもうわかんねぇなってなったらDVDに焼いちゃった方がいい。

ちなみに今回はとりあえずMinimal(最小構成)でインストールしてます。サーバーとしてしか使わないPCだったらデスクトップ環境は入れない方が良い。


ログイン

まずは、ログイン。
Login.jpg

(設定したクライアント名) login:

と出ているはずなので、rootと入力。パスワードはOSインストール時に設定したパスワードを入力。パスワード入力時には「*」などは出てこないけれどご心配なく。
なお、今回私が設定したクライアント名はodangoserverです。

[root@odangoserver ~]# _

みたいに出ていればログイン成功。


ネットワーク設定

ローカルIPを固定しておく。設定を変更するためにviエディタでファイルを書き換える。

vi /etc/sysconfig/network-scripts/ifcfg-eth0

普通は有線ならeth0だろうから上記でいけるはず。ダメならifconfigでインターフェース名を確認。

なおviコマンドの使い方は、「I」や「A」キーでInsertモードになって編集できる。終わったらEscapeでモードを抜ける。「:wq」で保存して終了。「:q!」で保存せずに終了。

なんか色々書かれていると思うけれど、以下を追加。もしくは既にある場合は編集。

BOOTPROTO="static"
IPADDR="192.168.0.200"
NETMASK="255.255.255.0"
DNS1="192.168.0.1"
GATEWAY="192.168.0.1"

DNS1やGATEWAYにはブロードバンドルータのIPアドレスを、IPADDRは、ルータのIPと第1~第3オクテット合わせて第4オクテットは好きな数字を設定(ただし他のPC等と被らないように)。だいたいこれでいけるはず、多分。

設定完了したらネットワークサービスを再起動。

/etc/rc.d/init.d/network restart

あと、ファイアウォールもいらんので停止させちゃう。

/etc/rc.d/init.d/iptables stop

システム起動時にファイアウォール起動しないようにしておく。

chkconfig iptables off
chkconfig ip6tables off

SELinuxもいらんので無効に。

vi /etc/selinux/config

で、以下を書き換え。

SELINUX=disabled

とりあえず再起動。

reboot


SSH Serverのインストール

ずっと実機にディスプレイとキーボードを繋いでセットアップしていくのは面倒くさいのでSSHでリモート操作していく。とりあえずここではユーザ名とパスワードでログインしちゃうけど、公開鍵認証設定すると楽だしセキュアで良いので、余裕あったらググってやってみて。

SSHは、OSインストール時Minimal以外選択すればこれはデフォで入ってるんじゃないかな? なのでそういう人は設定だけでOK

インストール

インストールする場合はyumコマンドで。

yum -y install openssh-server

ダーッと出てきてインストール完了。

設定

SSHサーバの設定も変更する。特にポート番号は変更しておいた方がいいっすね。

vi /etc/ssh/sshd_config

で、

#Port 22

となっているのを、以下のように書き換え。

Port (適当なポート番号)

ポート番号は、0~65535のうちウェルノウンポートに無いものにする。

終わったらSSHサービスを再起動。

service sshd restart


SSHで接続する

PuTTYでSSH接続した様子

ここまで終わったら普段使っているWindows機にお好きなSSHクライアントをインストール。PuTTYとかTeratermとか。
インストールしたらIPアドレス・ポート番号・ユーザ名・パスワードを入力してログイン。

多くのSSHクライアント共通?で、選択したらコピーされて、右クリするとペーストという操作法があるので、以後活用していく。


NTPの設定

時刻合わせるためにNTPインストール。

yum -y install ntp

サーバーを変更します。

vi /etc/ntp.conf

予めあるNTPサーバーの設定をコメントアウトして、

#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst

新たに追加。

server ntp1.jst.mfeed.ad.jp iburst
server ntp2.jst.mfeed.ad.jp iburst
server ntp3.jst.mfeed.ad.jp iburst

サービス起動して、登録。

/etc/rc.d/init.d/ntpd start
chkconfig ntpd on

確認は以下のコマンドでできる。

ntpq -pn


WebServerをインストール

サーバといったらまずウェブサーバー。代表的なWebServerアプリケーションであるApacheを入れます。

yum -y install httpd

インストールしたらサービスを起動。

service httpd start

んで、ブラウザからIPアドレスを打ち込めばとりあえずテストページが見られるようになっているはず。
Testpage.png

起動とともにサービスも立ち上がるようにしておく。

chkconfig httpd

PHPインストール

phpinfoのイメージ

やっぱ鯖立てたらいろいろ動かしたい…動かしたくない? というわけでWeb上で動的コンテンツを実現するPHPをインストールします。

インストール

まずはyumで。

yum -y install php php-mbstring php-pear

設定

Apache設定の書き換え。

vi /etc/httpd/conf/httpd.conf

で、ディレクトリインデックスを

DirectoryIndex index.html index.php

と変更。402と押してエンターでその付近にジャンプできるはず。

Apacheを再起動して完了。

service httpd restart

確認

確認のためにPHPテストページ作ってみよう。

vi /var/www/html/phptest/index.php

で、

<?php
phpinfo();
?>

だけ入れて保存して終了(:wq)。

PCでhttp://サーバーのIP/phptest/にアクセスして、PHPのバージョンとかいろいろズラーッと出てきたら成功。


MySQLのインストール

PHPと一緒に用いられることが多いデータベースソフトのMySQLをインストールします。

インストール

yumでインストール。

yum -y install mysql-server

設定

文字コードをUTF-8にするため、設定を編集。

vi /etc/my.cnf

で、最後に

character-set-server=utf8

を追加。

サービスを開始。

service mysqld start

起動とともにサービスも立ち上がるようにしておく。

chkconfig mysqld on

mysql_secure_installationで初期設定

対話形式で初期設定できる、楽ちん!

mysql_secure_installation

で、いろいろ聞かれる。

Enter current password for root (enter for none):

パスワードは初期状態で設定されてないのでそのままエンター。

続いてパスワードを設定。

Set root password? [Y/n] y
New password:
Re-enter new password:

匿名ユーザーいらん!削除。

Remove anonymous users? [Y/n] y

リモートでrootログインいらん!却下。

Disallow root login remotely? [Y/n] y

テストデータベースいらん!削除。

Remove test database and access to it? [Y/n] y

リロード。

Reload privilege tables now? [Y/n] y

確認

mysql -u root -p

でさっき設定したパスワードを入力してログイン。

show databases;

と打つと今あるデータベース一覧が出てくる。

exit

で終了。

書きかけです

関連項目