ubuntu 18.04 日本語 Remix でGitLab

ubuntu 18.04 日本語 Remix でGitLab

ubuntu 18.04 の GitLab 環境を
ローカルで使用したいので
virtualBox で構築

まずはISOファイルのダウンロード

Ubuntu Desktop 日本語 Remixのダウンロード

から
ubuntu-ja-18.04.1-desktop-amd64.iso(ISOイメージ)
をダウンロード

次に VirtualBoxで仮想マシン作成
今回はメモリ4GB
CPUを4つ割当し
ネットワークをブリッジアダプターにしておきます

ubuntu18.04 のダウンロードが完了したら
ストレージの
IDE の光学ドライブの設定を
ubuntu 18.04 のISOファイルを指定するようにします

あとは起動をクリックすれば
インストール画面になるのでそのまま続けていきます

インストール完了後
今回は
Ubuntu 18.04 LTSにDockerを使ってGitLabとMattermostを導入してみた

を参考に
Docker を使って GitLab を導入します

が、ここで問題発生
今後は ssh で接続して行おうと思って
ifconfig コマンドでIPアドレスを調べようとしたら
コマンドが存在しないとのこと

Ubuntu 17.04 その132 – ifconfigからipコマンドへ移行しよう・ipコマンドはifconfigを置き換える

によると
ip コマンドを代わりに使うようです

使い方に関しては
ipコマンド備忘録

などを参考に今後調べていく予定

1
ip addr

で現在のIPアドレスがわかるので

次に ssh 接続できるように
ubuntu18.04 側へ openssh-server をインストールし
.ssh ディレクトリにを作成

1
2
3
sudo apt-get -y install ssh
mkdir .ssh
chmod 700 .ssh/

次に
クライアントマシンとしての ubuntu16.04 から
ssh で接続して操作します

1
2
cd .ssh/
ssh-keygen -t rsa -f gitlab_snowpool

今回は gitlab_snowpool
というファイル名にしました

ファイル名は任意でOK
これで鍵ができたので

1
scp gitlab_snowpool.pub snowpool@192.168.1.139:/home/snowpool/.ssh/.

で鍵を scp でコピー

コピーできたら
再び ubuntu18.04 側で

1
2
3
cd .ssh/
cat gitlab_snowpool.pub >> authorized_keys
chmod 600 authorized_keys

として authorized_key を作成し
権限を変更

ubuntu 18.04 LTS のサーバーに公開鍵認証でssh接続

を参考にホスト名でアクセスできるように設定をします

接続元のubuntu16.04 で

1
vim .ssh/config

でファイルを作成し

1
2
3
4
5
Host gitlab
        HostName 192.168.1.139
        User snowpool
        Port 22
        IdentityFile /home/snowpool/.ssh/gitlab_snowpool

というように
Host には任意の名前のホスト名
HostName にはIPアドレス
User にはユーザ名
Port には接続ポート
IdentityFile には鍵ファイルのパスを指定

これで

1
ssh gitlab

とすればパスワードなしでログインできるようになります

次に

1
2
sudo apt-get install vim
 sudo vim /etc/ssh/sshd_config

で設定ファイルを開き
56行目の

1
#PasswordAuthentication yes

1
PasswordAuthentication no

とすることで
鍵認証のみログインできるようにして
パスワードでのログインを禁止します

あとは設定を反映するために

1
systemctl restart ssh

パスワードログインの禁止については
OpenSSH : SSH 鍵認証

を参考にしました

次に GitLab の導入

今回は
Ubuntu 18.04 LTSにDockerを使ってGitLabとMattermostを導入してみた

を参考に導入します

まずはリポジトリアップデート

1
sudo apt-get update

次にHTTPSでリポジトリを使うためのパッケージをインストール

1
sudo apt-get install apt-transport-https ca-certificates curl software-properties-common

しかし

1
E: dpkg は中断されました。問題を修正するには 'sudo dpkg --configure -a' を手動で実行する必要があります。

となってしまうため

1
sudo dpkg --configure -a

を実行

再度

1
sudo apt-get install apt-transport-https ca-certificates curl software-properties-common

を実行することでインストールは成功

次に Docker 公式GPGキーの追加

1
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

GPGキーの取得確認は

