Webサーバーを動かすまで
60
© LPI-Japan / EDUCO all rights reserved.
IPアドレスの設定
n サーバーとして運用するなら、固定IPを設定する のが基本。
インストール時に設定したIPを自動で引き継ぐ。
インストール時にDHCPを利用した場合は、別途固定 IPを設定しておくとよい。
n Ubuntu Serverではnetplan.ioを使ってネットワー
クの設定を行う。
netplan.ioの設定
n YAMLベースのネットワーク抽象化レンダラー n /etc/netplan以下にYAMLファイルを作成して設
定する。
/etc/netplan/99-config.yaml の記述例 network:
version: 2 ethernets:
対象のネットワークインターフェイス名(例 enp0s3):
dhcp4: no dhcp6: no addresses:
- 付与したいIPアドレス/ネットマスク gateway4: ゲートウェイのIPアドレス nameservers:
addresses:
62
© LPI-Japan / EDUCO all rights reserved.
ネットワーク設定の適用
n netplan applyコマンドを実行する。
SSH経由でIPアドレスを変更する場合は、接続断に 注意。
$ sudo netplan apply # 設定変更を適用
$ ip a # IPアドレスを確認
(...略...)
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 08:00:27:9d:5d:d6 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.99/24 brd 192.168.1.255 scope global enp0s3 valid_lft forever preferred_lft forever
(...略...)
Webサーバーのインストール
n apache2パッケージをインストールする。
n インストールするだけでサービスが動作する。
$ sudo apt update # 事前にパッケージリストを更新する
$ sudo apt install –y apache2 # UbuntuのApacheのパッケージ名はapache2
$ systemctl status apache2.service # ステータスを確認する
● apache2.service - The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2021-03-17 07:34:23 UTC; 4min 31s ago
Docs: https://httpd.apache.org/docs/2.4/
Process: 623 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
64
© LPI-Japan / EDUCO all rights reserved.
Webサーバーの動作確認
Webサーバーの設定
n UbuntuのApacheはCentOSと異なり、設定ごとに ファイルが分割されている構成。
/etc/apache2/{conf,sites,mods}-availableにファイル の実体を置く。
/etc/apache2/{conf,sites,mods}-enabledに有効にし たい設定へのシンボリックリンクを置く。
リンクのON/OFFで設定、モジュール、バーチャルホ
ストの有効、無効を切り替えられる。
66
© LPI-Japan / EDUCO all rights reserved.
Webサーバーの設定
/etc/apache2
mods-available conf-available sites-available
mods-enabled conf-enabled sites-enabled
mime.conf ssl.conf security.co
nf
charset.co
nf site1.conf site2.conf
site1.conf
mime.conf security.co
nf
charset.co nf
apache2.conf
は*-enabled
フォルダのみをinlucde
するモジュール、コンフィグ、バー チャルホストごとに設定ファイル
を分割しておく。
有効にしたい設定のみ、
enabledフォルダからシン ボリックリンクを張る。
Webサーバーの設定コマンド
n リンクのON/OFFで設定、モジュール、バーチャ ルホストの有効、無効を切り替えられる。
n シンボリックリンクを張る、切るを行うフロントエ ンドがa2{en,dis}系コマンド。
$ sudo a2enmod userdir # UserDirモジュールを有効化
$ sudo a2dismod userdir # UserDirモジュールを無効化
$ sudo a2enconf security # Security設定を有効化
$ sudo a2disconf security # Security設定を無効化
$ sudo a2ensite default-ssl # default-sslバーチャルホストを有効化
$ sudo a2dissite default-ssl # default-sslバーチャルホストを無効化
68
© LPI-Japan / EDUCO all rights reserved.
ファイアウォールの設定
n Ubuntuではデフォルトでファイアウォールは動作 していない。
これはデフォルトで外向きに開放されているサービス が存在しないため。
SSHサーバーすら、明示的に指定しない限りインス トールされない。
n UbuntuではiptablesのフロントエンドであるUFW を使う。
Uncomplicated FireWallの略。
Ubuntu FireWallではない。
UFWの設定
n コマンド名は「ufw」。
n aptと同様、サブコマンドを組み合わせて使う。
$ sudo ufw status # UFWの状態を表示 Status: inactive
$ sudo ufw enable # UFWを有効化
Firewall is active and enabled on system startup
70
© LPI-Japan / EDUCO all rights reserved.
UFWへのルール追加
n 「ufw allow」で許可ルールを追加。
$ sudo ufw allow http # HTTP(TCP:80)を全体に対して開放 Rule added
Rule added (v6)
$ sudo ufw allow https # HTTPS(TCP:443)を全体に対して開放 Rule added
Rule added (v6)
$ sudo ufw status # UFWの状態を表示 Status: active
To Action From
-- ---
----80/tcp ALLOW Anywhere
443/tcp ALLOW Anywhere
80/tcp (v6) ALLOW Anywhere (v6) 443/tcp (v6) ALLOW Anywhere (v6)
参考資料
72
© LPI-Japan / EDUCO all rights reserved.