コンテンツにスキップ

Ubuntu20.04のセットアップ

最終更新日: 2021-04-01

環境

環境 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 1.5-2
docker-ce 5:20.10.5~3-0~ubuntu-focal
docker-ce-cli 5:20.10.5~3-0~ubuntu-focal
docker-compose 1.25.0-1

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. curl -L git.io/antigen > antigen.zsh
  6. .zshrc を設定
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
# 以下の設定を加える
# - zsh_historyの文字化け抑制設定(print_eight_bit)
# - antigen
cat <<'EOF' | ~/.zshrc
# Set up the prompt

autoload -Uz promptinit
promptinit
#prompt adam1

setopt histignorealldups sharehistory

# print 8bit character
setopt print_eight_bit

# Keep 1000 lines of history within the shell and save it to ~/.zsh_history:
HISTSIZE=1000
SAVEHIST=1000
HIST_STAMPS="yyyy-mm-dd"
HISTFILE=~/.zsh_history

# Use modern completion system
autoload -Uz compinit
compinit

zstyle ':completion:*' auto-description 'specify: %d'
zstyle ':completion:*' completer _expand _complete _correct _approximate
zstyle ':completion:*' format 'Completing %d'
zstyle ':completion:*' group-name ''
zstyle ':completion:*' menu select=2
eval "$(dircolors -b)"
zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS}
zstyle ':completion:*' list-colors ''
zstyle ':completion:*' list-prompt %SAt %p: Hit TAB for more, or the character to insert%s
zstyle ':completion:*' matcher-list '' 'm:{a-z}={A-Z}' 'm:{a-zA-Z}={A-Za-z}' 'r:|[._-]=* r:|=* l:|=*'
zstyle ':completion:*' menu select=long
zstyle ':completion:*' select-prompt %SScrolling active: current selection at %p%s
zstyle ':completion:*' use-compctl false
zstyle ':completion:*' verbose true

zstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([0-9]#)*=0=01;31'
zstyle ':completion:*:kill:*' command 'ps -u $USER -o pid,%cpu,tty,cputime,cmd'

source ~/antigen.zsh

# Load the oh-my-zsh's library.
antigen use oh-my-zsh

# Bundles from the default repo (robbyrussell's oh-my-zsh).
antigen bundle git
antigen bundle heroku
antigen bundle pip
antigen bundle lein
antigen bundle command-not-found

# Syntax highlighting bundle.
antigen bundle zsh-users/zsh-syntax-highlighting

# Load the theme.
antigen theme lycolia

# Tell Antigen that you're done.
antigen apply
  1. ‘.zshenv` を設定
1
2
3
# 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 以下の設定に変更
1
2
3
4
5
6
7
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] セクションを以下のように編集
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
[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 を入れる

開発環境のインストール

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# npm + MariaDB + LaravelSet + Xdebug
sudo apt install -y \
  unzip \
  npm \
  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 Node.js
sudo npm i -g n
sudo n 14
# 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

MySQL 周りの設定

ユーザー作成
1
2
3
4
5
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で最終行に以下を追加
1
2
[mysqld]
skip-networking=0
  1. sudo nano /etc/mysql/mariadb.conf.d/50-server.cnfで以下の様に修正
1
2
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 のインストール

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
# 既にあるのを一旦削除
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
# 動作確認
sudo docker run hello-world

一般ユーザーで docker を利用可能にする

1
2
3
sudo usermod -aG docker $USER
# 再起動して反映させる
sudo reboot