Successfully reported this slideshow.

More Related Content

Related Books

Free with a 30 day trial from Scribd

See all

Linux#3

  1. 1. 【Linux】#3 アジェンダ 0900-0910 PCのIPアドレス変更、結線 0910-0920 サーバ環境確認、インストール準備 0920-0930 Apacheのインストール 0930-1000 mod_ssl、php、インストール 1000-1015 apacheでBasic認証 仮想マシンの名前 connpassIDの先頭4文字+【study】+linux3として下さい 既にある場合は変更して下さい。 今日のゴール apacheをインストールする phpをインストールする apacheで「Hello world」 phpの実⾏ Basic認証 1
  2. 2. 環境確認 vmwareにログインして、自分の仮想マシンを起動して下さい。 仮想マシン名をラボの進捗に合わせて、変更して下さい。 ネットワークを確認して有効化して下さい。 PCのteratermから接続して下さい SE Linuxが無効化されている事を確認して下さい 2
  3. 3. インターネット未接続環境でのdnf ソフトウェアのインストールにはCentOS8のパッケージ管理ソフトウェアである「dnf」を使用していきますが、デフォルトではインターネットからソフト ウェアを取得することになります。 ここではインストールメディアからソフトウェアを取得する設定を⾏います。 インストールメディアのISOイメージをCDROMドライブにセットしてあります。 3 手順1 [root@suzukto ~]# mkdir␣/media/CentOS [root@suzukto ~]# mount␣–o␣ro␣/dev/cdrom␣/media/CentOS/ [root@suzukto ~]# alias␣dnf=‘dnf␣--disablerepo=¥*␣--enablerepo=c8-media-BaseOS,c8-media-AppStream’ 手順2 確認 [root@suzukto ~]# df ファイルシス 1K-ブロック 使用 使用可 使用% マウント位置 devtmpfs 905304 0 905304 0% /dev tmpfs 934792 0 934792 0% /dev/shm tmpfs 934792 9832 924960 2% /run tmpfs 934792 0 934792 0% /sys/fs/cgroup /dev/mapper/cl-root 13420544 4243772 9176772 32% / /dev/sda2 999320 191708 738800 21% /boot /dev/sda1 613184 6908 606276 2% /boot/efi tmpfs 186956 1180 185776 1% /run/user/42 tmpfs 186956 4672 182284 3% /run/user/0 /dev/sr0 8037456 8037456 0 100% /media/CentOS [root@suzukto ~]# #alias 手順3 確認 [root@suzukto ~]# alias alias cp='cp -i' alias dnf=‘dnf --disablerepo=¥* --enablerepo=c8-media-BaseOS,c8-media- AppStream’ ←確認 alias egrep='egrep --color=auto' alias fgrep='fgrep --color=auto' alias grep='grep --color=auto' alias l.='ls -d .* --color=auto' alias ll='ls -l --color=auto' alias ls='ls --color=auto' alias mv='mv -i' alias rm='rm -i' [root@suzukto ~]#
  4. 4. Webサーバーのインストールと設定 (1) Webサーバーソフトウェア httpd のインストール dnf list httpd 「利用可能なパッケージ」として表⽰されることを確認します。 dnf install httpd インストールコマンド。httpdをインストールするために必要な依存パッケージも同時にインストールされます。。 「完了しました!」と表⽰されたらインストール完了です。 関連ソフトウェアのインストール dnf install mod_ssl php Webサーバーで使用するソフトウェアを2つ追加でインストールします。 mod_ssl はWebサーバーへ暗号化された通信でアクセスするのに必要なモジュールです phpWebサーバーで動的なコンテンツを配信するために使用します 「完了しました!」と表⽰されたらインストール完了です。 4 利用可能なパッケージ httpd.x86_64 2.4.37-21.module_el8.2.0+494+1df74eae AppStream 手順4 [root@suzukto ~]# dnf␣list␣httpd 手順5 [root@suzukto ~]# dnf␣install␣httpd 手順6 [root@suzukto ~]# dnf␣install␣mod_ssl php
  5. 5. Webサーバーのインストールと設定 (2) 手順7 インストールが完了した事を確認して下さい 手順8 httpdサービスを起動させて下さい Active(running)を確認して下さい 手順9 firewallに、http、httpsの許可を追加します 手順10 firewallに「http」「https」が追加された事を確認して下さい 5 [root@suzukto ~]# httpd␣-v Server version: Apache/2.4.37 (centos) Server built: Jun 8 2020 20:14:33 [root@suzukto ~]# php␣-v PHP 7.2.24 (cli) (built: Oct 22 2019 08:28:36) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologie [root@suzukto ~]# rpm␣aq␣|␣grep␣mod_ssl mod_ssl-2.4.37-21.module_el8.2.0+382+15b0afa8.x86_64 [root@suzukto ~]# systemctl␣start␣httpd [root@suzukto ~]# systemctl␣status␣httpd ● httpd.service - The Apache HTTP Server Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled) Drop-In: /usr/lib/systemd/system/httpd.service.d mqphp-fpm.conf Active: active (running) since Wed 2020-12-30 06:09:30 JST; 18s ago [root@suzukto ~]# firewall-cmd␣--add-service=http success [root@suzukto ~]# firewall-cmd␣--add-service=https success [root@suzukto ~]# firewall-cmd␣--list-all public (active) target: default icmp-block-inversion: no interfaces: ens192 sources: services: cockpit dhcpv6-client ftp http https ssh ←確認 ports: protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules:
  6. 6. Webサーバーのインストールと設定 (2) 手順11 ブラウザからアクセス確認して下さい https://192.168.210.xxx http://192.168.210.xxx 6
  7. 7. Webコンテンツの作成 Webコンテンツは /var/www/html に配置します。 手順12 HTMLファイルを作成します 手順13 PHPファイルを作成します PHPに用意されているPHP設定をHTML出⼒する関数を実⾏します 手順14 ブラウザで表⽰してみます https://192.168.210.xxx/helloworld.html https://192.168.210.xxx/phpinfo.php 7 <html> <head> <title>sample</title> </head> <body> hello world! </body> </html> <?= phpinfo() ?> [root@suzukto ~]# touch␣/var/www/html/helloworld.html [root@suzukto ~]# vi␣/var/www/html/helloworld.html [root@suzukto ~]# touch␣/var/www/html/phpinfo.php [root@suzukto ~]# vi␣/var/www/html/phpinfo.php
  8. 8. Basic認証(1) 要求︓認証ページを作成して下さい。 手順15 秘密のディレクトリ(/suzukito)を作成して下さい 完成イメージ︓IDとパスワードを必要にします。 #公開の前のホームページとかで利用します。 8 [root@suzukto html]# mkdir␣/var/www/html/suzukito [root@suzukto html]# cd␣ /var/www/html/suzukito [root@suzukto suzukito]# touch␣/var/www/html/suzukito/index.html [root@suzukto suzukito]# vi␣ /var/www/html/suzukito/index.html [root@suzukto suzukito]# cat␣/var/www/html/suzukito/index.html <h1>おとしだまください</h1> [root@suzukto suzukito]#
  9. 9. Basic認証(2) 手順16 htaccessファイルを作成して下さい 手順17 以下のサイトでパスワードを作成して下さい https://www.luft.co.jp/cgi/htpasswd.php 作成された文字列をメモ帳に記憶させて下さい 手順18 htpasswordファイルを作成して下さい 9 [root@suzukto suzukito]# cd␣/var/www/html/suzukito [root@suzukto suzukito]# touch␣.htaccess [root@suzukto suzukito]# vi␣.htaccess AuthUserfile /etc/httpd/conf/.htpasswd AuthGroupfile /dev/null AuthName "ID -> forse password -> P@ssw0rd" AuthType Basic require valid-user [root@suzukto suzukito]# touch␣/etc/httpd/conf/.htpasswd [root@suzukto suzukito]# vi␣/etc/httpd/conf/.htpasswd suzuki:v/KUGezBxHrCc
  10. 10. Basic認証(3) 手順19 Apacheの設定ファイルを修正して下さい コマンド「:set number」で⾏数表⽰をさせて下さい。 変更前 変更後 vi で「yy」ヤンク「p」ペーストが便利です 10 [root@suzukto suzukito]# cp␣-p␣/etc/httpd/conf/httpd.conf␣/etc/httpd/conf/httpd.conf.bak [root@suzukto suzukito]# ls␣-al␣/etc/httpd/conf/httpd.conf [root@suzukto suzukito]# vi␣/etc/httpd/conf/httpd.conf 150 # AllowOverride controls what directives may be placed in .htaccess files. 151 # It can be "All", "None", or any combination of the keywords: 152 # Options FileInfo AuthConfig Limit 153 # 154 AllowOverride None 150 # AllowOverride controls what directives may be placed in .htaccess files. 151 # It can be "All", "None", or any combination of the keywords: 152 # Options FileInfo AuthConfig Limit 153 # 154 #AllowOverride None 155 AllowOverride All
  11. 11. Basic認証(4) 手順20 Apacheの再起動をして下さい 手順21 認証がかかっている事、ユーザ名とパスワードを⼊⼒し てログイン出来る事を確認して下さい ユーザ名︓suzuki パスワード︓Passw0rd おしまい。 11 [root@suzukto suzukito]# systemctl␣restart␣httpd

×