Nginxは、サーバ証明書を1つしか設定できない。そのため、中間CA証明書を指定しなければならない場合は、1つのファイルに複数の証明書を記述する。
このとき、中間CA証明書は、サーバ証明書の後に、中間CA証明書を指定する。中間CA証明書を最初に記述すると、エラーになるので、注意が必要。
Nginxは、サーバ証明書を1つしか設定できない。そのため、中間CA証明書を指定しなければならない場合は、1つのファイルに複数の証明書を記述する。
このとき、中間CA証明書は、サーバ証明書の後に、中間CA証明書を指定する。中間CA証明書を最初に記述すると、エラーになるので、注意が必要。
Ubuntuで、sudo したときに、”ユーザ名 is not in the sudoers file” が表示されるようになったときの対処。
まずは、/etc/group の sudo グループに、対象のユーザが入っているかを確認する。ここに入ってなければ、そのユーザはグループの変更のコマンドをミスし、自分で自分の sudo 権限を外しただけ。もしくは他の人が sudo 権限を外しただけ。
対処としては、sudo グループに追加してあげる。
Ubuntuは、ログイン時に、下記のディレクトリにあるスクリプトを実行する。このフォルダに、実行できるシェルシェルスクリプトとして、記載することでログイン時のメッセージを表示させることができる。
/etc/update-motd.d/
たとえば、下記のような形で、メッセージを表示するスクリプトを書いて実行させる。
~$ cat /etc/update-motd.d/99-hostinfo #!/bin/sh printf "\n"; printf "##############################################\n"; printf "# WEB Server Production Enviroment #\n"; printf "##############################################\n"; printf "\n";
Ubuntuでパッケージのインストールは、apt install XXXでできる。インストールされたパッケージの一覧は、aptコマンドではできない。インストール済みのパッケージの表示するには、dpkgコマンドを使う。
dpkg -l
実行例。
~$ dpkg -l Desired=Unknown/Install/Remove/Purge/Hold | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad) ||/ Name Version Architecture Description +++-==============-============-============-================================= ii accountsservic 0.6.45-1ubun amd64 query and manipulate user account ii adduser 3.116ubuntu1 all add and remove users and groups ii adwaita-icon-t 3.28.0-1ubun all default icon theme of GNOME (smal ii amd64-microcod 3.20180524.1 amd64 Processor microcode firmware for
Gitの管理で楽をしたかったので、GitLabをインストールしてみた。(もっと楽をするならば、GitHubやBacklogを契約すればいいのだろうけど)
インストール先は、Ubuntu 18.04 Desktop。Serverにしておけばよかった。
最初にGitLabのインストールに必要なツールをインストールする。
sudo apt install openssh-server sudo apt install curl sudo apt install postfix
次に、aptの参照先にgitlabのものを追加する。
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
aptでgitlabをインストールする。
sudo apt install gitlab-ce
gitlabの設定ファイルを編集する。エディタはインストールしている好きなものを指定する。
sudo xemacs21 /etc/gitlab/gitlab.rb
最低限のアクセス用のURLとタイムゾーンを変更する。それ以外は、必要に応じてカスタマイズする。とりあえず動かすだけならば、この2つ。
external_url
gitlab_rails['time_zone'] = 'Asia/Tokyo'
設定を反映させる。
sudo gitlab-ctl reconfigure
実際にアクセスしてみて、Gitlabが表示されればOK。初回のアクセス時にrootユーザのパスワード設定があるので、忘れずに行う。
■インストールしたときのログ。
zen@LAB:~$ curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
Detected operating system as Ubuntu/bionic.
Checking for curl...
Detected curl...
Checking for gpg...
Detected gpg...
Running apt-get update... done.
Installing apt-transport-https... done.
Installing /etc/apt/sources.list.d/gitlab_gitlab-ce.list...done.
Importing packagecloud gpg key... done.
Running apt-get update... done.
The repository is setup! You can now install packages.
zen@LAB:~$
zen@LAB:~$
zen@LAB:~$
zen@LAB:~$
zen@LAB:~$ sudo apt install gitlab-ce
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
以下のパッケージが新たにインストールされます:
gitlab-ce
アップグレード: 0 個、新規インストール: 1 個、削除: 0 個、保留: 0 個。
708 MB のアーカイブを取得する必要があります。
この操作後に追加で 1,858 MB のディスク容量が消費されます。
取得:1 https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu bionic/main amd64 gitlab-ce amd64 12.3.2-ce.0 [708 MB]
708 MB を 15秒 で取得しました (47.3 MB/s)
以前に未選択のパッケージ gitlab-ce を選択しています。
(データベースを読み込んでいます ... 現在 172865 個のファイルとディレクトリがインストールされています。)
.../gitlab-ce_12.3.2-ce.0_amd64.deb を展開する準備をしています ...
gitlab-ce (12.3.2-ce.0) を展開しています...
gitlab-ce (12.3.2-ce.0) を設定しています ...
It looks like GitLab has not been configured yet; skipping the upgrade script.
*. *.
*** ***
***** *****
.****** *******
******** ********
,,,,,,,,,***********,,,,,,,,,
,,,,,,,,,,,*********,,,,,,,,,,,
.,,,,,,,,,,,*******,,,,,,,,,,,,
,,,,,,,,,*****,,,,,,,,,.
,,,,,,,****,,,,,,
.,,,***,,,,
,*,.
_______ __ __ __
/ ____(_) /_/ / ____ _/ /_
/ / __/ / __/ / / __ `/ __ \
/ /_/ / / /_/ /___/ /_/ / /_/ /
\____/_/\__/_____/\__,_/_.___/
Thank you for installing GitLab!
GitLab was unable to detect a valid hostname for your instance.
Please configure a URL for your GitLab instance by setting `external_url`
configuration in /etc/gitlab/gitlab.rb file.
Then, you can start your GitLab instance by running the following command:
sudo gitlab-ctl reconfigure
For a comprehensive list of configuration options please see the Omnibus GitLab readme
https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/README.md
zen@LAB:~$
Ubuntu19.04にGitlabをインストールしようとすると「E: パッケージ gitlab-ce が見つかりません」とエラーになる。
~$ sudo EXTERNAL_URL="http://localhost" apt install gitl ab-ce パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています 状態情報を読み取っています... 完了 E: パッケージ gitlab-ce が見つかりません
状況を調べたところ、インストール時に下記のコマンドを実行したが、apt(apt-get)先に登録されていなかった。
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
gitlabの対応OSが、Ubuntu16.04とUbuntu18.04で、Ubuntu19.04が入っていないので、ここではじかれているものと思われる。色気を出さずに、Ubuntu18.04で同じことを試したところ、あっさりとgitlabのインストールができた。そのため、対応OSのバージョン不一致が原因。
Ubuntu 18.04にインストールしたときのGitLab Community Edition 12.3.3 のデータの保存先など。
データベースやgitのリポジトリのデータなど。
/var/opt/gitlab
アプリケーションのインストール先。
/opt/gitlab
Redmine用に使っていたUbuntuのディスクが今後足りなくなる見込みだったので、追加して、Ubuntuで使う領域も増やした作業のメモ。
ディスクを増やす環境は、VMware ESXi上の仮想サーバなので、割り当てサイズを20GBから100GBに変更した。HDDの割り当てサイズを増やしただけでは、Ubuntu上で自動的に拡張はされないので、パーティションサイズを変更して、そのあとにファイルシステムを拡張する作業が必要。
パーティションの変更を行うため、parted コマンドを実行する
sudo parted
ディスクの空き領域を確認する。このとき、Ubuntuで使用しているファイルシステムの番号を確認する。
print free
2番の領域をリサイズする。このコマンドを実行したときに、どこまで拡張するのかを問われるので、答える。今回は少し空きを残したかったので、100%ではなく、95%を指定した。(作業ログ参照)
resizepart 2
もう一度、ディスクの空き領域を確認し、上記でリサイズした番号の領域が広がっていることを確認する。
print free
リサイズが成功していれば、quitでpartedを終了する。
次に、ext4のファイルシステムを拡張する。resize2fsコマンドで、拡張するファイルシステムを指定する。
sudo resize2fs /dev/sda2
最後に、df -h でファイルシステムが拡張されているか確認する。
今回は、SWAP領域がなく、すべてext4の領域だったので、面倒なことはなく、簡単に拡張できた。
zen@redmine:~$ sudo parted
GNU Parted 3.2
/dev/sda を使用
GNU Parted へようこそ! コマンド一覧を見るには 'help' と入力してください。
(parted) help
align-check TYPE N パーティション N のアライメント(TYPE: min|opt)をチェックする
help [コマンド] ヘルプ表示。コマンド指定でそのヘルプを表示
mklabel,mktable ラベルの種類 新しいラベル(パーティションテーブル)を作る
mkpart パーティションの種類 [ファイルシステムの種類] 開始 終了
パーティションを作る
name NUMBER 名前 パーティションに名前をつける
print [devices|free|list,all|NUMBER]
パーティションテーブルや、利用可能なデバイス、空き領域、
見つかった全てのパーティション、あるいは特定のパーティションについて表示する
quit プログラムを終了する
rescue 開始 終了 開始、終了で指定した範囲付近にあるパーティションを復活させる
resizepart NUMBER END パーティション NUMBER を END にリサイズする
rm NUMBER パーティションを削除する
select デバイス 操作するデバイスを選択
disk_set FLAG STATE 選択したデバイスの FLAG を変更
disk_toggle [FLAG] 選択したデバイスの FLAG の状態をトグル
set NUMBER フラグ 状態 ファイルシステムのフラグと状態を設定する
toggle [NUMBER [FLAG]] パーティションのフラグの状態を反転する
unit UNIT デフォルトの単位を UNIT にする
version GNU Parted のバージョンと著作権情報を表示
(parted)
(parted) print free
モデル: VMware Virtual disk (scsi)
ディスク /dev/sda: 107GB
セクタサイズ (論理/物理): 512B/512B
パーティションテーブル: gpt
ディスクフラグ:
番号 開始 終了 サイズ ファイルシステム 名前 フラグ
17.4kB 1049kB 1031kB 空き容量
1 1049kB 2097kB 1049kB bios_grub
2 2097kB 21.5GB 21.5GB ext4
21.5GB 107GB 85.9GB 空き容量
(parted) resizepart 2
警告: パーティション /dev/sda2 は使用中です。それでも実行しますか?
はい(Y)/Yes/いいえ(N)/No? Y
終了? [21.5GB]? 95%
(parted)
(parted)
(parted) print free
モデル: VMware Virtual disk (scsi)
ディスク /dev/sda: 107GB
セクタサイズ (論理/物理): 512B/512B
パーティションテーブル: gpt
ディスクフラグ:
番号 開始 終了 サイズ ファイルシステム 名前 フラグ
17.4kB 1049kB 1031kB 空き容量
1 1049kB 2097kB 1049kB bios_grub
2 2097kB 102GB 102GB ext4
102GB 107GB 5369MB 空き容量
(parted)
(parted) quit
通知: 必要であれば /etc/fstab を更新するのを忘れないようにしてください。
zen@redmine:~$
zen@redmine:~$
zen@redmine:~$ df -lh
Filesystem Size Used Avail Use% Mounted on
udev 967M 0 967M 0% /dev
tmpfs 200M 1.1M 199M 1% /run
/dev/sda2 20G 7.6G 11G 41% /
tmpfs 997M 8.0K 997M 1% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 997M 0 997M 0% /sys/fs/cgroup
/dev/loop0 90M 90M 0 100% /snap/core/7713
/dev/loop1 89M 89M 0 100% /snap/core/7396
tmpfs 200M 0 200M 0% /run/user/1000
zen@redmine:~$
zen@redmine:~$
zen@redmine:~$
zen@redmine:~$
zen@redmine:~$ sudo resize
resize2fs resizecons resizepart
zen@redmine:~$ sudo resize2fs /dev/sda2
resize2fs 1.44.1 (24-Mar-2018)
Filesystem at /dev/sda2 is mounted on /; on-line resizing required
old_desc_blocks = 3, new_desc_blocks = 12
The filesystem on /dev/sda2 is now 24903168 (4k) blocks long.
zen@redmine:~$ df -h
Filesystem Size Used Avail Use% Mounted on
udev 967M 0 967M 0% /dev
tmpfs 200M 1.1M 199M 1% /run
/dev/sda2 94G 7.6G 82G 9% /
tmpfs 997M 8.0K 997M 1% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 997M 0 997M 0% /sys/fs/cgroup
/dev/loop0 90M 90M 0 100% /snap/core/7713
/dev/loop1 89M 89M 0 100% /snap/core/7396
tmpfs 200M 0 200M 0% /run/user/1000
zen@redmine:~$
Ubuntuでタイムゾーンの設定をCLIで変更するときの手順。GUIが使えるのならば、GUIでやった方が楽。
まずは、timedatectlコマンドで現在のタイムゾーンがどこなのかを確認する。
~$ timedatectl
Local time: Tue 2019-06-25 06:01:14 UTC
Universal time: Tue 2019-06-25 06:01:14 UTC
RTC time: Tue 2019-06-25 06:01:15
Time zone: Etc/UTC (UTC, +0000)
System clock synchronized: yes
systemd-timesyncd.service active: yes
RTC in local TZ: no
次に、”timedatectl list-timezones”で、タイムゾーンを表示させ、中から選ぶ。量が多いので、grepなどを使ってある程度絞り込むとよい。
次に、”timedatectl set-timezone タイムゾーン” で、変更後タイムゾーンを変更する。成功したかどうかの反応はないため、実行後に設定を確認する。
~$ sudo timedatectl set-timezone America/Los_Angeles
~$
~$ timedatectl
Local time: Mon 2019-06-24 23:02:41 PDT
Universal time: Tue 2019-06-25 06:02:41 UTC
RTC time: Tue 2019-06-25 06:02:42
Time zone: America/Los_Angeles (PDT, -0700)
System clock synchronized: yes
systemd-timesyncd.service active: yes
RTC in local TZ: no
~$
設定例(sudoを付けずに実行しているため、途中で失敗もしている)
ubuntu@ip-10-0-0-122:~$
ubuntu@ip-10-0-0-122:~$ timedatectl list-timezones | grep -i america/Los
America/Los_Angeles
ubuntu@ip-10-0-0-122:~$
ubuntu@ip-10-0-0-122:~$
ubuntu@ip-10-0-0-122:~$
ubuntu@ip-10-0-0-122:~$ timedatectl
Local time: Tue 2019-06-25 06:01:14 UTC
Universal time: Tue 2019-06-25 06:01:14 UTC
RTC time: Tue 2019-06-25 06:01:15
Time zone: Etc/UTC (UTC, +0000)
System clock synchronized: yes
systemd-timesyncd.service active: yes
RTC in local TZ: no
ubuntu@ip-10-0-0-122:~$
ubuntu@ip-10-0-0-122:~$
ubuntu@ip-10-0-0-122:~$ timedatectl list-timezones | grep -i america/Los
America/Los_Angeles
ubuntu@ip-10-0-0-122:~$
ubuntu@ip-10-0-0-122:~$ timedatectl set-timezone America/Los_Angeles
==== AUTHENTICATING FOR org.freedesktop.timedate1.set-timezone ===
Authentication is required to set the system timezone.
Authenticating as: Ubuntu (ubuntu)
Password:
polkit-agent-helper-1: pam_authenticate failed: Authentication failure
==== AUTHENTICATION FAILED ===
Failed to set time zone: Access denied
ubuntu@ip-10-0-0-122:~$ sudo timedatectl set-timezone America/Los_Angeles
ubuntu@ip-10-0-0-122:~$
ubuntu@ip-10-0-0-122:~$ timedatectl
Local time: Mon 2019-06-24 23:02:41 PDT
Universal time: Tue 2019-06-25 06:02:41 UTC
RTC time: Tue 2019-06-25 06:02:42
Time zone: America/Los_Angeles (PDT, -0700)
System clock synchronized: yes
systemd-timesyncd.service active: yes
RTC in local TZ: no
ubuntu@ip-10-0-0-122:~$
Ubuntu Server 18.04.1では、”/swap.img” というファイルがスワップとして使用されている。パーティションでもなく、ファイルがSWAPの領域なので柔軟といえば柔軟か。
“swapon -s” コマンドで現在のスワップの状態を確認できる。
スワップをOFFにする場合は、”swapoff” コマンドで無効化できる。