CentOS 7にApacheをインストールする方法
CentOS 7サーバーにApache 2.4をインストールする方法を説明します。安定したウェブサーバーを構築するための前提条件と手順を解説します。
GoCDは、オープンソースの継続的デリバリーおよび自動化システムです。並列および順次実行を使用して、複雑なワークフローをモデル化できます。バリューストリームマップにより、複雑なワークフローを簡単に視覚化できます。GoCDを使用すると、2つのビルドを簡単に比較して、必要なアプリケーションの任意のバージョンをデプロイできます。GoCDエコシステムは、GoCDサーバーとGoCDエージェントで構成されています。GoCDは、Webベースのユーザーインターフェースの実行、エージェントへのジョブの管理と提供など、すべての制御を担当します。Goエージェントは、ジョブとデプロイメントの実行を担当します。
このチュートリアルでは192.168.1.1
、パブリックIPアドレスおよびgocd.example.com
Vultrインスタンスを指すドメイン名として使用し ます。サンプルのドメイン名とIPアドレスをすべて実際のものに置き換えてください。
How to Update Ubuntu 16.04のガイドを使用してベースシステムを更新します。システムが更新されたら、Javaのインストールに進みます。
GoCDはJavaバージョン8を必要とし、Oracle JavaとOpenJDKの両方をサポートします。Oracle Java 8のUbuntuリポジトリを追加します。
sudo add-apt-repository --yes ppa:webupd8team/java
sudo apt update
Oracle Javaをインストールします。
sudo apt -y install oracle-java8-installer
バージョンを確認してください。
java -version
次の出力が表示されます。
user@vultr:~$ java -version
java version "1.8.0_161"
Java(TM) SE Runtime Environment (build 1.8.0_161-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode)
次のパッケージをインストールして、Javaのデフォルトパスを設定します。
sudo apt -y install oracle-java8-set-default
がJAVA_HOME
実行されていることを確認できます。
echo $JAVA_HOME
見えます。
user@vultr:~$ echo $JAVA_HOME
/usr/lib/jvm/java-8-oracle
出力がまったく表示されない場合は、現在のシェルからログアウトして、再度ログインする必要があります。
GoCDの公式リポジトリをシステムにインストールします。
echo "deb https://download.gocd.org /" | sudo tee /etc/apt/sources.list.d/gocd.list
curl https://download.gocd.org/GOCD-GPG-KEY.asc | sudo apt-key add -
sudo apt update
システムにGoCDサーバーをインストールします。
sudo apt install -y go-server
GoCDを起動して、起動時に自動的に起動するようにします。
sudo systemctl start go-server
sudo systemctl enable go-server
GoCDダッシュボードにアクセスする前に、アーティファクトを保存するための新しいディレクトリを作成しましょう。アーティファクトは、オペレーティングシステムとアプリケーションがインストールされているのと同じディスクに保存できます。または、専用のディスクまたはブロックストレージドライブを使用してアーティファクトを保存することもできます。
同じディスクを使用してアーティファクトを保存する場合は、新しいディレクトリを作成し、GoCDユーザーに所有権を提供します。
sudo mkdir /opt/artifacts
sudo chown -R go:go /opt/artifacts
GoCDソフトウェアでは、追加のパーティションまたはドライブを使用してアーティファクトを保存することをお勧めします。継続的な統合および配信プラットフォームでは、アーティファクトが非常に頻繁に生成されます。新しいアーチファクトが継続的に生成されると、時間の経過とともにディスク領域が減少します。ある段階で、システムの空きディスク領域が不足し、システムで実行されているサービスが失敗します。この問題を解決するには、新しいVultrブロックストレージドライブを接続して、アーティファクトを保存します。同じドライブにアーティファクトを保存する場合は、「GoCDの構成」セクションに進んでください。
新しいブロックストレージドライブ を展開し、GoCDサーバーインスタンスに接続します。次に、ブロックストレージデバイスに新しいパーティションを作成します。
sudo parted -s /dev/vdb mklabel gpt
sudo parted -s /dev/vdb unit mib mkpart primary 0% 100%
新しいディスクにファイルシステムを作成します。
sudo mkfs.ext4 /dev/vdb1
ブロックストレージドライブをマウントします。
sudo mkdir /mnt/artifacts
sudo cp /etc/fstab /etc/fstab.backup
echo "
/dev/vdb1 /mnt/artifacts ext4 defaults,noatime 0 0" | sudo tee -a /etc/fstab
sudo mount /mnt/artifacts
ここで実行するdf
と、にマウントされた新しいブロックストレージドライブが表示され /mnt/artifacts
ます。
[user@vultr ~]$ df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/vda1 20616252 6313892 13237464 33% /
...
/dev/vdb1 10188052 36888 9610596 1% /mnt/artifacts
GoCDユーザーにディレクトリの所有権を提供します。
sudo chown -R go:go /mnt/artifacts
これで、GoCDダッシュボードにアクセスできます http://192.168.1.1:8153
。保護された接続でGoCDダッシュボードにアクセスするには、にアクセスします https://192.168.1.1:8154
。証明書が無効であることを示すエラーが表示されます。証明書は自己署名されているため、エラーを無視しても問題ありません。セキュリティ上の理由から、常に安全な接続でダッシュボードを使用する必要があります。
新しいパイプラインを設定する前にAdmin >> Server Configuration
、上部のナビゲーションバーから「」に移動します。
「Site URL
」フィールドに保護されていないサイトへのURLを入力し、「」フィールドに保護されたサイトを入力しますSecure Site URL
。
次に、GoCDから電子メール通知を送信するためのSMTPサーバーの詳細を入力します。
最後に、アーティファクトを保存する場所へのパスを指定します。オペレーティングシステムと同じディスクにアーティファクトを保存することを選択した場合は、と入力し /opt/artifacts
ます。ブロックストレージドライブの接続を選択した場合は、と入力できます /mnt/artifacts
。
古いアーティファクトを自動削除するようにGoCDを構成することもできます。ディスクサイズに応じて次のオプションを構成します。ただし、自動削除オプションでは、古いアーティファクトのバックアップは作成されません。手動でバックアップを作成してから古いアーティファクトを削除するには、「Never
」オプションの「」オプションを選択して自動削除を無効にしAuto delete old artifacts
ます。
新しい変更を適用するには、GoCDサーバーを再起動する必要があります。
sudo systemctl restart go-server
デフォルトでは、GoCDダッシュボードはどのような種類の認証も使用するように構成されていませんが、パスワードファイルとLDAPを使用した認証をサポートしています。このチュートリアルでは、パスワードベースの認証を設定します。
注: 認証の設定はオプションのステップですが、Vultrなどの公開サーバーには強く推奨されます。
htpasswd
コマンドを使用して暗号化されたパスワードファイルを作成できるように、Apacheツールをインストールし ます。
sudo apt -y install apache2-utils
htpasswd
Bcrypt暗号化を使用するコマンドでパスワードファイルを作成します 。
sudo htpasswd -B -c /etc/go/passwd_auth goadmin
ユーザーのパスワードを2回入力します。次の出力が表示されます。
[user@vultr ~]$ sudo htpasswd -B -c /etc/go/passwd_auth goadmin
New password:
Re-type new password:
Adding password for user goadmin
上記と同じコマンドを使用して、必要な数のユーザーを追加できますが、-c
オプションは削除し ます。この -c
オプションは、既存のファイルを置き換え、古いユーザーを新しいユーザーに置き換えます。
sudo htpasswd -B /etc/go/passwd_auth gouser1
パスワードファイルを作成したので、もう一度GoCDダッシュボードにアクセスします。Admin >> Security >> Authorization Configurations
上部のナビゲーションバーから「」に移動します。ボタンをクリックして、 Add
IDを入力します。Password File Authentication Plugin for GoCD
プラグインIDとして「」を選択し、パスワードファイルへのパスを指定します。次に、「Check Connection
」ボタンをクリックして、GoCDが認証にパスワードファイルを使用できることを確認します。
最後に、認証方法を保存します。ダッシュボードをリロードすると、自動的にログアウトされます。ログイン画面が表示されます。以前に作成した資格情報を使用してログインします。
管理者ユーザーを手動で昇格する必要があります。そうしないと、すべてのユーザーに管理者権限が付与されます。Admin >> User Summary
上部のナビゲーションバーから「」に移動します。
次に、作成した管理者ユーザーを選択して、「Roles
」ドロップダウンをクリックします。「Go System Administrator
」チェックボックスを選択して、ユーザーを唯一の管理者に昇格させます。
パスワードファイルに作成されたGoCDのユーザーを追加するには、[] ADD
ボタンをクリックして、追加するユーザーを検索します。また、ユーザーは最初のログイン時にGoCDダッシュボードに自動的に追加されます。明らかに、ユーザーがログインするには、前に作成したパスワードファイルに追加する必要があります。
デフォルトでは、GoCDはポート8153
と 8154
安全な接続をリッスンします 。ポート 8154
はアプリケーションへの安全な接続を提供しますが、自己署名証明書を使用するため、ブラウザエラーも表示します。チュートリアルのこのセクションでは、Nginxをインストールして、Let's Encryptの無料SSL証明書で保護します。Nginxウェブサーバーは、着信リクエストをGoCDのHTTP
エンドポイントに転送するリバースプロキシとして機能し ます。
Nginxをインストールします。
sudo apt -y install nginx
Nginxを起動し、起動時に自動的に起動するようにします。
sudo systemctl start nginx
sudo systemctl enable nginx
Certbotリポジトリを追加します。
sudo add-apt-repository --yes ppa:certbot/certbot
sudo apt-get update
Let's Encrypt CAのクライアントアプリケーションであるCertbotをインストールします。
sudo apt -y install certbot
注: Let's Encrypt CAから証明書を取得するには、証明書を生成するドメインをサーバーに向ける必要があります。そうでない場合は、ドメインのDNSレコードに必要な変更を加え、DNSが伝播するのを待ってから、証明書要求を再度行ってください。証明書ボットは、証明書を提供する前にドメイン認証局をチェックします。
SSL証明書を生成します。
sudo certbot certonly --webroot -w /var/www/html -d gocd.example.com
生成された証明書は、おそらくに保存され /etc/letsencrypt/live/gocd.example.com/
ます。SSL証明書はとして保存され fullchain.pem
、秘密鍵はとして保存され privkey.pem
ます。
証明書を暗号化しましょう90日で有効期限が切れるので、cronジョブを使用して証明書の自動更新を設定することをお勧めします。
cronジョブファイルを開きます。
sudo crontab -e
ファイルの最後に次の行を追加します。
30 5 * * * /usr/bin/certbot renew --quiet
上記のcronジョブは、毎日午前5時30分に実行されます。証明書の有効期限が切れる場合は、自動的に更新されます。
GoCD Webインターフェース用の新しい構成ファイルを作成します。
sudo nano /etc/nginx/sites-available/gocd
ファイルに入力します。
upstream gocd {
server 127.0.0.1:8153;
}
server {
listen 80;
server_name gocd.example.com;
return 301 https://$host$request_uri;
}
server {
listen 443;
server_name gocd.example.com;
ssl_certificate /etc/letsencrypt/live/gocd.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/gocd.example.com/privkey.pem;
ssl on;
ssl_session_cache builtin:1000 shared:SSL:10m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
ssl_prefer_server_ciphers on;
access_log /var/log/nginx/gocd.access.log;
location / {
proxy_pass http://gocd;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_redirect off;
}
location /go {
proxy_pass http://gocd/go;
proxy_http_version 1.1;
proxy_set_header Upgrade websocket;
proxy_set_header Connection upgrade;
proxy_read_timeout 86400;
}
}
構成ファイルをアクティブにします。
sudo ln -s /etc/nginx/sites-available/gocd /etc/nginx/sites-enabled/gocd
Nginx Webサーバーを再起動して、構成の変更を実装します。
sudo systemctl restart nginx
これで、GoCDダッシュボードにアクセスできます https://gocd.example.com
。管理者の資格情報を使用してダッシュボードにログインしAdmin >> Server Configuration
、上部のナビゲーションバーから「」に移動します。
「Site URL
」と「Secure Site URL
」をに設定し https://gocd.example.com
ます。
GoCD継続的統合環境では、GoCDエージェントはすべてのタスクの実行を担当するワーカーです。ソースの変更が検出されると、パイプラインがトリガーされ、実行可能なジョブにジョブが割り当てられます。次に、エージェントはタスクを実行し、実行後の最終ステータスを報告します。
パイプラインを実行するには、少なくとも1つのエージェントを構成する必要があります。GoCDサーバーへのGoCDエージェントのインストールに進みます。
GoCDリポジトリはサーバーにすでにインポートされているため、Go Agentを直接インストールできます。
sudo apt install -y go-agent
GoCDサーバーを起動し、起動時に自動的に起動するようにします。
sudo systemctl start go-agent
sudo systemctl enable go-agent
ローカルホストで実行されているGoCDエージェントは、検出されると自動的に有効になります。
CentOS 7サーバーにApache 2.4をインストールする方法を説明します。安定したウェブサーバーを構築するための前提条件と手順を解説します。
FreeBSD 11.1におけるBlacklistdのインストール方法について詳しく解説します。この方法を通じて、強力なセキュリティ対策を実装できます。
サーバーマネージャーを使用して、Windows Serverの管理が向上します。セキュリティリスクを軽減し、効率的な管理を実現します。
CentOS 7にSeafileサーバーをインストールする方法。Seafile(コミュニティバージョン)は、ownCloudに似た無料のオープンソースファイル同期および共有ソリューションです。
Snortは無料のネットワーク侵入検知システムです。最新の方法で、SnortをDebianにインストールし、設定する手順を紹介します。ネットワークのセキュリティを強化しましょう。
CentOS 7にGraylogサーバーをインストールし、ログ管理を行う方法を学びます。
WindowsサーバーでWebサイトを実行している場合、電子メールも受信できるようにするためにhMailServerを使用する方法を解説します。
FiveMサーバーをUbuntu 19.04にインストールするための詳細なガイド。必要条件からインストール、起動、トラブルシューティングまで、すべてのステップを含みます。
Debian 10にWebDAVをデプロイする方法を学び、WsgiDAVとSSL証明書で安全な接続を実現しましょう。
ヘルスケアにおけるAIは、過去数十年から大きな飛躍を遂げました。したがって、ヘルスケアにおけるAIの未来は、日々成長を続けています。