URL : http://www.asial.co.jp/ │ Copyright © Asial Corporation. All Rights Reserved. │ 1
Linux超入門 第二回
仮想サーバー上にLAMP環境を構築してみよう
1回3,000円のWeb技術教育・アシアル塾
http://www.asial.co.jp/school/juku.php
URL : http://www.asial.co.jp/ │ Copyright © Asial Corporation. All Rights Reserved. │ 2
本講座の目的
本講座の目的
• Webの仕事に携わる上で避けて通れないLinuxサーバーの役割を理解します
• いわゆる黒い画面を利用した操作方法を学びます
• サーバーのファイルを直接変更する方法を学びます
受講対象者
• Webを普段から利用しており、Linuxサーバーに興味関心がある方
第二回目(仮想サーバー上にLAMP環境を構築してみよう)の目標
1. 仮想サーバーの仕組みや役割を理解する
2. 仮想サーバーの設定方法を理解する
3. パッケージ管理ソフトを利用してApacheやMySQLをインストールする
4. ブラウザからサーバーにアクセスしPHPが動作することを確認する
URL : http://www.asial.co.jp/ │ Copyright © Asial Corporation. All Rights Reserved. │ 3
Linuxサーバーを用意する
URL : http://www.asial.co.jp/ │ Copyright © Asial Corporation. All Rights Reserved. │ 4
サーバーを用意する方法
PC上にLinuxをインストールする
• Linux用のインストールディスクを調達してインストールします
古くなったPCを活用すれば低コスト・低リスクでLinuxを用意できます
PC上に仮想化ソフトで仮想マシンを用意し、Linuxをインストールする
• VMware やVirtualBoxといったソフトを利用して仮想マシンを用意します
ディスクやメモリが許す限り仮想マシンを用意できます
低コストで利用できます
仮想サーバーをレンタルする
• VPSやクラウドで提供される仮想マシンを利用します
グローバルなIPアドレスを持てるためサービスの公開には最も向いています
お金さえ払えば必要な時に必要な分だけマシンを調達できます。
URL : http://www.asial.co.jp/ │ Copyright © Asial Corporation. All Rights Reserved. │ 5
本日利用するサーバー
本日はさくらのクラウドを利用します
• サイトが全部日本語
• 明朗会計
• 1時間単位からの料金設定
利用するLinux
• ディストリビューション
CentOS6.x
URL : http://www.asial.co.jp/ │ Copyright © Asial Corporation. All Rights Reserved. │ 6
サーバーの設定確認
URL : http://www.asial.co.jp/ │ Copyright © Asial Corporation. All Rights Reserved. │ 7
サーバーの設定確認
サーバーにログインする
• SSHコマンドを利用して仮想サーバーにログインします
ssh root@IPアドレス
• rootは管理者です
※ rootでネットワークの外から簡単に入れる状態は好ましくないため、対策が必要となります。
サーバーの設定確認
• ネットワークの設定ファイルを確認する
• 利用しているネームサーバーを確認する
• 自動起動するサーバーソフトを確認する
• ファイアーウォールの設定を確認する
URL : http://www.asial.co.jp/ │ Copyright © Asial Corporation. All Rights Reserved. │ 8
ネットワークの設定ファイルを確認する
ifcfg-eth
• イーサネットデバイス毎の設定が記載されたファイルです。
1番目のイーサーネットデバイスはifcfg-eth0、2番目がifcfg-eth1になります。
– サーバーでは複数のイーサネットデバイスを利用することが珍しくありません。
• 出力結果例
cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
NETMASK=255.255.255.0
IPADDR=xxx.xxx.xxx.xxx
URL : http://www.asial.co.jp/ │ Copyright © Asial Corporation. All Rights Reserved. │ 9
ネットワークの設定ファイルを確認する
resolv.conf
• ネームサーバーのIPアドレスを記述するファイルです
ネームサーバーとはexample.comなどのドメインとIPアドレスを相互変換するサーバーです
この設定が無いとドメイン名からIPアドレスを調べる(名前解決)ことができません
• 出力結果例
• ネームサーバーの障害に備え、複数のネームサーバーを指定できるようになっています
cat /etc/resolv.conf
nameserver xxx.xxx.xxx.xxx
nameserver xxx.xxx.xxx.xxx
search localdomain
URL : http://www.asial.co.jp/ │ Copyright © Asial Corporation. All Rights Reserved. │ 10
自動起動サーバーソフト(サービス)の確認
自動起動サーバーソフト(サービス)の確認
• サーバーソフトのことをサービスやデーモンと呼びます
• chkconfigコマンドにてサービスの自動起動設定を確認できます
• 出力結果例
• 解説
一般的に3の設定が採用されます。
– 各数字はランレベルというものを表しています。
chkconfig --list
sshd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
URL : http://www.asial.co.jp/ │ Copyright © Asial Corporation. All Rights Reserved. │ 11
インストール済みのソフトウェアパッケージ確認
パッケージによるソフトウェア管理
• ソフトウェアはパッケージという単位で管理されています
例えば「w3m」コマンドをインストールするためのパッケージや「mysql」を動かすためのパッケージが存在
します。
• パッケージには依存関係があります
例えば「w3m」コマンドはSSLによる暗号化通信を行うために「openssl」のパッケージを必要とします
パッケージ管理ソフト
• rpm
パッケージのインストールやアンインストールを行うソフトです。
• yum
rpmを更に簡単に利用するためのソフトです。依存関係の解決や更新を手軽に行うことができます。
インストール済みパッケージの確認
パッケージのインストールと依存性の確認
yum list installed
yum install w3m
yum deplist w3m
URL : http://www.asial.co.jp/ │ Copyright © Asial Corporation. All Rights Reserved. │ 12
yumコマンドの使い方
yumコマンド
• yumコマンドを使うことでパッケージを探したり、依存関係を考慮した一括インストールを
行うことができます。また、パッケージのアップデートも行うことができます。
• パッケージデータベース(リポジトリ)によるパッケージ管理
yumはパッケージデータベースを参照することでソフトウェアを管理しています。パッケージデータ
ベースの設定は以下のディレクトリで行います。
– /etc/yum.repos.d/
• コマンド
update インストール済みパッケージのアップデートを行います
search パッケージを探します
install パッケージをインストールします
remove パッケージをアンインストールします
URL : http://www.asial.co.jp/ │ Copyright © Asial Corporation. All Rights Reserved. │ 13
rpmコマンドの使いかた
rpmコマンド
• パッケージのインストールや削除を行います
• オプション
-v 詳細情報を出力
-h 進 状況を#記号で表示
-i パッケージをインストールします
-e パッケージをアンインストールします
-qa インストール済みのパッケージ一覧を確認
-K パッケージの署名を確認します
--import 署名検証用の公開鍵をインストールします
使い方
• インストール
rpm -ivh パッケージファイル
• インストール済みパッケージの確認
rpm -qa ¦grep php
URL : http://www.asial.co.jp/ │ Copyright © Asial Corporation. All Rights Reserved. │ 14
【応用】言語環境を日本語に切り替える方法
言語環境を日本語に切り替える
常に日本語環境になるように設定ファイルを変更する
/etc/sysconfig/i18n
export LANG="ja_JP.UTF-8"
vim /etc/sysconfig/i18n
LANG="ja_JP.UTF-8"
SYSFONT="latarcyrheb-sun16"
URL : http://www.asial.co.jp/ │ Copyright © Asial Corporation. All Rights Reserved. │ 15
セキュリティ対策
URL : http://www.asial.co.jp/ │ Copyright © Asial Corporation. All Rights Reserved. │ 16
セキュリティ対策
今回行う対策
• パッケージを最新の状態にする
• ファイアーウォールを設定する
今回特別に行う対策
• 特定のIPアドレス以外からはアクセスできないようにする
今回は行わないが、可能な限り行った方が良い対策
• パスワード認証ではなく鍵認証を行う
• rootユーザーでの直接ログインを禁止する
一般ユーザーでログインしてからrootに昇格することのみ許可する
• rootによる操作は控える
【参考情報】
• エルピーアイジャパンがLinuxのセキュリティに関する情報をPDFで無料公開しています。
Linuxセキュリティ標準教科書
URL : http://www.asial.co.jp/ │ Copyright © Asial Corporation. All Rights Reserved. │ 17
パッケージを最新状態にする
パッケージを最新状態にするコマンド
【発展】パッケージアップデートの自動化設定
• yum-cronのインストール
• yum-cronの起動
• yum-cronの自動起動設定
yum update
yum install yum-cron
/etc/init.d/yum-cron start
chkconfig yum-cron on
URL : http://www.asial.co.jp/ │ Copyright © Asial Corporation. All Rights Reserved. │ 18
ファイアーウォールを設定する
setupコマンドによるファイアーウォールの設定
Firewallを選択してセキュリティの設定を行います
操作方法
• タブや十字キーで選択を切り替えます
• エンターキーで選択を行います
setup
URL : http://www.asial.co.jp/ │ Copyright © Asial Corporation. All Rights Reserved. │ 19
Firewallの設定
Customizeを選択し「SSH」「HTTPS」「HTTP」を許可する。その後 Close
OKを選択。YESを選択して設定を上書きする。
URL : http://www.asial.co.jp/ │ Copyright © Asial Corporation. All Rights Reserved. │ 20
Firewallの設定ファイル確認と再起動
Firewall(iptables)の設定ファイルは「/etc/sysconfig/iptables」に記載されます
• 設定ファイルを確認してみましょう
• 念のためiptablesのサービスを再起動します
/etc/sysconfig/iptablesの設定例
iptablesの再起動
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
/etc/init.d/iptables restart
URL : http://www.asial.co.jp/ │ Copyright © Asial Corporation. All Rights Reserved. │ 21
特定のIPアドレス以外からはアクセスできないようにする
特定のIPアドレス以外からはアクセスできないようにする
• 実験中などで外部に公開したくない場合はIP制限ではじくことができます。
/etc/sysconfig/iptables
• 例:sshの接続は特定のIPだけ行えるようにする
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp -s xxx.xxx.xxx.xxx --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
URL : http://www.asial.co.jp/ │ Copyright © Asial Corporation. All Rights Reserved. │ 22
Apache・MySQL・PHPのインストールと動作確認
URL : http://www.asial.co.jp/ │ Copyright © Asial Corporation. All Rights Reserved. │ 23
LAMP環境構築に必要なパッケージのインストール
LAMP環境構築に必要なパッケージのインストール
• 複数行に分けてインストールしても大丈夫です
yum install mysql mysql-server httpd php php-pdo php-mysql
yum install mysql
yum install mysql-server
yum install httpd
yum install php
yum install php-pdo
yum install php-mysql
URL : http://www.asial.co.jp/ │ Copyright © Asial Corporation. All Rights Reserved. │ 24
Apacheウェブサーバーの起動と動作確認
Apacheウェブサーバーの起動
ウェブサーバーの動作確認
• PCのブラウザにてIPアドレスを指定して確認します
http://IPアドレス/
PHPの実行確認
• /var/www/html/index.phpを作成してPHPのプログラムを記述してみましょう。
• /var/www/html/index.php
/etc/init.d/httpd start
vim /var/www/html/index.php
<?php echo 'Hello Linux'; ?>
URL : http://www.asial.co.jp/ │ Copyright © Asial Corporation. All Rights Reserved. │ 25
MySQLデータベースサーバーの起動と動作確認
MySQLデータベースサーバーの起動
動作確認
• mysqlコマンドでデータベースに接続 (rootログイン)
• データベース一覧を表示してみる
/etc/init.d/mysqld start
mysql
show databases;
URL : http://www.asial.co.jp/ │ Copyright © Asial Corporation. All Rights Reserved. │ 26
【発展】非公式リポジトリの活用
URL : http://www.asial.co.jp/ │ Copyright © Asial Corporation. All Rights Reserved. │ 27
非公式リポジトリの活用
非公式リポジトリの活用
• CentOS6におけるPHP5.5やPHP5.6の利用など、通常サポートされていないパッケージをインストールす
る際に、非公式のリポジトリを活用することが可能です。
• remi.repoの編集例
wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
rpm -ivh remi-release-6.rpm
vim /etc/yum.repos.d/remi.repo
[remi]
name=Les RPM de remi pour Enterprise Linux 6 - $basearch
#baseurl=http://rpms.famillecollet.com/enterprise/6/remi/$basearch/
mirrorlist=http://rpms.famillecollet.com/enterprise/6/remi/mirror
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi
[remi-php55]
name=Les RPM de remi de PHP 5.5 pour Enterprise Linux 6 - $basearch
#baseurl=http://rpms.famillecollet.com/enterprise/6/php55/$basearch/
mirrorlist=http://rpms.famillecollet.com/enterprise/6/php55/mirror
# WARNING: If you enable this repository, you must also enable "remi"
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi
URL : http://www.asial.co.jp/ │ Copyright © Asial Corporation. All Rights Reserved. │ 28
【発展】MySQLとPHPの接続
URL : http://www.asial.co.jp/ │ Copyright © Asial Corporation. All Rights Reserved. │ 29
MySQLデータベースサーバーの利用実験
データベーステーブルを作成し、データの入力や参照を行う
use test;
create table asial_juku(id serial,name text);
insert into asial_juku(name) values ('yuki');
select * from asial_juku;
URL : http://www.asial.co.jp/ │ Copyright © Asial Corporation. All Rights Reserved. │ 30
PHPとMySQLデータベースサーバーの接続実験
先ほどのデータベースにPHPのPDOから接続試験を行う
<?php
$pdo = new PDO ('mysql:dbname=test;host=localhost', 'root');
$sql = 'SELECT * FROM asial_juku';
$stmt = $pdo->query($sql);
$asial_juku = $stmt->fetchAll();
foreach($asial_juku as $member) {
echo htmlspecialchars($member['id'], ENT_QUOTES, 'UTF-8');
echo htmlspecialchars($member['name'], ENT_QUOTES, 'UTF-8');
echo "<br>¥n";
}
URL : http://www.asial.co.jp/ │ Copyright © Asial Corporation. All Rights Reserved. │ 31
【CM】アシアルスクール
URL : http://www.asial.co.jp/ │ Copyright © Asial Corporation. All Rights Reserved. │ 32
アシアル塾のご案内
1回3,000円でWeb技術を約90分学習できる格安の教育サービスです
• 60分の講義+30分の復習&質問タイム
主な対象
• IT業界やWeb業界で働いているプロの方の学習を応援します!
Webデザイナーの方大歓迎
• 技術を分かりやすく教えます
絶対理解保証キャンペーン実施中
• もし講義内容にご満足いただけなかった場合は返金いたします
(返金手数料のみ頂戴いたします)
URL
• http://www.asial.co.jp/school/juku.php
URL : http://www.asial.co.jp/ │ Copyright © Asial Corporation. All Rights Reserved. │ 33
アシアルスクールのご案内
Web関連技術を集中的かつ体系的に学べる研修サービスです
• 半日∼二日間の集中講義を中心に実施
• PHPやJavaScript、LinuxといったWeb関連技術が学べます
URL
• http://www.asial.co.jp/school/guide.php
例:PHP講座の学習ロードマップ
URL : http://www.asial.co.jp/ │ Copyright © Asial Corporation. All Rights Reserved. │ 34
企業研修のご案内
アシアルではWeb技術に関する企業研修を行っています
• 技術職採用の社員に向けた新人研修・中途採用者向け研修
• 総合職向けのWeb技術入門研修
主な実績
• グリー株式会社様
• 株式会社ドワンゴ様
• 株式会社朝日新聞社様
URL
• http://www.asial.co.jp/business/training/

