Cloud9 init note
Cloud9を起動したときに行うことの備忘録。
- Cloud9 init note
git
ec2-user:~/environment $ git --version
git version 2.14.5
アカウントの設定
git config --global user.name "Your Name"
git config --global user.email you@example.com
エディタの設定
永続
cd
vi .bashrc
# git config --global core.editor /usr/bin/nano
git config --global core.editor /usr/bin/vim
一時
git config --global core.editor 'vim -c "set fenc=utf-8"'
aws-cli
一応初期設定されているが、設定を変更したい場合に行う。
一時
export AWS_ACCESS_KEY_ID=****5678
export AWS_SECRET_ACCESS_KEY=****5678
永続
- Preferences(右上)をクリック。
- AWS Settings -> Credentials -> AWS managed temporary credentialsをoffにする。
aws configure
を実行。
参考
- 一時
- 永続
- Cloud9からIAM Roleの権限でAWS CLIを実行する:Developers:IO
- credentialsのチェックをoffにする。
- Cloud9からIAM Roleの権限でAWS CLIを実行する:Developers:IO
AWS SAM CLI
cd /tmp
# 下記URLでダウンロードするバージョンを確認。
# https://github.com/aws/aws-sam-cli/releases/tag/v1.81.0
wget https://github.com/aws/aws-sam-cli/releases/latest/download/aws-sam-cli-linux-x86_64.zip
# 上記のページを見て、下記の実行結果と比較する。
# sha256sum aws-sam-cli-linux-x86_64.zip
unzip aws-sam-cli-linux-x86_64.zip -d sam-installation
sudo ./sam-installation/install
sam --version
参考
Homebrew
AWS SAM CLIの前提条件。
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
~/.profile
eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
source ~/.profile
sudo apt-get install build-essential
参考
- Homebrew
- 公式
Java
Amazon Linux 2でcloud9を再作成したすると、最初から入っている。
Mavenをyumでインストールすると7がインストールされる。
ec2-user:~/environment $ java -version
openjdk version "11.0.10" 2021-01-19 LTS
OpenJDK Runtime Environment Corretto-11.0.10.9.1 (build 11.0.10+9-LTS)
OpenJDK 64-Bit Server VM Corretto-11.0.10.9.1 (build 11.0.10+9-LTS, mixed mode)
ec2-user:~/environment $ javac -version
javac 11.0.10
yumでJavaをインストール
sudo yum -y update
sudo yum -y install java-1.8.0-openjdk-devel
sudo update-alternatives --config java
sudo update-alternatives --config javac
参考
https://docs.aws.amazon.com/ja_jp/cloud9/latest/user-guide/sample-java.html
aptでJavaをインストール
sudo apt install default-jdk
$ java --version
openjdk 11.0.9.1 2020-11-04
OpenJDK Runtime Environment (build 11.0.9.1+1-Ubuntu-0ubuntu1.20.04)
OpenJDK 64-Bit Server VM (build 11.0.9.1+1-Ubuntu-0ubuntu1.20.04, mixed mode, sharing)
$ javac --version
javac 11.0.9.1
参考
Ubuntu 20.04にAptを使用してJavaをインストールする方法
Gradle
cd /tmp
# download
# 最新バージョンを確認
# https://gradle.org/releases/
Gradle_version=7.6
wget https://services.gradle.org/distributions/gradle-${Gradle_version}-bin.zip
# install
sudo mkdir /opt/gradle
sudo mv ./gradle-${Gradle_version}-bin.zip /opt/gradle
cd /opt/gradle
sudo unzip -d . gradle-7.6-bin.zip
ls gradle-${Gradle_version}
~/.bashrc に下記を追記。
# gradle
export PATH="$PATH:/opt/gradle/gradle-7.6/bin"
source ~/.bashrc
gradle -v
sudo rm /opt/gradle/gradle-${Gradle_version}-bin.zip
Maven
インストールされていない。
Maven(binary)
バージョンはダウンロードページで事前に確認する。
export MAVEN_VERSION=3.6.3
cd /usr/local/lib/
sudo wget http://ftp.meisei-u.ac.jp/mirror/apache/dist/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.tar.gz
sudo tar -xzvf apache-maven-${MAVEN_VERSION}-bin.tar.gz
sudo mv apache-maven-${MAVEN_VERSION} /opt/
cd /opt/
sudo ln -s /opt/apache-maven-${MAVEN_VERSION} apache-maven
パスの追加
sudo vi /etc/profile
# Maven
MVN_HOME=/opt/apache-maven
PATH=$PATH:$MVN_HOME/bin
source /etc/profile
mvn -version
参考
Maven(yum)
Java7がインストールされるため、非推奨。
sudo wget http://repos.fedorapeople.org/repos/dchen/apache-maven/epel-apache-maven.repo -O /etc/yum.repos.d/epel-apache-maven.repo
sudo sed -i s/\$releasever/6/g /etc/yum.repos.d/epel-apache-maven.repo
sudo yum install -y apache-maven
参考
https://docs.aws.amazon.com/ja_jp/cloud9/latest/user-guide/sample-java.html
jd-cli(jad)
逆コンパイルツール。
git, Java, Mavenインストール済みが前提。自分でビルドする。
cd tmp
git clone git@github.com:intoolswetrust/jd-cli.git
cd jd-cli
mvn package
sudo cp ./jd-cli/target/jd-cli.jar /opt
~/.bashrc
# jd-cli
alias jd-cli="java -jar /opt/jd-cli.jar"
source ~/.bashrc
jd-cli --version
rm -rf /tmp/jd-cli
ant
いらないかもしれないが入れたのでメモを残す。
antインストール
wget https://ftp.yz.yamagata-u.ac.jp/pub/network/apache//ant/binaries/apache-ant-1.10.7-bin.tar.gz
tar zxvf apache-ant-1.10.7-bin.tar.gz
sudo mkdir /usr/share/ant
sudo mv apache-ant-1.10.7 /usr/share/ant
sudo ln -s /usr/share/ant/apache-ant-1.10.7/bin/ant /usr/bin/ant
※yumのantは古いため使わない。
Spring boot cli
# バージョンは事前に確認。
export SPRING_BOOT_CLI_INSTALL_VERSION=2.6.2
cd /opt
sudo wget https://repo.spring.io/release/org/springframework/boot/spring-boot-cli/${SPRING_BOOT_CLI_INSTALL_VERSION}/spring-boot-cli-${SPRING_BOOT_CLI_INSTALL_VERSION}-bin.tar.gz
sudo tar zxvf spring-boot-cli-${SPRING_BOOT_CLI_INSTALL_VERSION}-bin.tar.gz
# パスは要確認。
# SpringBootのドキュメントにはREADMEに従えと書いてあるが・・・
sudo ln -s ${PWD}/spring-${SPRING_BOOT_CLI_INSTALL_VERSION}/bin/spring /usr/local/bin/spring
# インストールできたことを確認
spring --version
# ダウンロードしてきたファイルを削除
sudo rm spring-boot-cli-${SPRING_BOOT_CLI_INSTALL_VERSION}-bin.tar.gz
参考
Flutter
snapコマンドでインストールできるが、ここでは手動で導入する。
mkdir /tmp/flutter-install
cd /tmp/flutter-install
# ファイルパスを参考Webページから取得する。
# flutter-url=
wget ${flutter-url}
# flutter_version=
tar xf flutter_linux_${flutter_version}-stable.tar.xz
cp -r flutter $HOME/.local/flutter-${flutter_version}-stable
sudo ln -s $HOME/.local/flutter-${flutter_version}-stable /usr/local/bin/flutter
~/.bashrc
# Flutter
export FLUTTER_HOME="/usr/local/bin/flutter"
export PATH="$PATH:$FLUTTER_HOME/bin"
source ~/.bashrc
flutter doctor
# 不足しているものが出力される。開発したいものと比較して不足があればインストールする。
# flutterコマンドで使うものをまとめてインストール
sudo apt install clang curl pkg-config ninja-build cmake libgtk-3-dev libblkid-dev liblzma-dev unzip
Android command-line tool
- https://developer.android.com/studio
- Command line tools onlyのリンクをクリックする。
- 承認 -> ダウンロード
- ダウンロードしたファイルを解凍する。(cmdline-toolsフォルダ配下に解凍される。)
mkdir -p $HOME/Android/Sdk/cmdline-tools/latest
cp cmdline-tools/* $HOME/Android/Sdk/cmdline-tools/latest
- ~/.bashrc更新
# Android commandline tool export ANDROID_HOME="/home/ubuntuuser/Android/Sdk" export PATH="$PATH:$ANDROID_HOME/cmdline-tools/latest/bin"
source ~/.bashrc
sdkmanager --help
- 設定が正しいか確認する。
flutter doctor
- Flutterに取り込む。コマンドが表示されるので実行する。
参考
telnet
telnetインストール
sudo yum -y install telnet
docker
入ってたっけ…?記憶にない。
yum
sudo yum install docker
apt
rootに紐付いていないとき
sudo groupadd docker
sudo usermod -aG docker $USER
# 仮想マシンを使っているのであれば再起動
newgrp docker
docker ps
参考
docker-compose
docker-composeインストール
# バージョンは https://github.com/docker/compose/releases/ で確認。
export DOCKER_COMPOSE_VERSION=v2.3.0
sudo curl -L https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version
参考サイト
python
# インストールバージョンは事前に確認
export INSTALL_PYTHON_VERSION=3.9.9
cd /opt
sudo wget https://www.python.org/ftp/python/${INSTALL_PYTHON_VERSION}/Python-${INSTALL_PYTHON_VERSION}.tgz
sudo tar xzf Python-${INSTALL_PYTHON_VERSION}.tgz
cd Python-${INSTALL_PYTHON_VERSION}
sudo ./configure --enable-optimizations
sudo make altinstall
sudo rm -f /opt/Python-${INSTALL_PYTHON_VERSION}.tgz
# /usr/local/binにインストールされる。シンボリックリンクを貼る。
cd /usr/local/bin
# ファイル名を確認
ls python*
sudo ln -s /usr/local/bin/${lsで確認したpythonコマンドのファイル名} python3
ls pip*
sudo ln -s /usr/local/bin/${lsで確認したpipコマンドのファイル名} pip3
pyenv
sudo yum update -y
# openssl-devalをインストールすると3.10.xをインストールするときに競合が発生するという情報がある。
sudo yum install gcc zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel tk-devel libffi-devel xz-devel
git clone https://github.com/yyuu/pyenv.git ~/.pyenv
pyenv version
~/.bashrcに下記を追記
# pyenv
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PATH:$HOME/.pyenv/bin"
eval "$(pyenv init --path)"
eval "$(pyenv init -)"
3.10.x以上
OpenSSL1.1.1以上が必要。
# Amazon Linux 2の場合
sudo yum install -y openssl11 openssl11-devel
# 使っていたら削除する。
# sudo yum list openssl
# sudo yum remove -y openssl-devel
参考
- Tecadmin
- OpenSSL 1.1.1 が必須なPython 3.10.x をAmazon Linux 2 にインストールする
- Amazon Linux 2でDjango実行環境を構築する:DevelopersIO
pip3
apt
sudo apt update && sudo apt -y upgrade
sudo apt install -y python3-pip
${HOME}/.bashrc
alias pip=pip3
PHP
Laravel用のComposerをインストールするときに使う。
Laravelをローカルで管理するだけなら、Dockerとdocker-composeがあればいいが、gitのリモートリポジトリにpushする場合は、(デフォルトでは)vender配下がpushされない。
composer update
が必要だが、composerインストールでphpコマンドを使う。
AWS cloud9(Amazon Linux 2)には一応最初から入っている。
ec2-user:~/environment $ php -v
PHP 7.2.24 (cli) (built: Oct 31 2019 18:27:08) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
amazon-linux-extras
AWS cloud9用。
現在稼働中のバージョンとインストールできるバージョンの確認。
amazon-linux-extras list | less
sudo amazon-linux-extras disable lamp-mariadb10.2-php7.2
sudo amazon-linux-extras enable php8.0
sudo yum remove mariadb-*
sudo yum remove php-*
sudo yum clean metadata
sudo yum install php-cli php-pdo php-fpm php-mysqlnd
ec2-user:~/environment/Practice_Laravel/practice-laravel (main) $ php -v
PHP 8.0.2 (cli) (built: Feb 11 2021 18:25:29) ( NTS )
Copyright (c) The PHP Group
Zend Engine v4.0.2, Copyright (c) Zend Technologies
参考
apt
この方法は最新バージョンが手に入らない。(Composer用なら気にしなくてよい?)
sudo apt install -y php
php --version
ソースからコンパイル
最新を確認。
足りないものは都度インストール。
※完了できていない。
sudo su
export PHP_VERSION=8.0.3
cd /usr/local/src
wget https://www.php.net/distributions/php-${PHP_VERSION}.tar.gz
tar zxvf php-${PHP_VERSION}.tar.gz
cd php-${PHP_VERSION}
./buildconf --force
./configure --with-libdir=lib64 --with-pic --with-bz2 --with-freetype-dir --with-png-dir --with-xpm-dir --with-gettext --with-gmp --with-iconv --with-jpeg-dir --with-curl --with-webp-dir --with-png-dir --with-openssl --with-pcre-regex --with-zlib --with-layout=GNU --enable-exif --enable-ftp --enable-sockets --with-kerberos --enable-shmop --enable-calendar --with-libxml-dir --with-mhash --with-ldap --with-readline --with-snmp --with-tidy --with-xsl --with-gnu-ld --enable-mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-mysql-sock=/var/lib/mysql/mysql.sock --enable-mbstring --with-gd --with-apxs2=/usr/bin/apxs
make
make install
libxml2
cd /tmp
git clone https://gitlab.gnome.org/GNOME/libxml2.git
cd libxml2
sh ./autogen.sh
./configure --prefix=/usr
make
make install
krb5
apt install krb5-*
参考
Composer
Laravelで使う。
cd /tmp
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
cd
composer --version
よく見るエラーの対応
mbstring
sudo yum -y install php-mbstring
dom
sudo yum -y install php-xml
go
一応aptもあるが・・・
mkdir /tmp/go_install
cd /tmp/go_install
# https://go.dev/dl/
go_install_version=
# 自分の環境を確認
wget https://go.dev/dl/go${go_install_version}.linux-amd64.tar.gz
tar zxvf go${go_install_version}.linux-amd64.tar.gz
sudo cp -r go /usr/local/go_${go_install_version}
sudo ln -s /usr/local/go_${go_install_version} /usr/local/go
# go installコマンドで$GOPATH/bin配下にインストールされる。
sudo chmod go+w /usr/local/go/bin
sudo chmod go+w /usr/local/go/pkg
$HOME/.profile
# go
export GOPATH=/usr/local/go
export PATH=$PATH:$GOPATH/bin
source $HOME/.profile
go(参考)
- Qiita:Ubuntuに最新のGolangをインストールする
- 最新が欲しい時に使う。
goofys
S3バケットをEC2のストレージとしてマウントすることができる。
goofysインストール
S3バケットは作成済み、AWS CLIは設定済みの前提。
go, fuseインストール
sudo yum install golang fuse
goofysインストール
export GOPATH=$HOME/go
go get github.com/kahing/goofys
go install github.com/kahing/goofys
S3マウント
mkdir ~/mount-goofys
./go/bin/goofys kohei-goofys ~/mount-goofys
自動マウント設定
上記だけだと再起動したときにマウントが解除されてしまう。
参考サイトに手順が書いてあるが、まだ対応していない。
(どこにマウントしたらいいか、考える。)
参考
Qiita : goofysを使ってAmazon LinuxにS3をマウントする。
Node.js
mkdir tmp
cd tmp
# 最新バージョンは下記で確認。
# https://github.com/nvm-sh/nvm/releases
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.32.1/install.sh | bash
reboot
# インストール可能バージョンの確認
nvm ls-remote | less
nvm install ${インストールしたいバージョン}
sudo vi /etc/profile
# Node.js setting
source ~/.nvm/nvm.sh
nvm use v14.16.0
動作確認
node -v
npm -v
echo "console.log( 'Hello' );" > hello.js | node hello
参考
- Qiita:ChromeOSにNode.jsをnvmでインストールする
- node.js - Node.jsバージョンは、再起動時に0.6から0.6に戻ります(NVM)
- Qiita:Node.jsアプリをLinux環境で常駐化させる forever編
PHPコンテナに特定バージョンのNode.jsをインストールする
FROM node:13.14.0 as node
FROM php:7.4-fpm
COPY --from=node /usr/local/bin/node /usr/local/bin/
COPY --from=node /usr/local/lib/node_modules/ /usr/local/lib/node_modules/
RUN ln -s /usr/local/bin/node /usr/local/bin/nodejs \
&& ln -s /usr/local/lib/node_modules/npm/bin/npm-cli.js /usr/local/bin/npm \
&& ln -s /usr/local/lib/node_modules/npm/bin/npx-cli.js /usr/local/bin/npx
RUN node --version
# 13.14.0
RUN npm install npm@7.6.0 -g
RUN npm --version
# 7.6.0
参考
webpack
ビルドで使う…つもりだったが、使えていない。
npm install -g webpack
npm install -g webpack-cli
TypeScript
npm install -g typescript
forever
Nodeをサービス化する。
npm install -g forever
登録方法
forever start <JavaScriptファイル>
systemdを使って自動起動するように設定する(Ubuntu)
/etc/systemd/system/forever.service
[Unit]
Description=forever service
After=network.target
[Service]
Type=forking
Environment="NODE_ENV=production"
ExecStart=<which foreverのパス> start <登録しておきたいサービス>
ExecStop=<which foreverのパス> stop <登録しておきたいサービス>
Restart=always
RestartSec=10
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=forever-example
[Install]
WantedBy=multi-user.target
自動起動有効化
sudo systemctl start forever.service
sudo systemctl enable forever.service
ステータス確認
systemctl status forever.service
参考:systemdを使って自動起動するように設定する(Ubuntu)
Vue.js
準備
ec2-user:~/environment/Sample_Vue $ node -v
v10.19.0
ec2-user:~/environment/Sample_Vue $ npm -v
6.13.4
インストール
npmを入れた記憶がないが…まあいいか。
npm install -g @vue/cli
npm install -g @vue/cli-service-global
ec2-user:~/environment/Sample_Vue/test-vue (master) $ vue -V
@vue/cli 4.5.3
init
vue create test-vue
cd test-vue
touch vue.config.js
vue.config.jsの中身
module.exports = {
devServer: {
disableHostCheck: true
}
}
npm run serve
http://
init 別パターン
参考
Qitt:Vue.jsについての基礎(インストール)
Qiita:AWS Cloud9 で Vue.js を使う
Ruby
rbenvを使う
rbenvインストール
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
cd ~/.rbenv && src/configure && make -C src
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
# お好みで.bashrcにコメントを書く
source ~/.bashrc
# バージョン確認
rbenv --version
rbenv init
# 「~/.bash_profile」に記載しろというコメントとともにコマンドが表示される。
# 表示されたとおりのコマンドを書く。
source ~/.bash_profile
rbenvでRubyインストール
# インストール可能な安定バージョンを確認
rbenv install -l
# バージョン指定してインストール
rbenv install ${RUBY_INSTALL_VERSION}
# そこそこ時間がかかる。インストールログが/tmp配下に出力されるので眺める。
# 指定したバージョンがインストールされていることを確認
rbenv versions
# バージョン切り替え
rbenv global ${RUBY_INSTALL_VERSION}
# 切り替わったことを確認
ruby -v
psychでエラー
*** Following extensions are not compiled:
psych:
Could not be configured. It will not be installed.
Check /tmp/ruby-build.20240317155445.53115.EZ0AGq/ruby-3.3.0/ext/psych/mkmf.log for more details.
BUILD FAILED (Ubuntu 22.04 on x86_64 using ruby-build 20240221)
sudo apt-get install libyaml-dev
参考
ソースからビルドする
cd /tmp
# バージョンは公式サイトで確認
export RUBY_INSTALL_VERSION=3.1.2
wget https://cache.ruby-lang.org/pub/ruby/$(echo ${RUBY_INSTALL_VERSION} | cut -c 1-3)/ruby-${RUBY_INSTALL_VERSION}.tar.gz
# 解凍
tar zxvf ruby-${RUBY_INSTALL_VERSION}.tar.gz
# ビルド
cd ruby-${RUBY_INSTALL_VERSION}
./configure
make
sudo make install
# バージョン確認
/usr/local/bin/ruby --version
# ファイル削除
rm /tmp/ruby-${RUBY_INSTALL_VERSION}.tar.gz
rm -r /tmp/ruby-${RUBY_INSTALL_VERSION}
nano ~/.bashrc
# Ruby
alias ruby=/usr/local/bin/ruby
source ~/.bashrc
参考
sqlite
最新ではない点に注意。
sudo apt update && sudo apt upgrade
sudo apt install -y sqlite3
最新をインストールする
cd /tmp
# バージョンは下記で確認する。
# https://www.sqlite.org/download.html
# 下記のURLは確認した時点での最新
export SQLITE_YEAR=2022
export SQLITE_VERSION=3390000
wget https://www.sqlite.org/${SQLITE_YEAR}/sqlite-autoconf-${SQLITE_VERSION}.tar.gz
tar xvfz sqlite-autoconf-${SQLITE_VERSION}.tar.gz
# ビルド
cd sqlite-autoconf-${SQLITE_VERSION}
./configure --prefix=/usr/local
make
# インストール
sudo make install
# インストール結果確認
sudo find /usr/ -name sqlite3
# 不要ファイル/ディレクトリ削除
cd ..
rm sqlite-autoconf-${SQLITE_VERSION}.tar.gz
rm -r sqlite-autoconf-${SQLITE_VERSION}
# バージョン確認
# 新しいはず
/usr/local/bin/sqlite3 --version
# 古いはず
/usr/bin/sqlite3 --version
# 新しいはず
sqlite3 --version
sudo mv /usr/bin/sqlite3 /usr/bin/sqlite3_old
sudo ln -s /usr/local/bin/sqlite3 /usr/bin/sqlite3
ls -all /usr/bin/sqlite3
/usr/bin/sqlite3 --version
# Pythonで使う場合は下記も実行する。
echo "export LD_LIBRARY_PATH=\"/usr/local/lib\"" >> ~/.bashrc
source ~/.bashrc
python
import sqlite3
sqlite3.sqlite_version
exit()
外部キー制約を常にONにする
touch ~/.sqliterc
echo "PRAGMA foreign_keys = ON;" >> ~/.sqliterc
参考
Terraform
# latest version
# https://www.terraform.io/downloads
export TERRAFORM_INSTALL_VERSION=1.1.3
# download last version
# OSは確認すること。
wget https://releases.hashicorp.com/terraform/${TERRAFORM_INSTALL_VERSION}/terraform_${TERRAFORM_INSTALL_VERSION}_linux_amd64.zip
# unzip in bin folder
sudo unzip ./terraform_${TERRAFORM_INSTALL_VERSION}_linux_amd64.zip -d /usr/local/bin/
# check its working
terraform -v
参考
gcloud
# ${home}がおすすめだが・・・
cd ~
# コマンドは参考から取得
curl -O https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-cli-477.0.0-linux-x86_64.tar.gz
tar -xf google-cloud-cli-477.0.0-linux-x86_64.tar.gz
./google-cloud-sdk/install.sh
source ~/.bashrc
gcloud init
参考
OWASP ZAP
- 事前にJREがインストールされていること。
- root権限が必要。
- 基本的にはウィンドウで動かすもの
mkdir Download
cd Download
# URL,ファイル名は都度確認。
wget https://github.com/zaproxy/zaproxy/releases/download/v2.10.0/ZAP_2.10.0_Linux.tar.gz
tar xvfz ZAP_2.10.0_Linux.tar.gz
sudo mv ZAP_2.10.0/ /opt/
sudo ln -s /opt/ZAP_2.10.0/ /opt/owaspzap
sudo ln -s /opt/ZAP_2.10.0/zap-2.10.0.jar /opt/owaspzap/zap.jar
エイリアスの設定
${HOME}/.bashrc
# OWASP ZAP
alias owaspzap='java -jar /opt/owaspzap/zap.jar'
起動確認。
owaspzap -version
Defaulting ZAP install dir to /opt/ZAP_2.10.0
2.10.0
メニュー日本語化
- 起動
- Tool→Options…
- Language → 日本語 → OK
- 再起動
備考
- Xubuntuでインストーラを実行したら、画面が起動した。(コンソールを叩いてインストールしたい。)
参考
shunit2
# ファイルパスは下記を確認。
# https://github.com/kward/shunit2/releases/
# shunit_version=2.1.8
cd /tmp
wget https://github.com/kward/shunit2/archive/refs/tags/v${shunit_version}.tar.gz
tar -xvf v${shunit_version}.tar.gz
sudo mv shunit2-${shunit_version} /opt
rm v${shunit_version}.tar.gz
sudo ln -s /opt/shunit2-${shunit_version} /opt/shunit2
echo '# shunit2 Home' >> ~/.bashrc
echo 'export SHUNIT2_HOME=/opt/shunit2' >> ~/.bashrc
source ~/.bashrc
ls $SHUNIT2_HOME
utPL/SQL, utPL/SQL-cli
前提
OracleのDockerコンテナで動かす。
JDK
OpenJDKを使用する。
# URLはhttps://jdk.java.net/で確認。
wget https://download.java.net/java/GA/jdk23.0.1/c28985cbf10d4e648e4004050f8781aa/11/GPL/openjdk-23.0.1_linux-x64_bin.tar.gz
ls openjdk* | xargs tar zxvf
# コンテナ内から書き込みを行うときに必要になる。
find jdk* -type d | xargs chmod 777
utPL/SQL-cli
# バージョンは確認。
wget https://github.com/utPLSQL/utPLSQL-cli/releases/download/3.1.9/utPLSQL-cli.zip
unzip utPLSQL-cli.zip
find utPLSQL-cli -type d | xargs chmod 777
utPL/SQL
wget https://github.com/utPLSQL/utPLSQL/releases/download/v3.1.14/utPLSQL.tar.gz
tar zxvf utPLSQL.tar.gz
find utPLSQL -type d | xargs chmod 777
.env
export PATH=/home/oracle/jdk-23.0.1/bin:/home/oracle/utPLSQL-cli/bin:$PATH
docker-compose.yml
必要なのは下記。
PATH
にjava
とutplsq
を追加したいが、environment
に書くと、なぜかsqlplus
コマンドが使えなくなり、コンテナ起動に失敗する。
.env
を持ち込んで、コンテナログイン後に実行する。
environment:
- ORACLE_PWD=password
- JAVA_HOME=/home/oracle/jdk-23.0.1
volumes:
- ./jdk-23.0.1:/home/oracle/jdk-23.0.1
- ./utPLSQL:/home/oracle/utPLSQL:rw
- ./utPLSQL-cli:/home/oracle/utPLSQL-cli
- .env:/home/oracle/.env
全部版。
services:
oracle-db:
image: oracle/database:23.5.0-free
container_name: oracle-db
environment:
- ORACLE_PWD=password
- JAVA_HOME=/home/oracle/jdk-23.0.1
ports:
- "1521:1521"
volumes:
- ./plsql:/home/oracle/plsql
- ./shell:/home/oracle/shell
- ./datas:/home/oracle/datas:rw
- ./csv_import:/home/oracle/csv_import:rw
- ./samples:/home/oracle/samples
- ./test:/home/oracle/test
- ./jdk-23.0.1:/home/oracle/jdk-23.0.1
- ./utPLSQL:/home/oracle/utPLSQL:rw
- ./utPLSQL-cli:/home/oracle/utPLSQL-cli
- .env:/home/oracle/.env
- ./entrypoint.sh:/home/oracle/entrypoint.sh
起動
docker compose up -d
docker compose logs -f
コンテナログイン
docker exec -it oracle-db bash
# javaとutplsqlへのパスを通す。
source .env
utPL/SQLインストール
cd utPLSQL/source
# systemユーザからだとインストールできなかった。(as sysdbaを指定していなかったからかもしれないが・・・)
sqlplus sys/password@//localhost:1521/FREEPDB1 as sysdba @install_headless.sql
-- UTPLSQLを実行するユーザー(例: SYSTEM)に権限を付与
GRANT INHERIT PRIVILEGES ON USER UT3 TO SYSTEM;
-- UTPLSQLがアクセスする必要のあるユーザー(UT3)に権限を付与
GRANT INHERIT PRIVILEGES ON USER SYSTEM TO UT3;
インストールに失敗した場合
一度全消しする。
デフォルトでは最初にUT3
ユーザが作成される。
DROP USER UT3 CASCADE;
sqlplus sys/password@//localhost:1521/FREEPDB1 as sysdba @uninstall_all.sql
インストール結果確認
-- たくさん出てくるはず。
SELECT object_name, object_type
FROM all_objects
WHERE owner = 'UT3';
utplsql info system/password@//localhost:1521/FREEPDB1