2021年12月14日火曜日

WebARENA Indigo™ 環境構築メモ 2021.12.14

NTTのWebARENA Indigo™をミニマム構成で構築した際のメモ。

 

●コンパネで公開鍵作成


●コンパネでインスタンス作成

Ubuntu 20.04
KVM Instance 1CPU/1GB RAM/20GB SSD/100Mbps


●インスタンス起動


●TeraTermのログイン設定

 事前作成の公開鍵を使用


●TeraTermでログイン(ubuntu)


●パッケージ一覧更新

>sudo apt update


●ベンチマーク導入

>sudo apt install sysbench


●ベンチマークチェック

>sysbench cpu --num-threads=1 --cpu-max-prime=9999 run
→ハズレCPU引いたらインスタンス破棄して再作成

-----------------------------------
CPU speed:
    events per second:   808.82
-----------------------------------
あんま代わり映えしないのでこれで。


●タイムゾーン設定

(localをJSTに)
>timedatectl status
>sudo timedatectl set-timezone Asia/Tokyo
>timedatectl status


●ssh設定変更

>sudo vi /etc/ssh/sshd_config
Port 11122                                ※22→11122
PermitRootLogin no                        ※prohibit-password→no


●ssh設定変更反映

>sudo /etc/init.d/ssh restart


●TeraTermでポート変更(22→11122)して再ログイン(ubuntu)

(以前の窓はログイン確認後クローズ)


●パッケージアップグレード

>sudo apt list --upgradable
>sudo apt upgrade
>sudo apt list --upgradable


●ホスト名変更

>hostname
>sudo hostnamectl set-hostname (ホスト名)
>hostname


●日本語ロケールインスト

>localectl list-locales
>sudo apt install -y language-pack-ja
>localectl list-locales


●デフォルトロケール変更

>localectl status
>sudo localectl set-locale LANG=ja_JP.UTF-8
>localectl status


●logwatchインストール

(Postfixは後で設定するのでNoConfiguration)
>sudo apt install logwatch
(キャッシュディレクトリ作成)
>sudo mkdir /var/cache/logwatch
>sudo logwatch --output stdout

(設定編集)
>sudo cp /usr/share/logwatch/default.conf/logwatch.conf /etc/logwatch/conf/logwatch.conf
>sudo vi /etc/logwatch/conf/logwatch.conf
MailToをgmailのアドレスに変更


●postfixの設定

>sudo cp /usr/share/postfix/main.cf.dist /etc/postfix/main.cf
>sudo vi /etc/postfix/main.cf

myhostname= (妥当なドメイン)      ※存在しないドメインだと弾かれる送信先もあるので注意
sendmail_path = /usr/sbin/sendmail
newaliases_path = /usr/bin/newaliases
mailq_path = /usr/bin/mailq
setgid_group = postdrop
html_directory = no
manpage_directory = /usr/share/man
sample_directory = /etc/postfix

readme_directory = /usr/share/doc/postfix


●postfix起動

>sudo systemctl status postfix
>sudo systemctl start postfix
>sudo systemctl status postfix


●メール送信テスト

>sudo logwatch --output mail


●gmail側のフィルタ設定

フィルタで当該アドレスを「迷惑メールにしない」に設定


●メール送信テスト

>sudo logwatch --output mail


●定番インスト

(procmailはlockfile内包、設定はなしで続行)
>sudo apt install curl                 \
                   gcc                  \
                   git                  \
                   make                 \
                   pkg-config           \
                   procmail             \
                   mailutils            \
                   zlib1g               \
                   zlib1g-dev           \
                   libssl-dev           \
                   libcurl4-openssl-dev


●PHPのバージョン調査

(Ver.7系期待・・・入ってない)
>php -v


●PHP関連インスト

(入ってないので入れる)
>sudo apt search php
(バージョンは↑で調査した値を参考に選択)
>sudo apt install php7.4-cli      \
                   php7.4-common   \
                   php7.4-sqlite3  \
                   php7.4-mbstring \
                   php7.4-mysql    \
                   php7.4-curl     \
                   php-pear

●PHP向けGDモジュールインスト

