差分

移動: 案内検索

サーバー構築方法(Linux編)

6,253 バイト追加, 2016年5月21日 (土) 13:10
/* WebServerをインストール */
Linuxでサーバを組みたい方へ。
 
== はじめに ==
Linuxサーバー構築で参考になるサイト:[http://www.server-world.info/ http://www.server-world.info/]
 
== 使用したもの ==
| 多分4GBもあれば充分じゃないかな?
|}
 
 
== Linuxについて ==
LinuxはWindowsとはいろいろと概念が異なることを頭に入れておこう。特に、WindowsならGUIで行えていた作業も、Linuxサーバー構築作業ではコマンドベースのCUIが避けて通れない点とか。
 
概念と仕組みとコマンドを理解すれば何も怖いことはないが、最初戸惑うのは仕方ない、恐れずいこう。
 
== 準備 ==
* サーバにするPC
詳しくは[[自宅サーバーを始めるあなたに#必要なもの | こちら]]を参照。
 
== OSのインストール ==
ちなみに今回はとりあえずMinimal(最小構成)でインストールしてます。サーバーとしてしか使わないPCだったらデスクトップ環境は入れない方が良い。
 
== ログイン ==
[root@odangoserver ~]# _
みたいに出ていればログイン成功。
 
== ネットワーク設定 ==
ローカルIPを固定しておく。設定を変更するためにviファイルを書き換える。ローカルIPを固定しておく。設定を変更するためにviエディタでファイルを書き換える。
vi /etc/sysconfig/network-scripts/ifcfg-eth0
普通は有線ならeth0だろうから上記でいけるはず。ダメならifconfigでインターフェース名を確認。
DNS1="192.168.0.1"
GATEWAY="192.168.0.1"
基本的にDNS1やGATEWAYにはブロードバンドルータのIPアドレスを、IPADDRは、ルータのIPと第1~第3オクテット合わせて第4オクテットは好きな数字を設定(ただし他のPC等と被らないように)。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でリモート操作していく。とりあえずここではユーザ名とパスワードでログインしちゃうけど、公開鍵認証設定すると楽だしセキュアで良いので、余裕あったらググってやってみて。 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で終了。 == 書きかけです == 
Minimal以外選択すればこれはデフォで入ってるんじゃないかな? なので飛ばしてしまってOK== 関連項目 ==* [[自宅サーバーを始めるあなたに]]* [[録画サーバー入門]]* [[録画サーバー構築方法(Linux編)]]
301
回編集