目次
環境
環境 | Version |
---|---|
Ubuntu | 20.04.1 LTS Desktop |
sshd | OpenSSH_8.2p1 Ubuntu-4ubuntu0.1 |
ufw | 0.36 |
mariadb | Ver 15.1 Distrib 10.3.22-MariaDB |
zsh | 5.8-3ubuntu1 amd64 |
docker | 20.10.16 |
docker-ce | 5:20.10.16~3-0~ubuntu-focal |
docker-ce-cli | 5:20.10.5~3-0~ubuntu-focal |
docker-compose | v2.5.0 |
Ubuntu のインストール
- jp.ubuntu.com から Desktop 用の ISO 落としてきて適当にインストール
設定
sudo apt update
sudo apt upgrade
各種インストール
zsh のインストール
sudo apt install zsh
chsh -s $(which zsh)
- ターミナルを再起動
- zsh のセットアップウィザードが起動するので適当に飛ばす(設定上書きするので
.zshrc
を設定.zshenv
を設定
# enable color for shell script
autoload -Uz colors
colors
sshd のインストール
待受ポートの変更と外部接続
sudo apt install -y ssh net-tools
sudo nano /etc/ssh/sshd_config
- Port 22 を適当なポートに変更
sudo ufw allow [ポート番号]
で穴をあける
認証方式の変更
- RLogin の機能で認証キーを生成
sudo nano /etc/ssh/sshd_config
以下の設定に変更
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
HostKey /etc/ssh/ssh_host_ed25519_key
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
PasswordAuthentication no
PermitEmptyPasswords no
.ssh/authorized_keys
に公開鍵を書くsudo ssh-keygen -A
sudo /etc/init.d/ssh restart
samba のインストール
sudo apt install samba
sudo pdbedit -a [username]
でユーザーを追加sudo nano /etc/samba/smb.conf
で[homes]
セクションを以下のように編集
[homes] comment = Home Directories browseable = no
# By default, the home directories are exported read-only. Change the
# next parameter to 'no' if you want to be able to write to them. read only = no
# File creation mask is set to 0700 for security reasons. If you want to
# create files with group=rw permissions, set next parameter to 0775. create mask = 0644
# Directory creation mask is set to 0700 for security reasons. If you want to
# create dirs. with group=rw permissions, set next parameter to 0775. directory mask = 0775
sudo ufw allow samba
で穴をあけるsudo systemctl enable smbd
sudo systemctl restart smbd
JDK のインストール
apt search ^openjdk-.+?-jre$
- 適当な JDK を入れる
開発環境のインストール
# Node.js(Volta) + MariaDB + LaravelSet + Xdebug
sudo apt install -y \ unzip \ mariadb-server \ php7.4 \ php7.4-mbstring \ php7.4-dom \ php7.4-pdo \ php7.4-xml \ php7.4-common \ php7.4-bcmath \ php7.4-json \ php7.4-cli \ php7.4-fpm \ php7.4-mysql \ php7.4-intl \ php7.4-curl \ php7.4-gd \ php7.4-zip \ php-pear \ php7.4-dev
# Install Composer
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === 'c31c1e292ad7be5f49291169c0ac8f683499edddcfd4e42232982d0fd193004208a58ff6f353fde0012d35fdd72bc394') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
sudo mv composer.phar /usr/local/bin/composer
# Install Xdebug
mkdir -p /tmp/pear/cache
sudo pecl install xdebug
sudo cat << 'EOF' | sudo tee -a /etc/php/7.4/cli/php.ini > /dev/null
zend_extension=/usr/lib/php/20190902/xdebug.so
EOF
# バージョン確認
node -v
composer -V
# XdebugのクレジットがあればOK
php -v
# Install Node.js(Volta)
curl https://get.volta.sh | bash
volta install node@lts
node -v
MySQL 周りの設定
ユーザー作成
sudo service mysql start
sudo mysql
CREATE USER 'id'@'%' IDENTIFIED BY 'pw';
GRANT ALL PRIVILEGES ON *.* TO 'id'@'%' WITH GRANT OPTION;
quit
外部接続許可
sudo nano /etc/mysql/my.cnf
で最終行に以下を追加
[mysqld]
skip-networking=0
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
で以下の様に修正
port = 3306
#bind-address = 127.0.0.1
sudo service mysql restart
で再起動するsudo ufw allow 3306
PHP 周りの設定
php.ini
の場所の調べ方php -r "echo phpinfo();" | grep "php.ini"
Docker のインストール
# 既にあるのを一旦削除
sudo apt remove docker docker-engine docker.io containerd runc
sudo apt update
# 依存関係のインストール
sudo apt install \ apt-transport-https \ ca-certificates \ curl \ gnupg \ lsb-release
# Docker公式のGPG鍵を追加
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
# リポジトリをパッケージマネージャーに登録
echo \ "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
# docker本体のインストール
sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin
一般ユーザーで docker
を利用可能にする
- このままだと一々
sudo
しないと使えない - やり方は
docker
グループに自分を追加するだけ - 脆弱性があるので注意が必要
sudo usermod -aG docker $USER
# 再起動して反映させる
sudo reboot
WSL2 向けの Tips
以下のバッチをスタートアップに仕込んでおくと Docker のデーモンが勝手に起動してくれる
wsl -d <DistributionName> -u root -- service docker start