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引いたらインスタンス破棄して再作成
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
●ホスト名変更
>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
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"
●外部接続用の公開鍵コピー
●htpasswdインスト
●WEBサービスセットアップ
>sudo systemctl status nginx
(php使うので)
>sudo apt install php7.4-fpm
>sudo tail -f /var/log/nginx/error.log