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 | 106 |
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> |