1
sudo apt-key fingerprint 0EBFCD88

次に安定版の Docker リポジトリ設定
Stable 版が安定版

1
2
3
4
sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   artful \
   stable"

リポジトリを変更したので、再度

1
sudo apt-get update

で更新

次にDocker のインストール

1
sudo apt-get install docker-ce

Docker のバージョンを調べるには

1
docker version

で調べることができます

次に GitLab の Docker イメージを pull

1
sudo docker pull gitlab/gitlab-ce

次に ifconfig を使うためツールをインストール

1
sudo apt install net-tools

これで IPアドレスを調べておく

次に gitlab 用ファイルを保存するディレクトリを作成

1
2
3
mkdir -p gitlab/config
mkdir -p gitlab/logs
mkdir -p gitlab/data

なお、一般ユーザで docker を使おうとすると

1
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.39/images/json: dial unix /var/run/docker.sock: connect: permission denied

というようなエラーメッセージがでる

対処としては
ユーザを docker グループへ所属させる
もしくは
sudo をつけて実行

次に
makefile を作成

1
sudo apt install make

で make をインストールし

1
vim makefile

でファイルを作成

中身は

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
start:
  sudo docker run --detach \
      --hostname 192.168.1.139 \
      --publish 443:443 --publish 80:80 --publish 2222:22 --publish 8001:8001  --publish 9090:9090 \
      --name gitlab \
      --restart always \
      --volume /home/snowpool/gitlab/config:/etc/gitlab \
      --volume /home/snowpool/gitlab/logs:/var/log/gitlab \
      --volume /home/snowpool/gitlab/data:/var/opt/gitlab \
      gitlab/gitlab-ce:latest
 
restart:
  sudo docker restart gitlab
 
stop:
  sudo docker stop gitlab
 
rm:
  sudo docker rm gitlab

として保存

ちなみに、コマンドの sudo の前は
スペースではなく tab

スペースで書いてしまうと

1
makefile:2: *** 複数のターゲットパターンです.  中止.

となってしまうので注意

makefile の書き方については
Makefileの書き方

を参考に

なお make についてわからなかったので
Makefileを使ってスマート?にDocker+Railsの開発をしようとした

を参考したところ
コマンドの省略に使えそうとのこと

また docker の起動や停止については
Dockerでコンテナ作成/起動/停止/自分用Image作成

を参考に

もしコンテナ起動時に

1
docker: Error response from daemon: Conflict. The container name "/gitlab" is already in use by container "cf98f43e7b160c26b663f65e4a5487e48d3a0ca27fd6ef29504736a59c93560e". You have to remove (or rename) that container to be able to reuse that name.

となる場合

Dockerのコンテナ名がコンフリクトした

にあるように一度コンテナを削除

今回なら

1
sudo docker rm gitlab

また、今回の場合
ホストマシンで 22 番ポートを使っているので
ssh で使用するポートを22にすると

1
docker: Error response from daemon: driver failed programming external connectivity on endpoint gitlab (45d121856a9d4eb420973d76ac265049026800565d1395fac7879656ed936f25): Error starting userland proxy: listen tcp 0.0.0.0:22: bind: address already in use.

となってしまう

現在使用しているポートは

1
sudo lsof -i -P | grep "LISTEN"

で調べることができる

次に
クライアントマシンの ubuntu 16 に
クリっプボードにコピーを簡単にするコマンド xsel をインストール

1
sudo apt install xsel

コマンドの引数が面倒なので

1
2
echo "alias pbcopy='xsel --clipboard --input'" >> ~/.bashrc
source ~/.bashrc

で反映

これでできると思ったけど
最後に git push するときに エラーになるため
docker での Gitlab を断念し
通常のインストールで運用することに

【Ubuntu 18.04 LTS Server】GitLabでGitサーバを構築する

を参考に実践

1
sudo apt install postfix

でメールサーバーをインストール
形式は
ローカルのみ
を選択

なお、システムメール名は任意のものを入力

次に Gitlab リポジトリ登録

1
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash

そして Gitlab インストール

1
sudo apt install gitlab-ce

次に設定ファイルの編集

1
sudo vim /etc/gitlab/gitlab.rb

で13行目を

1
external_url 'http://192.168.1.139'

というようにIPを指定