【アシアル塾】Linux超入門編・第二回 仮想サーバー上にLAMP環境を構築してみよう

  • 1.
    URL : http://www.asial.co.jp/│ Copyright © Asial Corporation. All Rights Reserved. │ 1 Linux超入門 第二回 仮想サーバー上にLAMP環境を構築してみよう 1回3,000円のWeb技術教育・アシアル塾 http://www.asial.co.jp/school/juku.php
  • 2.
    URL : http://www.asial.co.jp/│ Copyright © Asial Corporation. All Rights Reserved. │ 2 本講座の目的 本講座の目的 • Webの仕事に携わる上で避けて通れないLinuxサーバーの役割を理解します • いわゆる黒い画面を利用した操作方法を学びます • サーバーのファイルを直接変更する方法を学びます 受講対象者 • Webを普段から利用しており、Linuxサーバーに興味関心がある方 第二回目(仮想サーバー上にLAMP環境を構築してみよう)の目標 1. 仮想サーバーの仕組みや役割を理解する 2. 仮想サーバーの設定方法を理解する 3. パッケージ管理ソフトを利用してApacheやMySQLをインストールする 4. ブラウザからサーバーにアクセスしPHPが動作することを確認する
  • 3.
    URL : http://www.asial.co.jp/│ Copyright © Asial Corporation. All Rights Reserved. │ 3 Linuxサーバーを用意する
  • 4.
    URL : http://www.asial.co.jp/│ Copyright © Asial Corporation. All Rights Reserved. │ 4 サーバーを用意する方法 PC上にLinuxをインストールする • Linux用のインストールディスクを調達してインストールします 古くなったPCを活用すれば低コスト・低リスクでLinuxを用意できます PC上に仮想化ソフトで仮想マシンを用意し、Linuxをインストールする • VMware やVirtualBoxといったソフトを利用して仮想マシンを用意します ディスクやメモリが許す限り仮想マシンを用意できます 低コストで利用できます 仮想サーバーをレンタルする • VPSやクラウドで提供される仮想マシンを利用します グローバルなIPアドレスを持てるためサービスの公開には最も向いています お金さえ払えば必要な時に必要な分だけマシンを調達できます。
  • 5.
    URL : http://www.asial.co.jp/│ Copyright © Asial Corporation. All Rights Reserved. │ 5 本日利用するサーバー 本日はさくらのクラウドを利用します • サイトが全部日本語 • 明朗会計 • 1時間単位からの料金設定 利用するLinux • ディストリビューション CentOS6.x
  • 6.
    URL : http://www.asial.co.jp/│ Copyright © Asial Corporation. All Rights Reserved. │ 6 サーバーの設定確認
  • 7.
    URL : http://www.asial.co.jp/│ Copyright © Asial Corporation. All Rights Reserved. │ 7 サーバーの設定確認 サーバーにログインする • SSHコマンドを利用して仮想サーバーにログインします ssh root@IPアドレス • rootは管理者です ※ rootでネットワークの外から簡単に入れる状態は好ましくないため、対策が必要となります。 サーバーの設定確認 • ネットワークの設定ファイルを確認する • 利用しているネームサーバーを確認する • 自動起動するサーバーソフトを確認する • ファイアーウォールの設定を確認する
  • 8.
    URL : http://www.asial.co.jp/│ Copyright © Asial Corporation. All Rights Reserved. │ 8 ネットワークの設定ファイルを確認する ifcfg-eth • イーサネットデバイス毎の設定が記載されたファイルです。 1番目のイーサーネットデバイスはifcfg-eth0、2番目がifcfg-eth1になります。 – サーバーでは複数のイーサネットデバイスを利用することが珍しくありません。 • 出力結果例 cat /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 NETMASK=255.255.255.0 IPADDR=xxx.xxx.xxx.xxx
  • 9.
    URL : http://www.asial.co.jp/│ Copyright © Asial Corporation. All Rights Reserved. │ 9 ネットワークの設定ファイルを確認する resolv.conf • ネームサーバーのIPアドレスを記述するファイルです ネームサーバーとはexample.comなどのドメインとIPアドレスを相互変換するサーバーです この設定が無いとドメイン名からIPアドレスを調べる(名前解決)ことができません • 出力結果例 • ネームサーバーの障害に備え、複数のネームサーバーを指定できるようになっています cat /etc/resolv.conf nameserver xxx.xxx.xxx.xxx nameserver xxx.xxx.xxx.xxx search localdomain
  • 10.
    URL : http://www.asial.co.jp/│ Copyright © Asial Corporation. All Rights Reserved. │ 10 自動起動サーバーソフト(サービス)の確認 自動起動サーバーソフト(サービス)の確認 • サーバーソフトのことをサービスやデーモンと呼びます • chkconfigコマンドにてサービスの自動起動設定を確認できます • 出力結果例 • 解説 一般的に3の設定が採用されます。 – 各数字はランレベルというものを表しています。 chkconfig --list sshd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
  • 11.
    URL : http://www.asial.co.jp/│ Copyright © Asial Corporation. All Rights Reserved. │ 11 インストール済みのソフトウェアパッケージ確認 パッケージによるソフトウェア管理 • ソフトウェアはパッケージという単位で管理されています 例えば「w3m」コマンドをインストールするためのパッケージや「mysql」を動かすためのパッケージが存在 します。 • パッケージには依存関係があります 例えば「w3m」コマンドはSSLによる暗号化通信を行うために「openssl」のパッケージを必要とします パッケージ管理ソフト • rpm パッケージのインストールやアンインストールを行うソフトです。 • yum rpmを更に簡単に利用するためのソフトです。依存関係の解決や更新を手軽に行うことができます。 インストール済みパッケージの確認 パッケージのインストールと依存性の確認 yum list installed yum install w3m yum deplist w3m
  • 12.
    URL : http://www.asial.co.jp/│ Copyright © Asial Corporation. All Rights Reserved. │ 12 yumコマンドの使い方 yumコマンド • yumコマンドを使うことでパッケージを探したり、依存関係を考慮した一括インストールを 行うことができます。また、パッケージのアップデートも行うことができます。 • パッケージデータベース(リポジトリ)によるパッケージ管理 yumはパッケージデータベースを参照することでソフトウェアを管理しています。パッケージデータ ベースの設定は以下のディレクトリで行います。 – /etc/yum.repos.d/ • コマンド update インストール済みパッケージのアップデートを行います search パッケージを探します install パッケージをインストールします remove パッケージをアンインストールします
  • 13.
    URL : http://www.asial.co.jp/│ Copyright © Asial Corporation. All Rights Reserved. │ 13 rpmコマンドの使いかた rpmコマンド • パッケージのインストールや削除を行います • オプション -v 詳細情報を出力 -h 進 状況を#記号で表示 -i パッケージをインストールします -e パッケージをアンインストールします -qa インストール済みのパッケージ一覧を確認 -K パッケージの署名を確認します --import 署名検証用の公開鍵をインストールします 使い方 • インストール rpm -ivh パッケージファイル • インストール済みパッケージの確認 rpm -qa ¦grep php
  • 14.
    URL : http://www.asial.co.jp/│ Copyright © Asial Corporation. All Rights Reserved. │ 14 【応用】言語環境を日本語に切り替える方法 言語環境を日本語に切り替える 常に日本語環境になるように設定ファイルを変更する /etc/sysconfig/i18n export LANG="ja_JP.UTF-8" vim /etc/sysconfig/i18n LANG="ja_JP.UTF-8" SYSFONT="latarcyrheb-sun16"
  • 15.
    URL : http://www.asial.co.jp/│ Copyright © Asial Corporation. All Rights Reserved. │ 15 セキュリティ対策
  • 16.
    URL : http://www.asial.co.jp/│ Copyright © Asial Corporation. All Rights Reserved. │ 16 セキュリティ対策 今回行う対策 • パッケージを最新の状態にする • ファイアーウォールを設定する 今回特別に行う対策 • 特定のIPアドレス以外からはアクセスできないようにする 今回は行わないが、可能な限り行った方が良い対策 • パスワード認証ではなく鍵認証を行う • rootユーザーでの直接ログインを禁止する 一般ユーザーでログインしてからrootに昇格することのみ許可する • rootによる操作は控える 【参考情報】 • エルピーアイジャパンがLinuxのセキュリティに関する情報をPDFで無料公開しています。 Linuxセキュリティ標準教科書
  • 17.
    URL : http://www.asial.co.jp/│ Copyright © Asial Corporation. All Rights Reserved. │ 17 パッケージを最新状態にする パッケージを最新状態にするコマンド 【発展】パッケージアップデートの自動化設定 • yum-cronのインストール • yum-cronの起動 • yum-cronの自動起動設定 yum update yum install yum-cron /etc/init.d/yum-cron start chkconfig yum-cron on
  • 18.
    URL : http://www.asial.co.jp/│ Copyright © Asial Corporation. All Rights Reserved. │ 18 ファイアーウォールを設定する setupコマンドによるファイアーウォールの設定 Firewallを選択してセキュリティの設定を行います 操作方法 • タブや十字キーで選択を切り替えます • エンターキーで選択を行います setup
  • 19.
    URL : http://www.asial.co.jp/│ Copyright © Asial Corporation. All Rights Reserved. │ 19 Firewallの設定 Customizeを選択し「SSH」「HTTPS」「HTTP」を許可する。その後 Close OKを選択。YESを選択して設定を上書きする。
  • 20.
    URL : http://www.asial.co.jp/│ Copyright © Asial Corporation. All Rights Reserved. │ 20 Firewallの設定ファイル確認と再起動 Firewall(iptables)の設定ファイルは「/etc/sysconfig/iptables」に記載されます • 設定ファイルを確認してみましょう • 念のためiptablesのサービスを再起動します /etc/sysconfig/iptablesの設定例 iptablesの再起動 # Firewall configuration written by system-config-firewall # Manual customization of this file is not recommended. *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT -A INPUT -p icmp -j ACCEPT -A INPUT -i lo -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT -A INPUT -j REJECT --reject-with icmp-host-prohibited -A FORWARD -j REJECT --reject-with icmp-host-prohibited COMMIT /etc/init.d/iptables restart
  • 21.
    URL : http://www.asial.co.jp/│ Copyright © Asial Corporation. All Rights Reserved. │ 21 特定のIPアドレス以外からはアクセスできないようにする 特定のIPアドレス以外からはアクセスできないようにする • 実験中などで外部に公開したくない場合はIP制限ではじくことができます。 /etc/sysconfig/iptables • 例:sshの接続は特定のIPだけ行えるようにする # Firewall configuration written by system-config-firewall # Manual customization of this file is not recommended. *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT -A INPUT -p icmp -j ACCEPT -A INPUT -i lo -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp -s xxx.xxx.xxx.xxx --dport 22 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT -A INPUT -j REJECT --reject-with icmp-host-prohibited -A FORWARD -j REJECT --reject-with icmp-host-prohibited COMMIT
  • 22.
    URL : http://www.asial.co.jp/│ Copyright © Asial Corporation. All Rights Reserved. │ 22 Apache・MySQL・PHPのインストールと動作確認
  • 23.
    URL : http://www.asial.co.jp/│ Copyright © Asial Corporation. All Rights Reserved. │ 23 LAMP環境構築に必要なパッケージのインストール LAMP環境構築に必要なパッケージのインストール • 複数行に分けてインストールしても大丈夫です yum install mysql mysql-server httpd php php-pdo php-mysql yum install mysql yum install mysql-server yum install httpd yum install php yum install php-pdo yum install php-mysql
  • 24.
    URL : http://www.asial.co.jp/│ Copyright © Asial Corporation. All Rights Reserved. │ 24 Apacheウェブサーバーの起動と動作確認 Apacheウェブサーバーの起動 ウェブサーバーの動作確認 • PCのブラウザにてIPアドレスを指定して確認します http://IPアドレス/ PHPの実行確認 • /var/www/html/index.phpを作成してPHPのプログラムを記述してみましょう。 • /var/www/html/index.php /etc/init.d/httpd start vim /var/www/html/index.php <?php echo 'Hello Linux'; ?>
  • 25.
    URL : http://www.asial.co.jp/│ Copyright © Asial Corporation. All Rights Reserved. │ 25 MySQLデータベースサーバーの起動と動作確認 MySQLデータベースサーバーの起動 動作確認 • mysqlコマンドでデータベースに接続 (rootログイン) • データベース一覧を表示してみる /etc/init.d/mysqld start mysql show databases;
  • 26.
    URL : http://www.asial.co.jp/│ Copyright © Asial Corporation. All Rights Reserved. │ 26 【発展】非公式リポジトリの活用
  • 27.
    URL : http://www.asial.co.jp/│ Copyright © Asial Corporation. All Rights Reserved. │ 27 非公式リポジトリの活用 非公式リポジトリの活用 • CentOS6におけるPHP5.5やPHP5.6の利用など、通常サポートされていないパッケージをインストールす る際に、非公式のリポジトリを活用することが可能です。 • remi.repoの編集例 wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm rpm -ivh remi-release-6.rpm vim /etc/yum.repos.d/remi.repo [remi] name=Les RPM de remi pour Enterprise Linux 6 - $basearch #baseurl=http://rpms.famillecollet.com/enterprise/6/remi/$basearch/ mirrorlist=http://rpms.famillecollet.com/enterprise/6/remi/mirror enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi [remi-php55] name=Les RPM de remi de PHP 5.5 pour Enterprise Linux 6 - $basearch #baseurl=http://rpms.famillecollet.com/enterprise/6/php55/$basearch/ mirrorlist=http://rpms.famillecollet.com/enterprise/6/php55/mirror # WARNING: If you enable this repository, you must also enable "remi" enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi
  • 28.
    URL : http://www.asial.co.jp/│ Copyright © Asial Corporation. All Rights Reserved. │ 28 【発展】MySQLとPHPの接続
  • 29.
    URL : http://www.asial.co.jp/│ Copyright © Asial Corporation. All Rights Reserved. │ 29 MySQLデータベースサーバーの利用実験 データベーステーブルを作成し、データの入力や参照を行う use test; create table asial_juku(id serial,name text); insert into asial_juku(name) values ('yuki'); select * from asial_juku;
  • 30.
    URL : http://www.asial.co.jp/│ Copyright © Asial Corporation. All Rights Reserved. │ 30 PHPとMySQLデータベースサーバーの接続実験 先ほどのデータベースにPHPのPDOから接続試験を行う <?php $pdo = new PDO ('mysql:dbname=test;host=localhost', 'root'); $sql = 'SELECT * FROM asial_juku'; $stmt = $pdo->query($sql); $asial_juku = $stmt->fetchAll(); foreach($asial_juku as $member) { echo htmlspecialchars($member['id'], ENT_QUOTES, 'UTF-8'); echo htmlspecialchars($member['name'], ENT_QUOTES, 'UTF-8'); echo "<br>¥n"; }
  • 31.
    URL : http://www.asial.co.jp/│ Copyright © Asial Corporation. All Rights Reserved. │ 31 【CM】アシアルスクール
  • 32.
    URL : http://www.asial.co.jp/│ Copyright © Asial Corporation. All Rights Reserved. │ 32 アシアル塾のご案内 1回3,000円でWeb技術を約90分学習できる格安の教育サービスです • 60分の講義+30分の復習&質問タイム 主な対象 • IT業界やWeb業界で働いているプロの方の学習を応援します! Webデザイナーの方大歓迎 • 技術を分かりやすく教えます 絶対理解保証キャンペーン実施中 • もし講義内容にご満足いただけなかった場合は返金いたします (返金手数料のみ頂戴いたします) URL • http://www.asial.co.jp/school/juku.php
  • 33.
    URL : http://www.asial.co.jp/│ Copyright © Asial Corporation. All Rights Reserved. │ 33 アシアルスクールのご案内 Web関連技術を集中的かつ体系的に学べる研修サービスです • 半日∼二日間の集中講義を中心に実施 • PHPやJavaScript、LinuxといったWeb関連技術が学べます URL • http://www.asial.co.jp/school/guide.php 例:PHP講座の学習ロードマップ
  • 34.
    URL : http://www.asial.co.jp/│ Copyright © Asial Corporation. All Rights Reserved. │ 34 企業研修のご案内 アシアルではWeb技術に関する企業研修を行っています • 技術職採用の社員に向けた新人研修・中途採用者向け研修 • 総合職向けのWeb技術入門研修 主な実績 • グリー株式会社様 • 株式会社ドワンゴ様 • 株式会社朝日新聞社様 URL • http://www.asial.co.jp/business/training/