読者です 読者をやめる 読者になる 読者になる

Ubuntu 16.04 LTS に日本語LaTeX + Sublime Text 3環境を整える

レポートを書くときに必要だったので、メモ

環境

  • Ubuntu 16.04 LTS
  • Sublime Text 3

Latexのインストール

事前作業

$ sudo apt update
$ sudo apt upgrade

とりあえずアップデート

リポジトリの追加

$ sudo apt-add-repository ppa:texlive-backports/ppa
$ sudo apt update

TexLiveのインストール

  • texlive : TexLive本体
  • texlive-lang-cjk : 日本語版 (UTF8 対応)
  • latexmk : texのコンパイルを簡単におこなうツール
  • xdvik-ja : プレビューを見るのに必要
  • dvipsk-ja : DVIからPostScript への変換用
  • gv : Ghostscript,ps 形式の図を取り込んだ文書の作成用
  • texlive-fonts-recommended,texlive-fonts-extra : TeX 用フォント
$ sudo apt install texlive
$ sudo apt install texlive-lang-cjk
$ sudo apt install latexmk 
$ sudo apt install xdvik-ja
$ sudo apt install dvipsk-ja
$ sudo apt install gv
$ sudo apt install texlive-fonts-recommended texlive-fonts-extra

この方法でのインストールだとインストール先は/usr/share/texliveになります。

Sublime Text 3で使えるようにする

メニューの[Preferences] > [Package Control]を選択します。

もしない場合は、Installation - Package Controlにあるコードを[View] > [Show Console]で出たところに貼り付けて[Enter]を押します。

Sublime Textを再起動して[Preferences] > [Package Control]があればインストール成功です。

次に、Installと打ち込み、Package Control: Install Packageを選択します。

LaTeXToolsと入力してLaTeXToolsを選択します。

何もエラーが表示されなけれがLaTeXToolsのインストールは成功です。

次にLaTeXToolsの設定をします。

[Preferences] > [Package Settings] > [LaTeXTools] > [Settings - User]を選択します。

ダイアログはすべて[OK]を選択してください。

"builder_settings" : {

の次の行に

"command" : ["latexmk", "-cd",
        "-e", "$latex = 'uplatex %O -interaction=nonstopmode -synctex=1 %S'",
        "-e", "$biber = 'biber %O --bblencoding=utf8 -u -U --output_safechars %B'",
        "-e", "$bibtex = 'upbibtex %O %B'",
        "-e", "$makeindex = 'upmendex %O -o %D %S'",
        "-e", "$dvipdf = 'dvipdfmx %O -o %D %S'",
        "-f", "-%E", "-norc", "-gg", "-pdfdvi"],

と入力して、保存します。

これでSublime Text 3でLaTexを使うための設定は以上です。

使ってみる

\documentclass{ujarticle}
\begin{document}
こんにちは、世界
\end{document}

uplatexを指定してるので、 jarticleujarticle にしてね

Sublimeでこのソースを打ち込みLaTexのハイライトになっていることを確認して、

[Ctrl+B]を押して一番上のLatexを選択します。

これで同じディレクトリにPDFファイルができました!やったね!

参考

AnsibleでNginx+PHP7+mariadb+Let’s encrypt(certbot)+wordpressでwordpress環境を構築

Ansibleとは

多数のサーバーや複数のクラウドインフラを統一的に制御できる構成管理ツールです。

構成管理ツールとしてAnsibleを選ぶべき理由-thinkit.co.jp

管理構成ツールは色々ありますが、今回はAnsibleを使ってみます。

Pythonで書かれたソフトウェアですが、設定はYAMLファイルに書くので、Pythonを覚える必要はありません。また、サーバに何かソフトウェアをインストール必要がなく、SSH接続ができれば使うことができるため、ConoHaでVPSを作成した後にすぐ使うことができます。

構成管理ツールAnsibleを使ってみよう-conoha.jp

管理対象のサーバーの環境

管理対象のサーバのシェルは(centos)$と、ローカルの環境は(ubuntu)$と表します。

前提として管理対象のサーバはドメインが割り当てられていて、外部からアクセスできるものとします。

(centos)$ cat /etc/redhat-release
CentOS Linux release 7.3.1611 (Core)

今回対象のサーバーに導入するもの

  • Nginx:1.10.2
  • Let’s encrypt(certbot):0.12.0
  • PHP:7.0.17
  • Mariadb:5.5.52

ローカルの環境

(ubuntu)$ cat /etc/lsb-release 
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.2 LTS"

ローカルの環境にインストールするもの

  • Ansible 2.2.2.0

Ansibleのインストール

PPAを追加してインストール

(ubuntu)$ sudo apt-get install software-properties-common
(ubuntu)$ sudo apt-add-repository ppa:ansible/ansible
(ubuntu)$ sudo apt-get update
(ubuntu)$ sudo apt-get install ansible
(ubuntu)$ ansible --version
ansible 2.2.2.0

使ってみる

ホストの定義

操作する対象のホストを定義します。 ini形式でサーバーのグループとホストを定義します。

[グループ名]
  ホスト名

/etc/ansible/hosts

[web-server]
  server01

このホスト名は~/.ssh/configを参照するのでSSHの設定はそっちでやるほうが賢明です。 記述したホスト名で暗号鍵を使ってSSH接続できるようにしときます。

~/.ssh/config

Host server01
  HostName xxx.xxx.xxx.xxx
  Port 22
  User root
  IdentityFile ~/.ssh/server01-key

IdentityFileに接続先の秘密鍵を格納し、対象サーバーの/root/.ssh/authorized_keysに公開鍵を格納する

接続確認

ansibleコマンドの第一引数に先程定義したグループ名を指定します。

オプションで-mでansibleが実行するモジュールを指定します。 今回はpingを実行してみます。

(ubuntu)$ ansible web-server -m ping
xxx.xxx.xxx.xxx | SUCCESS => {
    "changed": false,
    "ping": "pong"
}

SUCCESSと出たら接続成功です。

PlayBookとは

Ansibleにはplaybookと言う仕組みがあります。YAMLフォーマットで書かれたファイルにサーバに対する操作を定義していき、それをansible-playbookコマンドで実行することで、サーバを常にplaybookで定義した状態にしておくことができます。

構成管理ツールAnsibleを使ってみよう-conoha.jp

実際に作ってみたのでGitHubを参考にしてください

https://github.com/AkashiSN/Ansible-Playbook-Nginx-PHP-7-mariadb-certbot-Wordpress

参考にさせていただいたサイト

Ansible 入門-qiita.com

centos7-php70-nginx-mariadb-ansible-github.com

Let’s Encrypt の証明書を Ansible と certbot で Nginx にインストール & 自動更新-blog.yuyat.jp

Centos+nginxでLet’s encrypt(certbot)導入と自動更新まで-blog.potproject.net