WebArena VPSに設定する項目のQuick説明版です。
1. Apacheをインストールする。
1) httpdのインストール
# yum -y install httpd httpd-tools httpd-devel httpd-manual
Complete!
2)確認
[root@ /]# yum list installed | grep httpd
httpd.x86_64 2.4.6-88.el7.centos @base
httpd-devel.x86_64 2.4.6-88.el7.centos @base
httpd-manual.noarch 2.4.6-88.el7.centos @base
httpd-tools.x86_64 2.4.6-88.el7.centos @base
3) 起動する。
# systemctl start httpd
4) 起動の状態を確認する。
$ systemctl status httpd
● httpd.service - The Apache HTTP Server
5) httpd自動起動の設定
$ systemctl enable httpd
(確認)
systemctl list-unit-files | grep httpd
httpd.service enabled
2. SELinuxの無効化
1) 現状の確認
[root@ /]# sestatus
SELinux status: enabled
2)Configファイルのコピーを保存。
[root@ /]# cp -piv /etc/selinux/config /etc/selinux/config.`date "+%Y%m%d"`
‘/etc/selinux/config’ -> ‘/etc/selinux/config.20181223’
3) Configファイルの修正
[root@ /]# cd /etc/selinux/
[root@ selinux]# vi config
#SELINUX=enforcing
SELINUX=disabled
4) OSの再起動
shutdown -r now
5)再確認
[root@ /]# sestatus
SELinux status: disabled
6)httpd自動起動の設定
[root@ /]# systemctl enable httpd
[root@ /]# systemctl list-unit-files | grep httpdhttpd.service enabled
3. Firewallを設定する。
1) ファイアウォールが起動中かどうかを確認
# firewall-cmd --state
running
2) ファイアウォール設定を確認
# firewall-cmd --list-allpublic (active)
target: default
icmp-block-inversion: no
interfaces: eth0
sources:
services: ssh dhcpv6-client
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
3) http/httpsのサービス追加
[root@ ~]# firewall-cmd --zone=public --add-service=http --permanent
success
[root@ ~]# firewall-cmd --zone=public --add-service=https --permanent
success
[root@ ~]# firewall-cmd --list-all
[root@ /]# firewall-cmd --reload
# firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: eth0
sources:
services: ssh dhcpv6-client http https
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
4. https通信に関する設定する。
1) mod_sslがインストールされているかの確認。
(Loaded Modulesの確認): # httpd -M
又は
(Installed Packagesの確認): #yum list installed
2) mod_sslのインストール
[root@ /]# yum install mod_ssl
Complete!
3)再起動で変更を反映します。
# systemctl restart httpd
4) (Loaded Modulesの確認): # httpd -M
ssl_module (shared)
ブラウザで表示できることの確認、
OK
5. Python 3 をインストールする。
Let's Encriptで、SSLの証明書を取得するが、その時に、Pythonのバージョン指定をするので、
予め、Python3をインストールする。
(Python3のインストール方法の比較は、
【 CentOS 7 にPython 3系をインストールする4つの方法 】)
今回は、SCL(Software Collection)を利用する。
1)現状の確認
[root@ /]# which python
/usr/bin/python
[root@ /]# python -V
Python 2.7.5
2)SCLを利用してPython3.6のインストール
・On CentOS, install package centos-release-scl available in CentOS repository
$ sudo yum install centos-release-scl
Installed:
centos-release-scl.noarch 0:2-2.el7.centos
$ sudo yum-config-manager (<- 入らない)
・Install the main SCL package (its name is identical to the name of the Software Collection):
$ yum install rh-python36
Installing:
rh-python36 x86_64 2.0-1.el7 centos-sclo-rh 2.7 k
Installing for dependencies:
dwz x86_64 0.11-3.el7 base 99 k
iso-codes noarch 3.46-2.el7 base 2.7 M
perl-srpm-macros noarch 1-8.el7 base 4.6 k
redhat-rpm-config noarch 9.1.0-87.el7.centos base 81 k
rh-python36-python x86_64 3.6.3-3.el7 centos-sclo-rh 55 k
rh-python36-python-devel x86_64 3.6.3-3.el7 centos-sclo-rh 840 k
rh-python36-python-libs x86_64 3.6.3-3.el7 centos-sclo-rh 7.5 M
rh-python36-python-pip noarch 9.0.1-2.el7 centos-sclo-rh 1.7 M
rh-python36-python-setuptools noarch 36.5.0-1.el7 centos-sclo-rh 566 k
rh-python36-python-virtualenv noarch 15.1.0-2.el7 centos-sclo-rh 1.8 M
rh-python36-runtime x86_64 2.0-1.el7 centos-sclo-rh 1.1 M
scl-utils x86_64 20130529-19.el7 base 24 k
scl-utils-build x86_64 20130529-19.el7 base 18 k
xml-common noarch 0.6.3-39.el7 base 26 k
zip x86_64 3.0-11.el7 base 260 k
Complete!
・Start using the Software Collection you just installed:
[root@ip2h3wsy /]# scl enable rh-python36 bash
[root@ip2h3wsy /]# which python
/opt/rh/rh-python36/root/usr/bin/python
[root@ip2h3wsy /]# python -V
Python 3.6.3
(再ログイン後のPythonの再確認)
[root@ip2h3wsy /]# python -V
Python 2.7.5
[root@ip2h3wsy /]# which python
/usr/bin/python
・Permanent 設定
[root@ip2h3wsy /]# cd opt/rh
[root@ip2h3wsy rh]# ls -a
. .. rh-python36 (←rh-python36 の格納Directoryの確認)
[root@ /]# cd /etc/profile.d/
[root@ profile.d]# ls -a
. 256term.csh colorgrep.csh colorls.csh lang.csh less.csh which2.csh
.. 256term.sh colorgrep.sh colorls.sh lang.sh less.sh which2.sh
[root@ profile.d]# touch enablepython36.sh
[root@ profile.d]# vi enablepython36.sh
以下の3行を記述。
#!/bin/bash
source /opt/rh/rh-python36/enable
export X_SCLS="`scl enable rh-python36 'echo $X_SCLS'`"
*上記をコピペすると" "が " と表記されてしまうので注意。
(再度ログイン)
[root@ ~]# which python
/opt/rh/rh-python36/root/usr/bin/python
[root@ ~]# python -V
Python 3.6.3
6. Let'sEncriptに関する設定する。
1) epel リポジトリの追加
[root@ /]# yum install epel-release
Installed:
epel-release.noarch 0:7-11
Complete!
2)epel レポジトリ・オフ
# vi /etc/yum.repos.d/epel.repo
[epel]
enabled=1
↓変更
enabled=0
3)httpdにVirtual Hostの記述
① /etc/httpd/conf/httpd.conf の編修(Virtual Hostを使用することの宣言)と、
② <VirtualHost>を記述する為、etc/httpd/conf.d/ ディレクトリに virtual.conf を作成します。
① httpd.conf の編集
'Listen 80'の下に以下の記述を追加。
NameVirtualHost *:80
② virtual.conf ファイルを作成し、以下の内容記述。
< VirtualHost *:80>
ServerAdmin root@mossymob.tk
DocumentRoot /var/www/html
ServerName mossymob.tk
ServerAlias www.mossymob.tk
< /VirtualHost>
4) システムのリロード
# systemctl reload httpd
5)Certbotのインストール
詳細:【WebArena VPSで初心者がWord Pressを立ち上げる (4) 】参照
①EPEL を使ってcertbotをインストール
yum install --enablerepo=epel, certbot python2-certbot-apache
②certbotのapacheへの自動適用
certbot --apache
[root@ip2h3wsy /]# certbot --apache
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator apache, Installer apache
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): kappamobestjp@gmail.com
Starting new HTTPS connection (1): acme-v02.api.letsencrypt.org
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: N
Which names would you like to activate HTTPS for?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: mossymob.tk
2: www.mossymob.tk
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate numbers separated by commas and/or spaces, or leave input
blank to select all options shown (Enter 'c' to cancel): 1, 2
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for mossymob.tk
http-01 challenge for www.mossymob.tk
Waiting for verification...
Cleaning up challenges
Resetting dropped connection: acme-v02.api.letsencrypt.org
Created an SSL vhost at /etc/httpd/conf.d/virtual-le-ssl.conf
Deploying Certificate to VirtualHost /etc/httpd/conf.d/virtual-le-ssl.conf
Deploying Certificate to VirtualHost /etc/httpd/conf.d/virtual-le-ssl.conf
Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 1
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://mossymob.tk and
https://www.mossymob.tk
You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=mossymob.tk
https://www.ssllabs.com/ssltest/analyze.html?d=www.mossymob.tk
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
③システムの自動更新・タイマーの設定
[root@ /]# systemctl enable --now certbot-renew.timer
Created symlink from /etc/systemd/system/timers.target.wants/certbot-renew.timer to /usr/lib/systemd/system/certbot-renew.timer.④タイマーの確認
systemctl list-timersNEXT LEFT LAST PASSED UNIT
Mon 2018-12-24 18:07:53 JST 4h 0min left Sun 2018-12-23 18:07:53 JST 19h ago systemd-tmpfiles-clean.tim
Tue 2018-12-25 02:49:28 JST 12h left n/a n/a certbot-renew.timer
2 timers listed.
以上で、Apacheのインストールから、SSLの証明書取得までの終了です。
(参考)
**この段階で、httpサーバのMPMの確認。
(この確認は、Flask/DjangoなどのPythonのフレームワークを動かすときに使用する
wsgiのインストールに必要なパッケージを特定するのに影響します。)
[root@ /]# httpd -v
Server version: Apache/2.4.6 (CentOS)
Server built: Nov 5 2018 01:47:09
[root@ /]# apachectl -V
AH00557: httpd: apr_sockaddr_info_get() failed for ip2h3wsy
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1. Set the 'ServerName' directive globally to suppress this message
Server version: Apache/2.4.6 (CentOS)
Server built: Nov 5 2018 01:47:09
Server's Module Magic Number: 20120211:24
Server loaded: APR 1.4.8, APR-UTIL 1.5.2
Compiled using: APR 1.4.8, APR-UTIL 1.5.2
Architecture: 64-bit
Server MPM: prefork
threaded: no
forked: yes (variable process count)
0 件のコメント:
コメントを投稿