K.MIURA@OUC

The special secret of making dreams come true can be summarized in four C’s. They are Curiosity, Confidence, Courage, and Constancy. –Walt Disney

トークン認証でgitを実行する

[基本環境]
  • Debian 10.3.0
[参考サイト]
[注意]
  • 8月末まで、次のコマンドをを実行した後に、パスワード認証で更新できた
    • git push origin master
  • しかし、この認証が廃止されたので、トークン認証に変更する必要がある
  • この記事は、トークン認証に変更する方法をまとめている
[トークンを生成する (GitHubのウェブサイト上で実行)]
  1. プロフィールのアイコンをクリックし、 Settings をクリックする
  2. 左端に並んでいる項目の中から Developer settings をクリックする
  3. 左端に並んでいる項目の中から Personal access tokens をクリックする
  4. Generate new token をクリックして、トークンを生成する
    • Note は、トークンのラベルの感覚で、適当に記述する
    • Expiration は、トークンの有効期限を設定する
    • Select scopes は、アクセスを許す項目を選択する
  5. トークンをメモする
[トークンを適用する (ターミナル上で実行)]
  1. git remote set-url origin https://ghp_xxxxxxxxxx@github.com/hoge/hoge.git
[データをアップロードする (ターミナル上で実行)]
  1. git add -A
  2. git commit -m “コメント”
  3. git push origin master
Read more →

Docker上でJupyterを展開する

[基本環境]
  • Debian 10.3.0 (amd64)
  • Docker 19.03.8
[参考サイト]
[注意]
  • Docker環境の構築や他のサイトを読んで、Docker環境を構築していること
  • 本記事は、Jupyter NotebookをWEBブラウザで確認するまでの手続きである
[Dockerコンテナの展開]
  1. docker pull debian:stable
  2. docker run -itd --privileged -p 8888:8888/tcp -p 8888:8888/udp --name jupyter debian:stable
  3. docker exec -it jupyter /bin/bash
[コンテナ(jupyter)内での手続き]
  1. apt update
  2. apt upgrade
  3. apt install git
  4. apt install curl
  5. apt install bzip2
  6. apt install vim
  7. git clone https://github.com/pyenv/pyenv.git ~/.pyenv
  8. echo ’export PYENV_ROOT="${HOME}/.pyenv"’ » ~/.bash_profile
  9. echo ’export PATH="${PYENV_ROOT}/bin:$PATH"’ » ~/.bash_profile
  10. echo ’export PATH="${PYENV_ROOT}/shims:$PATH"’ » ~/.bash_profile
  11. echo ’eval “$(pyenv init -)”’ » ~/.bash_profile
  12. source ~/.bash_profile
  13. pyenv install anaconda3-5.3.1
  14. echo ’export PATH="$PYENV_ROOT/versions/anaconda3-5.3.1/bin:$PATH"’ » ~/.bash_profile
  15. source ~/.bash_profile
  16. pyenv versions
    • anacondaのインストールを確認する
  17. pyenv global anaconda3-5.3.1
  18. ipython3
    • In [1]: from IPython.lib import passwd
    • In [2]: passwd()
      • Jupyter Notebookを開くときのパスワードを設定する
    • Out[2]: ‘sha1:xxxxxxxxx’ これをメモしておく
    • In[3]: quit()
  19. jupyter-notebook --generate-config
  20. vi ~/.jupyter/jupyter_notebook_config.py
    • 先頭(本当はどこでも良い)に以下の内容を追加する
      c.IPKernelApp.pylab = ‘inline’
      c.NotebookApp.ip = ‘*’
      c.NotebookApp.open_browser = False
      c.NotebookApp.port = 8888
      c.NotebookApp.password = u’sha1:xxxxxxxxx’ メモしたやつ
[Jupyter Notebookの起動]
  1. mkdir workspace ホームディレクトリで実行する
  2. cd workspace
  3. jupyter-notebook --allow-root
    • WEBブラウザで http://IPアドレス:8888/ にアクセスする
    • パスワードには上の passwd() で設定したものを記述する
    • 停止するときはControl + Zを押す
    • プロセスが生きていたらkillで強制終了する
