diff options
Diffstat (limited to 'public/posts/2022-10-28/setup-server-for-this-site/index.html')
| -rw-r--r-- | public/posts/2022-10-28/setup-server-for-this-site/index.html | 779 |
1 files changed, 306 insertions, 473 deletions
diff --git a/public/posts/2022-10-28/setup-server-for-this-site/index.html b/public/posts/2022-10-28/setup-server-for-this-site/index.html index e9e2c0b..7528251 100644 --- a/public/posts/2022-10-28/setup-server-for-this-site/index.html +++ b/public/posts/2022-10-28/setup-server-for-this-site/index.html @@ -4,18 +4,14 @@ <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="author" content="nsfisis"> - <meta name="copyright" content="© nsfisis"> - <meta name="description" content="GitHub Pages でホストしていたこのサイトを VPS へ移行したので、 そのときにやったことのメモ。99 % 自分用。"> + <meta name="copyright" content="© 2022 nsfisis"> + <meta name="description" content="GitHub Pages でホストしていたこのサイトを VPS へ移行したので、そのときにやったことのメモ。99 % 自分用。"> <meta name="keywords" content="備忘録"> <link rel="icon" type="image/svg+xml" href="/favicon.svg"> - <title>【備忘録】このサイト用の VPS をセットアップしたときのメモ | REPL: Rest-Eat-Program Loop</title> - - <link rel="stylesheet" href="/hl.css?208c52e3b7c9db1cad782c5d30b4698f"> - - <link rel="stylesheet" href="/style.css?779b1a3debcaeba619f6fe500e93d525"> - - <link rel="stylesheet" href="/custom.css?a649ea3528d4b626fb636505d94c1144"> - + <title>【備忘録】 このサイト用の VPS をセットアップしたときのメモ | REPL: Rest-Eat-Program Loop</title> + <link rel="stylesheet" href="/hl.css?h=208c52e3b7c9db1cad782c5d30b4698f"> + <link rel="stylesheet" href="/style.css?h=779b1a3debcaeba619f6fe500e93d525"> + <link rel="stylesheet" href="/custom.css?h=a649ea3528d4b626fb636505d94c1144"> </head> <body class="single"> <header class="header"> @@ -28,479 +24,316 @@ <main class="main"> <article class="post-single"> <header class="post-header"> - <h1 class="post-title">【備忘録】このサイト用の VPS をセットアップしたときのメモ</h1> - - <ul class="post-tags"> - - <li class="tag"> - <a href="/tags/note-to-self/">備忘録</a> - </li> - - </ul> - + <h1 class="post-title">【備忘録】 このサイト用の VPS をセットアップしたときのメモ</h1> + <ul class="post-tags"> + <li class="tag"> + <a href="/tags/note-to-self">備忘録</a> + </li> + </ul> </header> <div class="post-content"> <section> <h2 id="changelog">更新履歴</h2> <ol> + <li class="revision"> + <time datetime="2022-10-28">2022-10-28</time>: 公開 + </li> + </ol> + </section> + <section id="section--_はじめに"> + <h2><a href="#section--_はじめに">はじめに</a></h2> + <p> + これまでこの blog は GitHub Pages でホストしていたのだが、先日 VPS に移行した。そのときにおこなったサーバのセットアップ作業を書き残しておく。99 % 自分用の備忘録。別のベンダに移したりしたくなったら見に来る。 + </p> + + <p> + 未来の自分へ: 特に自動化してないので、せいぜい苦しんでくれ。 + </p> + </section> + + <section id="section--_vps"> + <h2><a href="#section--_vps">VPS</a></h2> + <p> + <a xl:href="https://vps.sakura.ad.jp/">さくらの VPS</a>の 2 GB プラン。そこまで真面目に選定していないので、困ったら移動するかも。 + </p> + </section> + + <section id="section--_事前準備"> + <h2><a href="#section--_事前準備">事前準備</a></h2> + <section id="section--_サーバのホスト名を決める"> + <h3><a href="#section--_サーバのホスト名を決める">サーバのホスト名を決める</a></h3> + <p> + モチベーションが上がるという効能がある。今回は藤原定家から取って ``teika'' にした。たいていいつも源氏物語の帖か小倉百人一首の歌人から選んでいる。 + </p> + </section> + + <section id="section--_ssh_の鍵生成"> + <h3><a href="#section--_ssh_の鍵生成">SSH の鍵生成</a></h3> + <p> + ローカルマシンで鍵を生成する。 + </p> + + <pre language="shell-session" linenumbering="unnumbered"> + <code>$ ssh-keygen -t ed25519 -b 521 -f ~/.ssh/teika.key + $ ssh-keygen -t ed25519 -b 521 -f ~/.ssh/github2teika.key</code> + </pre> + + <p> + <code>teika.key</code>はローカルからサーバへの接続用、<code>github2teika.key</code>は、GitHub Actions からサーバへのデプロイ用。 + </p> + </section> + + <section id="section--_ssh_の設定"> + <h3><a href="#section--_ssh_の設定">SSH の設定</a></h3> + <p> + <code>.ssh/config</code>に設定しておく。 + </p> + + <pre language="ssh_config" linenumbering="unnumbered"> + <code>Host teika + HostName ********** + User ********** + Port ********** + IdentityFile ~/.ssh/teika.key</code> + </pre> + </section> + </section> + + <section id="section--_基本のセットアップ"> + <h2><a href="#section--_基本のセットアップ">基本のセットアップ</a></h2> + <section id="section--_ssh_接続"> + <h3><a href="#section--_ssh_接続">SSH 接続</a></h3> + <p> + VPS 契約時に設定した管理者ユーザとパスワードを使ってログインする。 + </p> + </section> + + <section id="section--_ユーザを作成する"> + <h3><a href="#section--_ユーザを作成する">ユーザを作成する</a></h3> + <p> + 管理者ユーザで作業すると危ないので、メインで使うユーザを作成する。<code>sudo</code>グループに追加して<code>sudo</code>できるようにし、<code>su</code>で切り替え。 + </p> + + <pre language="shell-session" linenumbering="unnumbered"> + <code>$ sudo adduser ********** + $ sudo adduser ********** sudo + $ su ********** + $ cd</code> + </pre> + </section> + + <section id="section--_ホスト名を変える"> + <h3><a href="#section--_ホスト名を変える">ホスト名を変える</a></h3> + <pre language="shell-session" linenumbering="unnumbered"> + <code>$ sudo hostname teika</code> + </pre> + </section> + + <section id="section--_公開鍵を置く"> + <h3><a href="#section--_公開鍵を置く">公開鍵を置く</a></h3> + <pre language="shell-session" linenumbering="unnumbered"> + <code>$ mkdir ~/.ssh + $ chmod 700 ~/.ssh + $ vi ~/.ssh/authorized_keys</code> + </pre> + + <p> + <code>authorized_keys</code>には、ローカルで生成した<code>~/.ssh/teika.key.pub</code>と<code>~/.ssh/github2teika.key.pub</code>の内容をコピーする。 + </p> + </section> + + <section id="section--_ssh_の設定_2"> + <h3><a href="#section--_ssh_の設定_2">SSH の設定</a></h3> + <p> + SSH の設定を変更し、少しでも安全にしておく。 + </p> + + <pre language="shell-session" linenumbering="unnumbered"> + <code>$ sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak + $ sudo vi /etc/ssh/sshd_config</code> + </pre> - <li class="revision"> - <time datetime="2022-10-28">2022-10-28</time>: 公開 + <ul> + <li> + <p> + <code>Port</code>を変更 + </p> </li> + + <li> + <p> + <code>PermitRootLogin</code>を<code>no</code>に + </p> + </li> + + <li> + <p> + <code>PasswordAuthentication</code>を<code>no</code>に + </p> + </li> + </ul> - </ol> + <p> + そして設定を反映。 + </p> + + <pre language="shell-session" linenumbering="unnumbered"> + <code>$ sudo systemctl restart sshd +$ sudo systemctl status sshd</code> + </pre> + </section> + + <section id="section--_ssh_で接続確認"> + <h3><a href="#section--_ssh_で接続確認">SSH で接続確認</a></h3> + <p> + 今の SSH セッションは閉じずに、ターミナルを別途開いて疎通確認する。セッションを閉じてしまうと、SSH の設定に不備があった場合に締め出しをくらう。 + </p> + + <pre language="shell-session" linenumbering="unnumbered"> + <code>$ ssh teika</code> + </pre> + </section> + + <section id="section--_ポートの遮断"> + <h3><a href="#section--_ポートの遮断">ポートの遮断</a></h3> + <p> + デフォルトの 22 番を閉じ、設定したポートだけ空ける。 + </p> + + <pre language="shell-session" linenumbering="unnumbered"> + <code>$ sudo ufw deny ssh + $ sudo ufw allow ******* + $ sudo ufw enable + $ sudo ufw reload + $ sudo ufw status</code> + </pre> + + <p> + ここでもう一度 SSH の接続確認を挟む。 + </p> + </section> + + <section id="section--_github_用の_ssh_鍵"> + <h3><a href="#section--_github_用の_ssh_鍵">GitHub 用の SSH 鍵</a></h3> + <p> + GitHub に置いてある private リポジトリをサーバから clone したいので、SSH 鍵を生成して置いておく。 + </p> + + <pre language="shell-session" linenumbering="unnumbered"> + <code>$ ssh-keygen -t ed25519 -b 521 -f ~/.ssh/github.key +$ cat ~/.ssh/github.key.pub</code> + </pre> + + <p> + <a xl:href="https://github.com/settings/ssh">GitHub の設定画面</a>から、この公開鍵を追加する。 + </p> + + <pre language="shell-session" linenumbering="unnumbered"> + <code>$ vi ~/.ssh/config</code> + </pre> + + <p> + 設定はこう。 + </p> + + <pre language="ssh_config" linenumbering="unnumbered"> + <code>Host github.com +HostName github.com +User git +IdentityFile ~/.ssh/github.key</code> + </pre> + + <p> + 最後に接続できるか確認しておく。 + </p> + + <pre language="shell-session" linenumbering="unnumbered"> + <code>ssh -T github.com</code> + </pre> + </section> + + <section id="section--_パッケージの更新"> + <h3><a href="#section--_パッケージの更新">パッケージの更新</a></h3> + <pre language="shell-session" linenumbering="unnumbered"> + <code>$ sudo apt update + $ sudo apt upgrade + $ sudo apt update + $ sudo apt upgrade + $ sudo apt autoremove</code> + </pre> + </section> + </section> + + <section id="section--_サイトホスティング用のセットアップ"> + <h2><a href="#section--_サイトホスティング用のセットアップ">サイトホスティング用のセットアップ</a></h2> + <section id="section--_dns_に_ip_アドレスを登録する"> + <h3><a href="#section--_dns_に_ip_アドレスを登録する">DNS に IP アドレスを登録する</a></h3> + <p> + このサーバは固定の IP アドレスがあるので、<code>A</code>レコードに直接入れるだけで済んだ。 + </p> + </section> + + <section id="section--_使うソフトウェアのインストール"> + <h3><a href="#section--_使うソフトウェアのインストール">使うソフトウェアのインストール</a></h3> + <pre language="shell-session" linenumbering="unnumbered"> + <code>$ sudo apt install docker docker-compose git make</code> + </pre> + </section> + + <section id="section--_メインユーザが_docker_を使えるように"> + <h3><a href="#section--_メインユーザが_docker_を使えるように">メインユーザが Docker を使えるように</a></h3> + <pre language="shell-session" linenumbering="unnumbered"> + <code>sudo adduser ********** docker</code> + </pre> + </section> + + <section id="section--_httphttps_を通す"> + <h3><a href="#section--_httphttps_を通す">HTTP/HTTPS を通す</a></h3> + <p> + 80 番と 443 番を空ける。 + </p> + + <pre language="shell-session" linenumbering="unnumbered"> + <code>$ sudo ufw allow 80/tcp + $ sudo ufw allow 443/tcp + $ sudo ufw reload + $ sudo ufw status</code> + </pre> + </section> + + <section id="section--_リポジトリのクローン"> + <h3><a href="#section--_リポジトリのクローン">リポジトリのクローン</a></h3> + <pre language="shell-session" linenumbering="unnumbered"> + <code>$ cd + $ git clone git@github.com:nsfisis/nsfisis.dev.git + $ cd nsfisis.dev + $ git submodule update --init</code> + </pre> + </section> + + <section id="section--_certbot_で証明書取得"> + <h3><a href="#section--_certbot_で証明書取得">certbot で証明書取得</a></h3> + <pre language="shell-session" linenumbering="unnumbered"> + <code>$ docker-compose up -d acme-challenge + $ make setup</code> + </pre> + </section> + + <section id="section--_サーバを稼動させる"> + <h3><a href="#section--_サーバを稼動させる">サーバを稼動させる</a></h3> + <pre language="shell-session" linenumbering="unnumbered"> + <code>$ make serve</code> + </pre> + </section> + </section> + + <section id="section--_感想"> + <h2><a href="#section--_感想">感想</a></h2> + <p> + (業務でなく) 個人だと数年ぶりのサーバセットアップで、これだけでも割と時間を食ってしまった。とはいえ式年遷宮は楽しいので、これからも定期的にやっていきたい。コンテナデプロイにしたい気持ちもあるのだが、色々実験したい関係上、本物のサーバも欲しくはある。次の式年遷宮では、手順の一部だけでも自動化したいところ。 + </p> </section> - <section class="section-1"> - <h2 id="" class="section-header"> - - はじめに - - </h2> - <div class="section-body"> - <div class="paragraph"> -<p>これまでこの blog は GitHub Pages でホストしていたのだが、先日 VPS -に移行した。そのときにおこなったサーバのセットアップ作業を書き残しておく。99 -% 自分用の備忘録。別のベンダに移したりしたくなったら見に来る。</p> -</div> -<div class="paragraph"> -<p>未来の自分へ: 特に自動化してないので、せいぜい苦しんでくれ。</p> -</div> - </div> -</section> -<section class="section-1"> - <h2 id="" class="section-header"> - - VPS - - </h2> - <div class="section-body"> - <div class="paragraph"> -<p><a href="https://vps.sakura.ad.jp/">さくらの VPS</a> の 2 GB -プラン。そこまで真面目に選定していないので、困ったら移動するかも。</p> -</div> - </div> -</section> -<section class="section-1"> - <h2 id="" class="section-header"> - - 事前準備 - - </h2> - <div class="section-body"> - <section class="section-2"> - <h3 id="" class="section-header"> - - サーバのホスト名を決める - - </h3> - <div class="section-body"> - <div class="paragraph"> -<p>モチベーションが上がるという効能がある。今回は藤原定家から取って -``teika'' -にした。たいていいつも源氏物語の帖か小倉百人一首の歌人から選んでいる。</p> -</div> - </div> -</section> -<section class="section-2"> - <h3 id="" class="section-header"> - - SSH の鍵生成 - - </h3> - <div class="section-body"> - <div class="paragraph"> -<p>ローカルマシンで鍵を生成する。</p> -</div> -<div id="source." class="listingblock"> -<div class="content"> -<pre class="rouge highlight"><code data-lang="shell-session"><span class="gp">$</span><span class="w"> </span>ssh-keygen <span class="nt">-t</span> ed25519 <span class="nt">-b</span> 521 <span class="nt">-f</span> ~/.ssh/teika.key -<span class="gp">$</span><span class="w"> </span>ssh-keygen <span class="nt">-t</span> ed25519 <span class="nt">-b</span> 521 <span class="nt">-f</span> ~/.ssh/github2teika.key</code></pre> -</div> -</div> -<div class="paragraph"> -<p><code>teika.key</code> はローカルからサーバへの接続用、<code>github2teika.key</code> -は、GitHub Actions からサーバへのデプロイ用。</p> -</div> - </div> -</section> -<section class="section-2"> - <h3 id="" class="section-header"> - - SSH の設定 - - </h3> - <div class="section-body"> - <div class="paragraph"> -<p><code>.ssh/config</code> に設定しておく。</p> -</div> -<div id="source." class="listingblock"> -<div class="content"> -<pre class="rouge highlight"><code data-lang="ssh_config">Host teika - HostName ********** - User ********** - Port ********** - IdentityFile ~/.ssh/teika.key</code></pre> -</div> -</div> - </div> -</section> - </div> -</section> -<section class="section-1"> - <h2 id="" class="section-header"> - - 基本のセットアップ - - </h2> - <div class="section-body"> - <section class="section-2"> - <h3 id="" class="section-header"> - - SSH 接続 - - </h3> - <div class="section-body"> - <div class="paragraph"> -<p>VPS 契約時に設定した管理者ユーザとパスワードを使ってログインする。</p> -</div> - </div> -</section> -<section class="section-2"> - <h3 id="" class="section-header"> - - ユーザを作成する - - </h3> - <div class="section-body"> - <div class="paragraph"> -<p>管理者ユーザで作業すると危ないので、メインで使うユーザを作成する。<code>sudo</code> -グループに追加して <code>sudo</code> できるようにし、<code>su</code> で切り替え。</p> -</div> -<div id="source." class="listingblock"> -<div class="content"> -<pre class="rouge highlight"><code data-lang="shell-session"><span class="gp">$</span><span class="w"> </span><span class="nb">sudo </span>adduser <span class="k">**********</span> -<span class="gp">$</span><span class="w"> </span><span class="nb">sudo </span>adduser <span class="k">**********</span> <span class="nb">sudo</span> -<span class="gp">$</span><span class="w"> </span>su <span class="k">**********</span> -<span class="gp">$</span><span class="w"> </span><span class="nb">cd</span></code></pre> -</div> -</div> - </div> -</section> -<section class="section-2"> - <h3 id="" class="section-header"> - - ホスト名を変える - - </h3> - <div class="section-body"> - <div id="source." class="listingblock"> -<div class="content"> -<pre class="rouge highlight"><code data-lang="shell-session"><span class="gp">$</span><span class="w"> </span><span class="nb">sudo hostname </span>teika</code></pre> -</div> -</div> - </div> -</section> -<section class="section-2"> - <h3 id="" class="section-header"> - - 公開鍵を置く - - </h3> - <div class="section-body"> - <div id="source." class="listingblock"> -<div class="content"> -<pre class="rouge highlight"><code data-lang="shell-session"><span class="gp">$</span><span class="w"> </span><span class="nb">mkdir</span> ~/.ssh -<span class="gp">$</span><span class="w"> </span><span class="nb">chmod </span>700 ~/.ssh -<span class="gp">$</span><span class="w"> </span>vi ~/.ssh/authorized_keys</code></pre> -</div> -</div> -<div class="paragraph"> -<p><code>authorized_keys</code> には、ローカルで生成した <code>~/.ssh/teika.key.pub</code> と -<code>~/.ssh/github2teika.key.pub</code> の内容をコピーする。</p> -</div> - </div> -</section> -<section class="section-2"> - <h3 id="" class="section-header"> - - SSH の設定 - - </h3> - <div class="section-body"> - <div class="paragraph"> -<p>SSH の設定を変更し、少しでも安全にしておく。</p> -</div> -<div id="source." class="listingblock"> -<div class="content"> -<pre class="rouge highlight"><code data-lang="shell-session"><span class="gp">$</span><span class="w"> </span><span class="nb">sudo cp</span> /etc/ssh/sshd_config /etc/ssh/sshd_config.bak -<span class="gp">$</span><span class="w"> </span><span class="nb">sudo </span>vi /etc/ssh/sshd_config</code></pre> -</div> -</div> -<div class="ulist"> -<ul> -<li> -<p><code>Port</code> を変更</p> -</li> -<li> -<p><code>PermitRootLogin</code> を <code>no</code> に</p> -</li> -<li> -<p><code>PasswordAuthentication</code> を <code>no</code> に</p> -</li> -</ul> -</div> -<div class="paragraph"> -<p>そして設定を反映。</p> -</div> -<div id="source." class="listingblock"> -<div class="content"> -<pre class="rouge highlight"><code data-lang="shell-session"><span class="gp">$</span><span class="w"> </span><span class="nb">sudo </span>systemctl restart sshd -<span class="gp">$</span><span class="w"> </span><span class="nb">sudo </span>systemctl status sshd</code></pre> -</div> -</div> - </div> -</section> -<section class="section-2"> - <h3 id="" class="section-header"> - - SSH で接続確認 - - </h3> - <div class="section-body"> - <div class="paragraph"> -<p>今の SSH -セッションは閉じずに、ターミナルを別途開いて疎通確認する。セッションを閉じてしまうと、SSH -の設定に不備があった場合に締め出しをくらう。</p> -</div> -<div id="source." class="listingblock"> -<div class="content"> -<pre class="rouge highlight"><code data-lang="shell-session"><span class="gp">$</span><span class="w"> </span>ssh teika</code></pre> -</div> -</div> - </div> -</section> -<section class="section-2"> - <h3 id="" class="section-header"> - - ポートの遮断 - - </h3> - <div class="section-body"> - <div class="paragraph"> -<p>デフォルトの 22 番を閉じ、設定したポートだけ空ける。</p> -</div> -<div id="source." class="listingblock"> -<div class="content"> -<pre class="rouge highlight"><code data-lang="shell-session"><span class="gp">$</span><span class="w"> </span><span class="nb">sudo </span>ufw deny ssh -<span class="gp">$</span><span class="w"> </span><span class="nb">sudo </span>ufw allow <span class="k">*******</span> -<span class="gp">$</span><span class="w"> </span><span class="nb">sudo </span>ufw <span class="nb">enable</span> -<span class="gp">$</span><span class="w"> </span><span class="nb">sudo </span>ufw reload -<span class="gp">$</span><span class="w"> </span><span class="nb">sudo </span>ufw status</code></pre> -</div> -</div> -<div class="paragraph"> -<p>ここでもう一度 SSH の接続確認を挟む。</p> -</div> - </div> -</section> -<section class="section-2"> - <h3 id="" class="section-header"> - - GitHub 用の SSH 鍵 - - </h3> - <div class="section-body"> - <div class="paragraph"> -<p>GitHub に置いてある private リポジトリをサーバから clone したいので、SSH -鍵を生成して置いておく。</p> -</div> -<div id="source." class="listingblock"> -<div class="content"> -<pre class="rouge highlight"><code data-lang="shell-session"><span class="gp">$</span><span class="w"> </span>ssh-keygen <span class="nt">-t</span> ed25519 <span class="nt">-b</span> 521 <span class="nt">-f</span> ~/.ssh/github.key -<span class="gp">$</span><span class="w"> </span><span class="nb">cat</span> ~/.ssh/github.key.pub</code></pre> -</div> -</div> -<div class="paragraph"> -<p><a href="https://github.com/settings/ssh">GitHub の設定画面</a> -から、この公開鍵を追加する。</p> -</div> -<div id="source." class="listingblock"> -<div class="content"> -<pre class="rouge highlight"><code data-lang="shell-session"><span class="gp">$</span><span class="w"> </span>vi ~/.ssh/config</code></pre> -</div> -</div> -<div class="paragraph"> -<p>設定はこう。</p> -</div> -<div id="source." class="listingblock"> -<div class="content"> -<pre class="rouge highlight"><code data-lang="ssh_config">Host github.com - HostName github.com - User git - IdentityFile ~/.ssh/github.key</code></pre> -</div> -</div> -<div class="paragraph"> -<p>最後に接続できるか確認しておく。</p> -</div> -<div id="source." class="listingblock"> -<div class="content"> -<pre class="rouge highlight"><code data-lang="shell-session"><span class="go">ssh -T github.com</span></code></pre> -</div> -</div> - </div> -</section> -<section class="section-2"> - <h3 id="" class="section-header"> - - パッケージの更新 - - </h3> - <div class="section-body"> - <div id="source." class="listingblock"> -<div class="content"> -<pre class="rouge highlight"><code data-lang="shell-session"><span class="gp">$</span><span class="w"> </span><span class="nb">sudo </span>apt update -<span class="gp">$</span><span class="w"> </span><span class="nb">sudo </span>apt upgrade -<span class="gp">$</span><span class="w"> </span><span class="nb">sudo </span>apt update -<span class="gp">$</span><span class="w"> </span><span class="nb">sudo </span>apt upgrade -<span class="gp">$</span><span class="w"> </span><span class="nb">sudo </span>apt autoremove</code></pre> -</div> -</div> - </div> -</section> - </div> -</section> -<section class="section-1"> - <h2 id="" class="section-header"> - - サイトホスティング用のセットアップ - - </h2> - <div class="section-body"> - <section class="section-2"> - <h3 id="" class="section-header"> - - DNS に IP アドレスを登録する - - </h3> - <div class="section-body"> - <div class="paragraph"> -<p>このサーバは固定の IP アドレスがあるので、<code>A</code> -レコードに直接入れるだけで済んだ。</p> -</div> - </div> -</section> -<section class="section-2"> - <h3 id="" class="section-header"> - - 使うソフトウェアのインストール - - </h3> - <div class="section-body"> - <div id="source." class="listingblock"> -<div class="content"> -<pre class="rouge highlight"><code data-lang="shell-session"><span class="gp">$</span><span class="w"> </span><span class="nb">sudo </span>apt <span class="nb">install </span>docker docker-compose git make</code></pre> -</div> -</div> - </div> -</section> -<section class="section-2"> - <h3 id="" class="section-header"> - - メインユーザが Docker を使えるように - - </h3> - <div class="section-body"> - <div id="source." class="listingblock"> -<div class="content"> -<pre class="rouge highlight"><code data-lang="shell-session"><span class="go">sudo adduser ********** docker</span></code></pre> -</div> -</div> - </div> -</section> -<section class="section-2"> - <h3 id="" class="section-header"> - - HTTP/HTTPS を通す - - </h3> - <div class="section-body"> - <div class="paragraph"> -<p>80 番と 443 番を空ける。</p> -</div> -<div id="source." class="listingblock"> -<div class="content"> -<pre class="rouge highlight"><code data-lang="shell-session"><span class="gp">$</span><span class="w"> </span><span class="nb">sudo </span>ufw allow 80/tcp -<span class="gp">$</span><span class="w"> </span><span class="nb">sudo </span>ufw allow 443/tcp -<span class="gp">$</span><span class="w"> </span><span class="nb">sudo </span>ufw reload -<span class="gp">$</span><span class="w"> </span><span class="nb">sudo </span>ufw status</code></pre> -</div> -</div> - </div> -</section> -<section class="section-2"> - <h3 id="" class="section-header"> - - リポジトリのクローン - - </h3> - <div class="section-body"> - <div id="source." class="listingblock"> -<div class="content"> -<pre class="rouge highlight"><code data-lang="shell-session"><span class="gp">$</span><span class="w"> </span><span class="nb">cd</span> -<span class="gp">$</span><span class="w"> </span>git clone git@github.com:nsfisis/nsfisis.dev.git -<span class="gp">$</span><span class="w"> </span><span class="nb">cd </span>nsfisis.dev -<span class="gp">$</span><span class="w"> </span>git submodule update <span class="nt">--init</span></code></pre> -</div> -</div> - </div> -</section> -<section class="section-2"> - <h3 id="" class="section-header"> - - certbot で証明書取得 - - </h3> - <div class="section-body"> - <div id="source." class="listingblock"> -<div class="content"> -<pre class="rouge highlight"><code data-lang="shell-session"><span class="gp">$</span><span class="w"> </span>docker-compose up <span class="nt">-d</span> acme-challenge -<span class="gp">$</span><span class="w"> </span>make setup</code></pre> -</div> -</div> - </div> -</section> -<section class="section-2"> - <h3 id="" class="section-header"> - - サーバを稼動させる - - </h3> - <div class="section-body"> - <div id="source." class="listingblock"> -<div class="content"> -<pre class="rouge highlight"><code data-lang="shell-session"><span class="gp">$</span><span class="w"> </span>make serve</code></pre> -</div> -</div> - </div> -</section> - </div> -</section> -<section class="section-1"> - <h2 id="" class="section-header"> - - 感想 - - </h2> - <div class="section-body"> - <div class="paragraph"> -<p>(業務でなく) -個人だと数年ぶりのサーバセットアップで、これだけでも割と時間を食ってしまった。とはいえ式年遷宮は楽しいので、これからも定期的にやっていきたい。コンテナデプロイにしたい気持ちもあるのだが、色々実験したい関係上、本物のサーバも欲しくはある。次の式年遷宮では、手順の一部だけでも自動化したいところ。</p> -</div> - </div> -</section> </div> - </article> </main> <footer class="footer"> |
