Ubuntu 20.04のセットアップメモ

環境

環境Version
Ubuntu20.04.1 LTS Desktop
sshdOpenSSH_8.2p1 Ubuntu-4ubuntu0.1
ufw0.36
mariadbVer 15.1 Distrib 10.3.22-MariaDB
zsh5.8-3ubuntu1 amd64
docker20.10.16
docker-ce5:20.10.16~3-0~ubuntu-focal
docker-ce-cli5:20.10.5~3-0~ubuntu-focal
docker-composev2.5.0

Ubuntu のインストール

  1. jp.ubuntu.com から Desktop 用の ISO 落としてきて適当にインストール

設定

  1. sudo apt update
  2. sudo apt upgrade

各種インストール

zsh のインストール

  1. sudo apt install zsh
  2. chsh -s $(which zsh)
  3. ターミナルを再起動
  4. zsh のセットアップウィザードが起動するので適当に飛ばす(設定上書きするので
  5. .zshrc を設定
  6. .zshenv を設定
# enable color for shell script
autoload -Uz colors
colors

sshd のインストール

待受ポートの変更と外部接続

  1. sudo apt install -y ssh net-tools
  2. sudo nano /etc/ssh/sshd_config
    1. Port 22 を適当なポートに変更
    2. sudo ufw allow [ポート番号] で穴をあける

認証方式の変更

  1. RLogin の機能で認証キーを生成
  2. 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
  1. .ssh/authorized_keys に公開鍵を書く
  2. sudo ssh-keygen -A
  3. sudo /etc/init.d/ssh restart

samba のインストール

  1. sudo apt install samba
  2. sudo pdbedit -a [username] でユーザーを追加
  3. 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
  1. sudo ufw allow samba で穴をあける
  2. sudo systemctl enable smbd
  3. sudo systemctl restart smbd

JDK のインストール

  1. apt search ^openjdk-.+?-jre$
  2. 適当な 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
外部接続許可
  1. sudo nano /etc/mysql/my.cnfで最終行に以下を追加
[mysqld]
skip-networking=0
  1. sudo nano /etc/mysql/mariadb.conf.d/50-server.cnfで以下の様に修正
port = 3306
#bind-address = 127.0.0.1
  1. sudo service mysql restartで再起動する
  2. sudo ufw allow 3306

PHP 周りの設定

  1. 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 usermod -aG docker $USER
# 再起動して反映させる
sudo reboot

WSL2 向けの Tips

以下のバッチをスタートアップに仕込んでおくと Docker のデーモンが勝手に起動してくれる

wsl -d <DistributionName> -u root -- service docker start