[おまけ:コンテナ起動時にJupyter Notebookを一緒に起動する]
  • シェルスクリプトを仕込む (コンテナ内で実行する)
    1. vi /etc/rc.local
      • 以下の内容を記述する
        #!/bin/bash
        /etc/init.d/jupyter.sh
    2. chmod 755 /etc/rc.local
    3. vi /etc/init.d/jupyter.sh
      • 以下の内容を記述する
        #!/bin/bash
        . ~/.bash_profile
        cd /workspace
        sleep 3;jupyter-notebook --allow-root
    4. chmod 755 /etc/init.d/jupyter.sh
    5. exit コンテナ(jupyter)から一度出る
  • コンテナ(jupyter)を起動する
    1. docker restart jupyter
    2. docker exec jupyter /etc/rc.local
Read more →

ストリーミングサーバを立てる

[基本環境]
  • Debian 10.3.0 (amd64)
[参考サイト]
[nginxとrtmpのインストール]
  1. sudo apt update
  2. sudo apt upgrade
  3. sudo add-apt-repository ppa:nginx/stable
    • レポジトリ追加の際の確認事項に対しては、[Enter]を押す
  4. sudo apt install nginx libnginx-mod-rtmp
[rtmpの有効化]
  1. cd /etc/nginx
  2. sudo vi nginx.conf
    • hogelive(5行目)を自由に変更する
  3. sudo service nginx restart
[受付用index.htmlの作成]
  1. cd /var/www/html
  2. sudo vi index.html
    • hogeliveをnginx.confと同じものにする
    • ipアドレスをストリーミングサーバのIPアドレスにする
    • hogekeyを自由に変更する
[配信システムの構築]
  • mp4動画を配信するだけなら、以下の作業は必要ない
  • /var/www/html以下にディレクトリを作成して、mp4動画を保存する
  1. sudo apt-get install ffmpeg
  2. sudo add-apt-repository ppa:obsproject/obs-studio
  3. sudo apt-get update
  4. sudo apt-get install obs-studio
  5. obs
    • 配信先: rtmp://IPアドレス:1935/hogelive
    • ストリームキー: hogekey
[視聴者の操作]
  1. WEBブラウザで http://IPアドレス/ にアクセスする
Read more →

Hugo+GitHubで作るWEBサイト

[基本環境]
  • Debian 10.3.0 (amd64)
[注意]
  • HugoとGitHubで作るWEBサイトの大まかな流れを掴むためのまとめです
  • 記事を書くときのMarkdownについては、別のサイトを参照すること
[Hugoのインストール]
  1. sudo apt update
  2. sudo apt install git
  3. sudo apt install golang
  4. sudo apt install snapd
  5. sudo snap install hugo --channel=extended
  6. cd /usr/bin
  7. sudo ln -s /snap/bin/hugo hugo
[作業用ディレクトリの作成]
  1. cd /home/ユーザ名
  2. mkdir workspace
    • ディレクトリ名は何でも良い
  3. hugo new site blog
    • blogという名前でWEBサイトを新規作成する
    • WEBサイト名は何でも良い
[HugoテーマのDL]
  1. cd ~/workspace/blog/theme
  2. HugoテーマのDL方法
[config.tomlの編集]
  1. cd ~/workspace/blog
  2. mv config.toml config.toml.org
  3. cp themes/テーマ名/exampleSite/config.toml .
  4. vi config.toml
    • テーマ毎に内容が異なるため、テーマのWEBサイトを参照すること
    • DLしたテーマを基にオリジナルテーマを作っても良い
    • 本サイトは、Hugo Bootstrap v4 Blogに少し手を入れている
[記事の新規作成]
  1. cd ~/workspace/blog
  2. hugo new posts/sample.md
    • postsは記事が保存されるディレクトリであり、ディレクトリ名は何でも良い (存在しないときは自動的に作られる)
    • sample.mdは記事ファイルであり、ファイル名は何でも良い
  3. cd content/posts
  4. vi sample.md
    • 記事はMarkdownで書く
    • 「draft: true」は非公開記事で、「draft:false」は公開記事である
    • title:は記事タイトルなので、ファイル名から書き換える
