差分
/* WebServerをインストール */
Linuxでサーバを組みたい方へ。
== はじめに ==
ここではCentOSを使った自宅サーバの構築方法(というよりも構築レポート?)を公開します。<br>
初めてサーバーを立てる方や、初心者の方はまず[[自宅サーバーを始めるあなたに]]をご覧になることをお勧めします。
Linuxサーバー構築で参考になるサイト:[http://www.server-world.info/ http://www.server-world.info/]
== 使用したもの ==
| 多分4GBもあれば充分じゃないかな?
|}
== Linuxについて ==
LinuxはWindowsとはいろいろと概念が異なることを頭に入れておこう。特に、WindowsならGUIで行えていた作業も、Linuxサーバー構築作業ではコマンドベースのCUIが避けて通れない点とか。
概念と仕組みとコマンドを理解すれば何も怖いことはないが、最初戸惑うのは仕方ない、恐れずいこう。
== 準備 ==
* サーバにするPC
詳しくは[[自宅サーバーを始めるあなたに#必要なもの | こちら]]を参照。
== OSのインストール ==
ちなみに今回はとりあえずMinimal(最小構成)でインストールしてます。サーバーとしてしか使わないPCだったらデスクトップ環境は入れない方が良い。
== ログイン ==
まずは、ログイン。<br>
[[File:login.jpg|320px]]
(設定したクライアント名) login:
と出ているはずなので、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編)]]