サーバ構築・管理

AWS EC2でサーバを構築 2 – 各種インストール編

AWSのEC2でセキュアなサーバ構築をするシリーズその2です。各種アプリケーションをインストールします。

記事一覧

  1. Amazon Linux 2 準備編
  2. 各種インストール編
  3. Apache + Let's Ecnrypt + PHP-FPM編 (脆弱性診断「A+」を狙う)
  4. Nginx + Let's Ecnrypt + PHP-FPM編 (脆弱性診断「A+」を狙う)
  5. MySQL + phpMyAdmin
  6. PostfixとDovecot (SSL対応とSPAM対策)
  7. セキュリティ対策

概要

サーバアプリケーションを中心に各種インストールを行います。

設定は次回以降の記事で行います。

ApahceとSSL

ウェブサーバにNginxを使用する場合は読み飛ばしてください。

SSL証明書取得用にLet's Ecnryptのcertbotもインストールします。

yum install httpd mod_ssl certbot
systemctl enable httpd

NginxとSSL

ウェブサーバにApacheを使用する場合は読み飛ばしてください。

EPELにもNginxはありますが、AWSなのでamazon-linux-extraからインストールします。

SSL証明書取得用にLet's Ecnryptのcertbotもインストールします。

amazon-linux-extras install nginx1
yum install certbot
systemctl enable nginx

PHP-FPMとモジュール

Apache Event MPM、またはNginxで動かすためモジュール版PHPは使いません。

amazon-linux-extras install php7.3
yum install php-opcache php-apcu php-mbstring php-xml php-xmlrpc php-gd php-pecl-mcrypt php-pecl-imagick-devel php-pecl-imagick php-pecl-zip ImageMagick-devel
systemctl enable php-fpm

MySQL

RHEL系でデフォルトのMariaDBは使いません。コミュニティのリポジトリからMySQLをインストールします。

yum localinstall https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
yum-config-manager --disable mysql80-community
yum-config-manager --enable mysql57-community
yum install mysql-community-server
systemctl enable mysqld

phpMyAdmin

EPELからのyumインストールは依存関係で失敗するため公式サイトのソースからインストールします。

cd /var/www/html/dev.netartz.com/public_html
wget https://files.phpmyadmin.net/phpMyAdmin/5.0.2/phpMyAdmin-5.0.2-all-languages.tar.gz
tar zxf phpMyAdmin-5.0.2-all-languages.tar.gz
rm -f phpMyAdmin-5.0.2-all-languages.tar.gz
mv phpMyAdmin-5.0.2-all-languages phpmyadmin



Postfix

インストールしなくても最初から入っています。有効化しておきます。

systemctl enable postfix

Dovecot

インストールして有効化します。

yum install dovecot
systemctl enable dovecot

Node.js

EPELのNode.jsは6系と古いので、NodeSourceからLTSな12系をインストールします。

curl -sL https://rpm.nodesource.com/setup_12.x | bash -
yum install nodejs

有効化して使用する場合は以下を実行しておきます。

systemctl enable nodejs
systemctl start nodejs

Docker

ローカルで使用することが多いですが、自分の場合はサーバ側にも必要だったため一応インストールおきます。

不要な場合はインストールしなくてOKです。インストールだけして有効化しない手もあります。

yum install docker

有効化して使用する場合は以下も実行しておきます。

systemctl enable docker
systemctl start docker

docker-compose

amazon-linux-extraのリポジトリからdocker-composeをインストールできないので手動でインストールします。

curl -L "https://github.com/docker/compose/releases/download/1.25.4/docker-compo
se-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

バージョンを1.25.4と指定しているのは、ローカルの開発環境と合わせるためです。

Fail2ban / Logwatch

ログ監視とセキュリティ対策のためにインストールします。

yum install fail2ban logwatch
systemctl enable fail2ban
ABOUT ME
りゅう・д・
愛知のWeb系エンジニア/クリエイターです。 サーバ構築・管理からシステム開発、Webデザイン、WordPress構築からヘルプデスクまで、割と手広く手掛けています。

COMMENT

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です