「サーバー構築方法(Linux編)」の版間の差分
(→WebServerをインストール) |
|||
(他の1人の利用者による、間の11版が非表示) | |||
行1: | 行1: | ||
Linuxでサーバを組みたい方へ。 | Linuxでサーバを組みたい方へ。 | ||
+ | |||
== はじめに == | == はじめに == | ||
行6: | 行7: | ||
Linuxサーバー構築で参考になるサイト:[http://www.server-world.info/ http://www.server-world.info/] | Linuxサーバー構築で参考になるサイト:[http://www.server-world.info/ http://www.server-world.info/] | ||
+ | |||
== 使用したもの == | == 使用したもの == | ||
行29: | 行31: | ||
| 多分4GBもあれば充分じゃないかな? | | 多分4GBもあれば充分じゃないかな? | ||
|} | |} | ||
+ | |||
+ | |||
+ | == Linuxについて == | ||
+ | LinuxはWindowsとはいろいろと概念が異なることを頭に入れておこう。特に、WindowsならGUIで行えていた作業も、Linuxサーバー構築作業ではコマンドベースのCUIが避けて通れない点とか。 | ||
+ | |||
+ | 概念と仕組みとコマンドを理解すれば何も怖いことはないが、最初戸惑うのは仕方ない、恐れずいこう。 | ||
+ | |||
== 準備 == | == 準備 == | ||
行35: | 行44: | ||
* サーバにするPC | * サーバにするPC | ||
詳しくは[[自宅サーバーを始めるあなたに#必要なもの | こちら]]を参照。 | 詳しくは[[自宅サーバーを始めるあなたに#必要なもの | こちら]]を参照。 | ||
+ | |||
== OSのインストール == | == OSのインストール == | ||
行45: | 行55: | ||
ちなみに今回はとりあえずMinimal(最小構成)でインストールしてます。サーバーとしてしか使わないPCだったらデスクトップ環境は入れない方が良い。 | ちなみに今回はとりあえずMinimal(最小構成)でインストールしてます。サーバーとしてしか使わないPCだったらデスクトップ環境は入れない方が良い。 | ||
+ | |||
== ログイン == | == ログイン == | ||
行55: | 行66: | ||
[root@odangoserver ~]# _ | [root@odangoserver ~]# _ | ||
みたいに出ていればログイン成功。 | みたいに出ていればログイン成功。 | ||
+ | |||
== ネットワーク設定 == | == ネットワーク設定 == | ||
行81: | 行93: | ||
chkconfig ip6tables off | chkconfig ip6tables off | ||
− | + | SELinuxもいらんので無効に。 | |
vi /etc/selinux/config | vi /etc/selinux/config | ||
で、以下を書き換え。 | で、以下を書き換え。 | ||
行88: | 行100: | ||
とりあえず再起動。 | とりあえず再起動。 | ||
reboot | reboot | ||
+ | |||
== SSH Serverのインストール == | == SSH Serverのインストール == | ||
− | + | ずっと実機にディスプレイとキーボードを繋いでセットアップしていくのは面倒くさいのでSSHでリモート操作していく。とりあえずここではユーザ名とパスワードでログインしちゃうけど、公開鍵認証設定すると楽だしセキュアで良いので、余裕あったらググってやってみて。 | |
− | + | SSHは、OSインストール時Minimal以外選択すればこれはデフォで入ってるんじゃないかな? なのでそういう人は設定だけでOK | |
+ | === インストール === | ||
インストールする場合はyumコマンドで。 | インストールする場合はyumコマンドで。 | ||
yum -y install openssh-server | yum -y install openssh-server | ||
ダーッと出てきてインストール完了。 | ダーッと出てきてインストール完了。 | ||
+ | === 設定 === | ||
SSHサーバの設定も変更する。特にポート番号は変更しておいた方がいいっすね。 | SSHサーバの設定も変更する。特にポート番号は変更しておいた方がいいっすね。 | ||
vi /etc/ssh/sshd_config | vi /etc/ssh/sshd_config | ||
行108: | 行123: | ||
終わったらSSHサービスを再起動。 | 終わったらSSHサービスを再起動。 | ||
service sshd restart | 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/
使用したもの
今回は小型な自作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:
と出ているはずなので、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で接続する
ここまで終わったら普段使っている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アドレスを打ち込めばとりあえずテストページが見られるようになっているはず。
起動とともにサービスも立ち上がるようにしておく。
chkconfig httpd
PHPインストール
やっぱ鯖立てたらいろいろ動かしたい…動かしたくない? というわけで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
で終了。