[GitHubへアップロードするファイルの作成]
  1. cd ~/workspace/blog
  2. hugo
    • publicというディレクトリが生成される
    • ここにアップロードするファイルが作られる
[GitHubへのアップロード]
  • GitHub上に「GitHubアカウント名.github.io」というレポジトリを作成する
  1. cd ~/workspace/blog/public
  2. git remote add origin https://github.com/GitHubアカウント名/GitHubアカウント名.github.io.git
  3. git add -A
  4. git commit -m “コメント”
  5. git push origin master
[2件目以降の記事作成からアップロード]
  1. 記事を作り
    1. cd ~/workspace/blog
    2. hugo new posts/sample.md
    3. cd content/posts
    4. vi sample.md
  2. アップロードするファイルを作り
    1. cd ~/workspace/blog
    2. hugo
  3. GitHubへアップロード
    1. cd public
    2. git add -A
    3. git commit -m “コメント”
    4. git push origin master
Read more →

Debianの初期設定

[基本環境]
  • VirtualBox 6.0.18 (Mac版)
  • Debian 10.3.0 (amd64)
[PATHへの/usr/sbin/の追加]
  1. cd /home/ユーザ名
    • ホームディレクトリに移動する
  2. touch .bash_profile
  3. vi .bash_profile
    • export PATH=$PATH:/usr/sbin/ と書いて保存する
  4. source .bash_profile
[一般ユーザに対するsudo権限の付与]
  1. su
  2. usermod -aG sudo ユーザ名
  3. reboot
[sources.listの編集]
  1. cd /etc/apt
  2. sudo vi sources.list
    • deb cdrom:[Debian GNU/Linux… の先頭に#を追加する
Read more →

WordCloudを作る

[基本環境]
  • Debian 10.3.0 (amd64)
  • Docker 19.03.8
[注意]
[Dockerコンテナの展開]
  1. mkdir /home/ユーザ名/workspace
    • ホストのディレクトリをコンテナでマウントするための準備
    • ユーザ名は各々の環境に合わせて置き換える
  2. docker run -itd --privileged -v /home/ユーザ名/workspace:/mnt --name wordcloud debian:stable
  3. docker exec -it wordcloud /bin/bash
[コンテナ(wordcloud)内での手続き]
  1. apt update
  2. apt install python-pip python3-pip
  3. pip3 install wordcloud
  4. apt install vim
  5. cd /mnt
  6. vi sample.py
  7. python3 sample.py
    • sample.pngが生成されている
Read more →

Docker環境の構築

[基本環境]
  • Debian 12 (amd64)
[Docker環境の構築手順]
  1. Dockerをインストールする
 $ sudo apt update
 $ sudo apt install apt-transport-https
 $ sudo apt install ca-certificates
 $ sudo apt install curl
 $ sudo apt install gnupg2
 $ sudo apt install software-properties-common
 $ curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
 $ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"
 $ sudo apt update
 $ sudo apt install docker-ce
 
  1. Dockerの動作状況を確認する
 $ sudo systemctl status docker
   このコマンドを実行して
     Active: active (running)
   が表示されるなら、Dockerは動作中である
 $ sudo docker ps -a
   このコマンドを実行して
     CONTAINER ID IMAGE ..略..
   が表示されるなら、Dockerコマンドも正しく動作している
  1. 一般ユーザにDockerコマンドの実行権限を与える
 $ sudo usermod -aG docker ${USER}
 $ sudo reboot
[Dockerコンテナの展開]
  1. Dockerイメージをダウンロードする
    ※ 例として、Debianのイメージファイルをダウンロードしている
 $ docker pull debian:stable
  1. 新規コンテナを展開する
    ※ ホストとの間で80(HTTP)ポートを繋いだコンテナを作っている
    ※ コンテナ名をwebservにしている
 $ docker run -itd --privileged -p 80:80/tcp -p 80:80/udp --name webserv debian:stable
 
  1. コンテナの中にログインする
 $ docker exec -it webserv /bin/bash
Read more →