49行目の

1
# gitlab_rails['time_zone'] = 'UTC'


[she]
gitlab_rails[‘time_zone’] = ‘Asia/Tokyo’
[/shell]
として保存

1
sudo gitlab-ctl reconfigure

で設定を反映

1
sudo gitlab-ctl status

でGitlab の状態を確認できる

なお、再起動をしたいときには

1
sudo gitlab-ctl restart

で Gitlab の再起動ができる

なお、この状態で仮想マシンを再起動すると Docker が起動してしまうため

1
2
make stop
sudo gitlab-ctl restart

として一度 Dockerコンテナを停止してから
Gitlab を再起動する必要あり

これで Gitlab が使えるようになったので
ブラウザで Gitlab サーバーのIPへアクセスすると
管理者ユーザの
新しいパスワードの設定になるので
パスワードを入力し
Change your Password をクリック

Register で登録ができるので
Full name
username
にはユーザ名

Email と Email Confirmation にはメルアド

Password にはパスワードを入力し
Register で登録

次に、SSHキーの設定をするので
Settings をクリック

SSH Keys をクリックし
鍵をコピペする

鍵のコピーには
xsel を使うと便利なので

1
sudo apt install xsel

でインストールし
xsel のオプション設定の面倒を省くためエイリアスを設定

1
2
echo "alias pbcopy='xsel --clipboard --input'" >> ~/.bashrc
source ~/.bashrc

これで

1
cat ~/.ssh/gitlab_snowpool.pub | pbcopy

でSSH key をコピーできるので
これを貼り付けて
Add key をクリックすれば登録完了

あとは新規リポジトリを作成してテストしたいので
Gitlabアイコンをクリックし
New Project をクリック

Project Name にリポジトリ名を入れ
Public にして
Crate project をクリック

ここまでできたら
あとはクライアントマシンで git を使えばいい

なお、リポジトリについては
SSH をクリックし、コピーアイコンをクリックすれば
リポジトリのコピーができるので
あとは

1
2
3
4
5
6
git clone git@192.168.1.139:sno/test.git
cd test
touch README.md
git add README.md
git commit -m "add README"
git push -u origin master

とすればgitlab でのリポジトリ管理ができるようになる

git push するときに
Git global setup をしていないと

1
to set your account's default identity. Omit --global to set the identity only in this repository.

というようにエラーになるので

1
git config --global user.name "First-name Family-name"

First-name Family-nameの部分は自分の名前

1
git config --global user.email "username@example.com"

username@example.com の部分は自分のメルアド
というように設定をすればOK

なお、git commit での nano ではなく vim にしたいのなら
Gitをインストールしたら真っ先にやっておくべき初期設定
を参考に

wordpress でメディアのアップロードができないときの対処

wordpress でメディアのアップロードができないときの対処

投稿で画像を挿入するため
ファイルをアップロードしようとしたら

Unable to create directory wp-content/uploads/2018/12. Is its parent directory writable by the server?

となってしまい
ファイルのアップロードができない状況に

wordpressの画像アップロードできないを
解決する方法としては
権限変更以外だと

【WordPress】画像がアップロードできない場合はプラグインを疑え!
にあるように
EWWW Image Optimizerプラグインの停止
もしくは
WordPressで画像ファイルがアップロードエラーする場合の2つの解決法

にあるように
キャッシュの削除

そして
WordPress : Permissionがあっているのに画像をアップロード出来ない件 heteml

にあるように
ファイルアップロードパスが合ってない

ということになるらしい

最初によくでてくるパーミッションの変更で
[WordPress]画像アップロードエラー「web-content/uploads/に移動できませんでした」+「ファイルサイズ0KB」の対処法

であるように

web-content/uploads
の権限を 755 などに変更してダメで

ファイルアップロードのサイズに関しても問題なし

Webサーバの空き容量に関しては
50GBあるため、こちらも該当せず

このため
EWWW Image Optimizer 関連から調べることに

メディアを調べてみると
Change the Media Library to List mode for additional image optimization information and actions
と表示されていたため

まずはプラグインの停止をしてみたけど
結果は変わらず

いろいろ試した結果
WordPressの理想的なパーミッション設定は?権限を見直してセキュリティ強化しよう
を参考に
wordpress のディレクトリに移動して

