aboutsummaryrefslogtreecommitdiffhomepage
path: root/public/posts/2022-10-28/setup-server-for-this-site/index.html
diff options
context:
space:
mode:
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.html106
1 files changed, 33 insertions, 73 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 6e002c3..71c6e44 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
@@ -73,10 +73,8 @@
ローカルマシンで鍵を生成する。
</p>
- <pre class="highlight" 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>
+ <pre class="highlight" 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 からサーバへのデプロイ用。
@@ -89,13 +87,11 @@
<code>.ssh/config</code>に設定しておく。
</p>
- <pre class="highlight" language="ssh_config" linenumbering="unnumbered">
- <code>Host teika
+ <pre class="highlight" language="ssh_config" linenumbering="unnumbered"><code>Host teika
HostName **********
User **********
Port **********
- IdentityFile ~/.ssh/teika.key</code>
- </pre>
+ IdentityFile ~/.ssh/teika.key</code></pre>
</section>
</section>
@@ -114,28 +110,22 @@
管理者ユーザで作業すると危ないので、メインで使うユーザを作成する。<code>sudo</code>グループに追加して<code>sudo</code>できるようにし、<code>su</code>で切り替え。
</p>
- <pre class="highlight" language="shell-session" linenumbering="unnumbered">
- <code>$ sudo adduser **********
+ <pre class="highlight" language="shell-session" linenumbering="unnumbered"><code>$ sudo adduser **********
$ sudo adduser ********** sudo
$ su **********
- $ cd</code>
- </pre>
+ $ cd</code></pre>
</section>
<section id="section--_ホスト名を変える">
<h3><a href="#section--_ホスト名を変える">ホスト名を変える</a></h3>
- <pre class="highlight" language="shell-session" linenumbering="unnumbered">
- <code>$ sudo hostname teika</code>
- </pre>
+ <pre class="highlight" language="shell-session" linenumbering="unnumbered"><code>$ sudo hostname teika</code></pre>
</section>
<section id="section--_公開鍵を置く">
<h3><a href="#section--_公開鍵を置く">公開鍵を置く</a></h3>
- <pre class="highlight" language="shell-session" linenumbering="unnumbered">
- <code>$ mkdir ~/.ssh
+ <pre class="highlight" language="shell-session" linenumbering="unnumbered"><code>$ mkdir ~/.ssh
$ chmod 700 ~/.ssh
- $ vi ~/.ssh/authorized_keys</code>
- </pre>
+ $ vi ~/.ssh/authorized_keys</code></pre>
<p>
<code>authorized_keys</code>には、ローカルで生成した<code>~/.ssh/teika.key.pub</code>と<code>~/.ssh/github2teika.key.pub</code>の内容をコピーする。
@@ -148,10 +138,8 @@
SSH の設定を変更し、少しでも安全にしておく。
</p>
- <pre class="highlight" 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>
+ <pre class="highlight" 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>
<ul>
<li>
@@ -177,10 +165,8 @@
そして設定を反映。
</p>
- <pre class="highlight" language="shell-session" linenumbering="unnumbered">
- <code>$ sudo systemctl restart sshd
-$ sudo systemctl status sshd</code>
- </pre>
+ <pre class="highlight" language="shell-session" linenumbering="unnumbered"><code>$ sudo systemctl restart sshd
+$ sudo systemctl status sshd</code></pre>
</section>
<section id="section--_ssh_で接続確認">
@@ -189,9 +175,7 @@ $ sudo systemctl status sshd</code>
今の SSH セッションは閉じずに、ターミナルを別途開いて疎通確認する。セッションを閉じてしまうと、SSH の設定に不備があった場合に締め出しをくらう。
</p>
- <pre class="highlight" language="shell-session" linenumbering="unnumbered">
- <code>$ ssh teika</code>
- </pre>
+ <pre class="highlight" language="shell-session" linenumbering="unnumbered"><code>$ ssh teika</code></pre>
</section>
<section id="section--_ポートの遮断">
@@ -200,13 +184,11 @@ $ sudo systemctl status sshd</code>
デフォルトの 22 番を閉じ、設定したポートだけ空ける。
</p>
- <pre class="highlight" language="shell-session" linenumbering="unnumbered">
- <code>$ sudo ufw deny ssh
+ <pre class="highlight" language="shell-session" linenumbering="unnumbered"><code>$ sudo ufw deny ssh
$ sudo ufw allow *******
$ sudo ufw enable
$ sudo ufw reload
- $ sudo ufw status</code>
- </pre>
+ $ sudo ufw status</code></pre>
<p>
ここでもう一度 SSH の接続確認を挟む。
@@ -219,48 +201,38 @@ $ sudo systemctl status sshd</code>
GitHub に置いてある private リポジトリをサーバから clone したいので、SSH 鍵を生成して置いておく。
</p>
- <pre class="highlight" language="shell-session" linenumbering="unnumbered">
- <code>$ ssh-keygen -t ed25519 -b 521 -f ~/.ssh/github.key
-$ cat ~/.ssh/github.key.pub</code>
- </pre>
+ <pre class="highlight" 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 href="https://github.com/settings/ssh">GitHub の設定画面</a>から、この公開鍵を追加する。
</p>
- <pre class="highlight" language="shell-session" linenumbering="unnumbered">
- <code>$ vi ~/.ssh/config</code>
- </pre>
+ <pre class="highlight" language="shell-session" linenumbering="unnumbered"><code>$ vi ~/.ssh/config</code></pre>
<p>
設定はこう。
</p>
- <pre class="highlight" language="ssh_config" linenumbering="unnumbered">
- <code>Host github.com
+ <pre class="highlight" language="ssh_config" linenumbering="unnumbered"><code>Host github.com
HostName github.com
User git
-IdentityFile ~/.ssh/github.key</code>
- </pre>
+IdentityFile ~/.ssh/github.key</code></pre>
<p>
最後に接続できるか確認しておく。
</p>
- <pre class="highlight" language="shell-session" linenumbering="unnumbered">
- <code>ssh -T github.com</code>
- </pre>
+ <pre class="highlight" language="shell-session" linenumbering="unnumbered"><code>ssh -T github.com</code></pre>
</section>
<section id="section--_パッケージの更新">
<h3><a href="#section--_パッケージの更新">パッケージの更新</a></h3>
- <pre class="highlight" language="shell-session" linenumbering="unnumbered">
- <code>$ sudo apt update
+ <pre class="highlight" language="shell-session" linenumbering="unnumbered"><code>$ sudo apt update
$ sudo apt upgrade
$ sudo apt update
$ sudo apt upgrade
- $ sudo apt autoremove</code>
- </pre>
+ $ sudo apt autoremove</code></pre>
</section>
</section>
@@ -275,16 +247,12 @@ IdentityFile ~/.ssh/github.key</code>
<section id="section--_使うソフトウェアのインストール">
<h3><a href="#section--_使うソフトウェアのインストール">使うソフトウェアのインストール</a></h3>
- <pre class="highlight" language="shell-session" linenumbering="unnumbered">
- <code>$ sudo apt install docker docker-compose git make</code>
- </pre>
+ <pre class="highlight" 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 class="highlight" language="shell-session" linenumbering="unnumbered">
- <code>sudo adduser ********** docker</code>
- </pre>
+ <pre class="highlight" language="shell-session" linenumbering="unnumbered"><code>sudo adduser ********** docker</code></pre>
</section>
<section id="section--_httphttps_を通す">
@@ -293,37 +261,29 @@ IdentityFile ~/.ssh/github.key</code>
80 番と 443 番を空ける。
</p>
- <pre class="highlight" language="shell-session" linenumbering="unnumbered">
- <code>$ sudo ufw allow 80/tcp
+ <pre class="highlight" language="shell-session" linenumbering="unnumbered"><code>$ sudo ufw allow 80/tcp
$ sudo ufw allow 443/tcp
$ sudo ufw reload
- $ sudo ufw status</code>
- </pre>
+ $ sudo ufw status</code></pre>
</section>
<section id="section--_リポジトリのクローン">
<h3><a href="#section--_リポジトリのクローン">リポジトリのクローン</a></h3>
- <pre class="highlight" language="shell-session" linenumbering="unnumbered">
- <code>$ cd
+ <pre class="highlight" 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>
+ $ git submodule update --init</code></pre>
</section>
<section id="section--_certbot_で証明書取得">
<h3><a href="#section--_certbot_で証明書取得">certbot で証明書取得</a></h3>
- <pre class="highlight" language="shell-session" linenumbering="unnumbered">
- <code>$ docker-compose up -d acme-challenge
- $ make setup</code>
- </pre>
+ <pre class="highlight" 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 class="highlight" language="shell-session" linenumbering="unnumbered">
- <code>$ make serve</code>
- </pre>
+ <pre class="highlight" language="shell-session" linenumbering="unnumbered"><code>$ make serve</code></pre>
</section>
</section>