>sudo apt install php-gd
>sudo cp -rp ./JpGraph/fonts/*.ttf /usr/share/fonts/truetype


●pythonのバージョン調査

(Ver.3系期待・・・入ってたのでそのまま)
>python3 -V


●pip3インスト

>which pip3
>sudo apt install python3-pip


●ufw設定

>sudo ufw status verbose
>sudo ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y

>sudo ufw status verbose
>sudo vi /etc/default/ufw
IPV6=no        ※yes→no

>sudo ufw default deny
>sudo ufw allow from 0.0.0.0/0 to any port 80
>sudo ufw allow from 0.0.0.0/0 to any port 443
>sudo ufw allow from XXX.XXX.XXX.XXX/XX to any port 11122

>sudo ufw reload
>sudo ufw status verbose
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip

To                         Action      From
--                         ------      ----
80                         ALLOW IN    Anywhere
443                        ALLOW IN    Anywhere
11122                      ALLOW IN    XXX.XXX.XXX.XXX/XX


●TeraTermで接続確認(ubuntu)



●ファイアウォール設定と適用

(Indigoのコンパネ→ネットワーク管理→ファイアーウォール)
HTTP TCP 80 0.0.0.0/0
HTTPS TCP 443 0.0.0.0/0
Custom TCP 11122 (XXX.XXX.XXX.XXX/XX) ※IP直指定か適当な範囲


●TeraTermで接続確認(ubuntu)



●ここらで再起動

>sudo reboot


●TeraTermで接続(ubuntu)



●作業ユーザ(vps)作成

>sudo adduser vps
(パスワードのみ入力/フルネームやら電話番号はスキップ)
>sudo gpasswd -a vps sudo
>sudo visudo
vps     ALL=NOPASSWD: ALL        ※rootの下に追加


●SSH鍵をコピー

>sudo su - ubuntu
>cd ~/
>sudo cp -r .ssh/ /home/vps/
>sudo chown -R vps:vps /home/vps/.ssh/


●TeraTermで新ユーザの接続確認(vps)



●初期ユーザ削除

>sudo userdel -r ubuntu


●プロンプト変更

>vi ~/.bashrc
PS1='${debian_chroot:+($debian_chroot)}\$ '


●パス編集

>vi ~/.profile
(末尾に追加)
PATH=".:$PATH"


●TeraTermで再接続(vps)&環境確認

>env


●pythonモジュールインスト

>pip3 install numpy
>pip3 install beautifulsoup4
>pip3 install pandas
>pip3 install xlrd
>pip3 install opencv-python
>pip3 install opencv-contrib-python
>pip3 install matplotlib
>pip3 install natsort
>pip3 install scikit-learn


●ディレクトリ作成

>mkdir ~/app ~/backup ~/lib ~/tmp ~/www
>ls -la


●FileZillaで新環境への接続設定作成&接続



●環境移行セット展開

(cd ; tar cvfz vps.YYYYMMDD.app.tar.gz ./app) ※移行元にて
(cd ; tar cvfz vps.YYYYMMDD.lib.tar.gz ./lib) ※移行元にて
>cd
>tar xvfz vps.YYYYMMDD.app.tar.gz
>tar xvfz vps.YYYYMMDD.lib.tar.gz


●環境設定ファイル編集

(適宜編集)
>cat ~/app/setenv.sh
>vi ~/app/setenv.sh


●バックアップコマンド編集&動作確認

>vi /home/vps/app/backup.sh
>/home/vps/app/backup.sh
>ls -la ~/backup


●cron編集

(backup他必要なものを記述)
>crontab -e


●sarインスト

>sudo apt install sysstat
>sudo vi /etc/default/sysstat
ENABLED="true"

 

●外部接続用の公開鍵コピー

>ssh-keygen -t rsa  ※質問は全てENTER
~/.ssh/id_rsa.pubの内容を接続先鯖の~/.ssh/authorized_keysに追記。
(なければ作成)


●htpasswdインスト

(ベーシック認証使いたいので)
>sudo apt install apache2-utils
>sudo htpasswd -c /etc/nginx/.htpasswd (ユーザ名)
New password: (パスワード)

 

●WEBサービスセットアップ

>sudo apt install nginx
>sudo systemctl status nginx
(php使うので)
>sudo apt install php7.4-fpm
 
>sudo vi /etc/nginx/sites-available/(ホスト名)
※もろもろ設定
>sudo ln -s /etc/nginx/sites-available/(ホスト名) /etc/nginx/sites-enabled/
>sudo nginx -t
>sudo systemctl reload nginx
 
(接続確認)
http://IPアドレス 

(ログ確認)
>sudo tail -f /var/log/nginx/access.log
>sudo tail -f /var/log/nginx/error.log
 

0 件のコメント:

コメントを投稿