1
chmod -R 707 wp-content/uploads/

で権限を変更するとアップロードすることができるようになりました

ubuntu16.04 へ kindle for PC インストール

ubuntu16.04 へ kindle for PC インストール

ubuntuにKindle for PCをインストールする方法

を参考に実践

しかし

1
sudo apt-get install winehq-stable

を実行してもパッケージがみつからないため

winehq-stable
で検索し
Wine 3.0 が安定版になっていた

Ubuntu 18.04 / 16.04 に最新の wine をインストールする

を参考にインストール

1
sudo dpkg --add-architecture i386

で2bit環境のライブラリを追加

解説については
Ubuntu 14.04 64bit で 32bit アプリを動作させる方法
を参考に

次に

1
2
wget -nc https://dl.winehq.org/wine-builds/Release.key
sudo apt-key add Release.key

でキーを追加

1
2
 sudo apt-get update

でリポジトリの追加と更新

1
sudo apt install winehq-stable winetricks

でインストール

バージョン確認は

1
wine --version

でOK

今回は安定版なので最新版ではないため
ver 3.0.4 です

次に wine デフォルト設定だと kindle がうまく動かないらしいので

1
winecfg

を実行

ダイアログがでるので
インストールをクリック

Gecko パッケージも足りないため
インストールをクリック

windows のバージョンを
Windows8.1 にして適用をクリック

次にamazon.comから最新版の kindlr for pc をダウンロード
download kindle for pc latest version
で検索し

https://www.amazon.com/gp/help/customer/display.html/ref=aw?ie=UTF8&nodeId=201245960

Download and Install the Kindle App
をクリック

Kindle for PC をクリック

Download for PC & Mac をクリック

これで kindle for pc のダウンロード

しかし起動時にエラーとなってしまう

unbutn kindle for pc
で検索してみると
UbuntuでKindle for PCを使う

によると
WineとKindle for PCは最新版のほうが良いとは限らず、相性がある
らしい

いくつか試してみたけど
https://kindle-for-pc.jp.uptodown.com/windows
などからダウンロードした過去のバージョンの中で

kindle-for-pc-1-17-44183.exe

のみ起動可能だった

しかし、起動はできても文字化けしてしまう

このため

1
font-replace-takao.reg

でファイルを作成し

1
2
3
4
5
6
7
8
9
10
11
12
REGEDIT4
 
[HKEY_CURRENT_USER\Software\Wine\Fonts\Replacements]
"MS Gothic"="Takaoゴシック"
"MS Mincho"="Takao明朝"
"MS PGothic"="Takao Pゴシック"
"MS PMincho"="Takao P明朝"
"MS UI Gothic"="TakaoExゴシック"
"MS ゴシック"="Takaoゴシック"
"MS 明朝"="Takao明朝"
"MS Pゴシック"="Takao Pゴシック"
"MS P明朝"="Takao P明朝"

という内容で保存

次に文字コードの設定
nkf コマンドで変換や文字コード判別ができるので
入っていないのなら

1
sudo apt-get install nkf

でインストール

作成したファイルの文字コードは UTF-8 になっているので

【初心者でも知っておきたい】Linuxでの文字コードの確認と変更方法

を参考に

1
nkf -s --overwrite font-replace-takao.reg


文字コードをShift_JISに変換

1
nkf -g font-replace-takao.reg

で文字コードが
Shift_JIS
になっているのを確認

次に

1
wine regedit

でレジストリを出して

レジストリ > レジストリのインポート


ファイルをインポートしたけど結果は変わらず

次に
Ubuntu 18.04にWineをインストールし、文字化け(アルファベットが豆腐)を解消する

を参考に実践

1
winetricks


Winetricks を起動

Select the default wineprefix でOK

ダイアログがでるので Yes をクリック

次に
Install a font をクリックしOK

次に
cjkfonts にチェックをいれOK

これで
kindle-for-pc-1-17-44183.exe
を右クリックし
別のアプリで開く >
Wine Windows プログラムローダ

で起動すると
無事に文字化けが解消されて
Ubuntu でも kindle for PC が使えるようになりました

なお、日経Linux などを見るときには
kindle Fire 10 インチなどでみたほうが
画面の小さいPCよりも快適に見れます