Ubuntu18.04でコードサーバーCloudIDEプラットフォームをセットアップする方法[クイックスタート]
序章
code-server は、 Microsoft Visual Studio Code であり、リモートサーバー上で実行され、ブラウザーから直接アクセスできます。 つまり、さまざまなデバイスを使用し、さまざまなオペレーティングシステムを実行し、常に一貫した開発環境を手元に置くことができます。
このチュートリアルでは、Ubuntu 18.04マシンにコードサーバークラウドIDEプラットフォームをセットアップし、Let’sEncryptで保護されたドメインで公開します。 このチュートリアルの詳細については、 Ubuntu18.04でコードサーバーCloudIDEプラットフォームをセットアップする方法を参照してください。
前提条件
-
少なくとも2GBのRAM、rootアクセス、およびsudoの非rootアカウントを備えたUbuntu18.04を実行しているサーバー。 これを設定するには、
Ubuntu18.04[X84Xの初期サーバー設定ガイド]に従ってください。 -
Nginxがサーバーにインストールされています。 これを行う方法のガイドについては、 Ubuntu18.04にNginxをインストールする方法のステップ1から4を完了してください。
-
サーバーを指す、コードサーバーをホストするための完全に登録されたドメイン名。 このチュートリアルでは、
code-server.your-domain
全体を通して。 Namecheap でドメイン名を購入するか、 Freenom で無料でドメイン名を取得するか、選択したドメイン登録事業者を使用できます。 -
次の両方のDNSレコードがサーバー用に設定されています。 それらを追加する方法の詳細については、このDigitalOceanDNSの紹介に従ってください。
- とのAレコード
your-domain
サーバーのパブリックIPアドレスを指します。 - とのAレコード
www.your-domain
サーバーのパブリックIPアドレスを指します。
- とのAレコード
ステップ1—コードサーバーのインストール
コードサーバーのすべてのデータを保存するディレクトリを作成します。
- mkdir ~/code-server
そこに移動します:
- cd ~/code-server
コードサーバーのGithubリリースページにアクセスして、最新のLinuxビルドを選択してください。 以下を使用してダウンロードします。
- wget https://github.com/cdr/code-server/releases/download/2.1692-vsc1.39.2/code-server2.1692-vsc1.39.2-linux-x86_64.tar.gz
アーカイブを解凍します。
- tar -xzvf code-server2.1692-vsc1.39.2-linux-x86_64.tar.gz
コードサーバー実行可能ファイルを含むディレクトリに移動します。
- cd code-server2.1692-vsc1.39.2-linux-x86_64
システム全体でコードサーバー実行可能ファイルにアクセスするには、次のコマンドを使用してコピーします。
- sudo cp code-server /usr/local/bin
コードサーバー用のフォルダーを作成して、ユーザーデータを保存します。
- sudo mkdir /var/lib/code-server
systemdサービスを作成します。 code-server.service
、 の中に /lib/systemd/system
ディレクトリ:
- sudo nano /lib/systemd/system/code-server.service
次の行を追加します。
[Unit]
Description=code-server
After=nginx.service
[Service]
Type=simple
Environment=PASSWORD=your_password
ExecStart=/usr/local/bin/code-server --host 127.0.0.1 --user-data-dir /var/lib/code-server --auth password
Restart=always
[Install]
WantedBy=multi-user.target
--host 127.0.0.1
にバインドしますlocalhost
.--user-data-dir /var/lib/code-server
ユーザーデータディレクトリを設定します。--auth password
パスワードを使用して訪問者を認証する必要があることを指定します。
交換することを忘れないでください your_password
ご希望のパスワードで。
ファイルを保存して閉じます。
コードサーバーサービスを開始します。
- sudo systemctl start code-server
正しく起動していることを確認してください。
- sudo systemctl status code-server
次のような出力が表示されます。
Output● code-server.service - code-server
Loaded: loaded (/lib/systemd/system/code-server.service; disabled; vendor preset: enabled)
Active: active (running) since Mon 2019-12-09 20:07:28 UTC; 4s ago
Main PID: 5216 (code-server)
Tasks: 23 (limit: 2362)
CGroup: /system.slice/code-server.service
├─5216 /usr/local/bin/code-server --host 127.0.0.1 --user-data-dir /var/lib/code-server --auth password
└─5240 /usr/local/bin/code-server --host 127.0.0.1 --user-data-dir /var/lib/code-server --auth password
...
サーバーの再起動後にコードサーバーサービスが自動的に開始するようにします。
- sudo systemctl enable code-server
ステップ2—コードサーバーを公開する
次に、Nginxをコードサーバーのリバースプロキシとして構成します。
作成 code-server.conf
ドメインでコードサーバーを公開するための構成を保存するには:
- sudo nano /etc/nginx/sites-available/code-server.conf
次の行を追加して、必要なディレクティブを使用してサーバーブロックを設定します。
server {
listen 80;
listen [::]:80;
server_name code-server.your_domain;
location / {
proxy_pass http://localhost:8080/;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection upgrade;
proxy_set_header Accept-Encoding gzip;
}
}
交換 code-server.your_domain
目的のドメインでファイルを保存して閉じます。
このサイト構成をアクティブにするには、次のシンボリックリンクを作成します。
- sudo ln -s /etc/nginx/sites-available/code-server.conf /etc/nginx/sites-enabled/code-server.conf
構成の有効性をテストします。
- sudo nginx -t
次の出力が表示されます。
Outputnginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
構成を有効にするには、Nginxを再起動します。
- sudo systemctl restart nginx
ステップ3—ドメインを保護する
次に、Let’sEncryptTLS証明書を使用してドメインを保護します。
Certbotパッケージリポジトリをサーバーに追加します。
- sudo add-apt-repository ppa:certbot/certbot
CertbotとそのNginxプラグインをインストールします。
- sudo apt install python-certbot-nginx
構成、設定 ufw
暗号化されたトラフィックを受け入れるには:
- sudo ufw allow https
出力は次のようになります。
OutputRule added
Rule added (v6)
構成を有効にするために再ロードします。
- sudo ufw reload
出力には次のように表示されます。
OutputFirewall reloaded
コードサーバードメインに移動します。
コードサーバーのパスワードを入力します。 ドメインで公開されているインターフェースが表示されます。
これを保護するには、Certbotを使用してLet’sEncryptTLS証明書をインストールします。
次のコマンドを使用してドメインの証明書をリクエストします。
- sudo certbot --nginx -d code-server.your_domain
緊急通知用の電子メールアドレスを提供し、EFFの利用規約に同意し、すべてのHTTPトラフィックをHTTPSにリダイレクトするかどうかを決定します。
出力は次のようになります。
OutputIMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/code-server.your_domain/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/code-server.your_domain/privkey.pem
Your cert will expire on ... To obtain a new or tweaked
version of this certificate in the future, simply run certbot again
with the "certonly" option. To non-interactively renew *all* of
your certificates, run "certbot renew"
...
CertbotはTLS証明書を正常に生成し、ドメインのNginx構成に適用しました。
結論
これで、Ubuntu 18.04サーバーにインストールされ、ドメインで公開され、Let’sEncrypt証明書を使用して保護された多用途のクラウドIDEであるコードサーバーができました。 詳細については、 Visual Studio Codeのドキュメントを参照して、コードサーバーの他のコンポーネントの追加機能と詳細な手順を確認してください。