owned mediaウェブ制作に役立つコンテンツを発信中!

CentOS8 + Apache + Nginx + MariaDBでVPSサーバーに環境構築をする(#9:各種ツールのインストール)

最終更新日: Update!!
これまで複数回にわたってVPSサーバーの環境構築に関する記事を公開してきましたが、これが最終となります。今回はGitやFTPサーバー、CMSといった便利な各種ツールをインストールしてみたいと思います。 (こちらの記事も合わせてどうぞ) ・CentOS8 + Apache + Nginx + MariaDBでVPSサーバーに環境構築をする(#1:サーバーの契約・OSのインストール) ・CentOS8 + Apache + Nginx + MariaDBでVPSサーバーに環境構築をする(#2:SSH・公開鍵認証の設定) ・CentOS8 + Apache + Nginx + MariaDBでVPSサーバーに環境構築をする(#3:ウェブサーバー・PHPのインストール) ・CentOS8 + Apache + Nginx + MariaDBでVPSサーバーに環境構築をする(#4:DBサーバー・phpMyAdminのインストール) ・CentOS8 + Apache + Nginx + MariaDBでVPSサーバーに環境構築をする(#5:バーチャルホストの設定) ・CentOS8 + Apache + Nginx + MariaDBでVPSサーバーに環境構築をする(#6:リバースプロキシサーバーの導入) ・CentOS8 + Apache + Nginx + MariaDBでVPSサーバーに環境構築をする(#7:SSL証明書のインストールと設定) ・CentOS8 + Apache + Nginx + MariaDBでVPSサーバーに環境構築をする(#8:その他サーバー内での設定)  
1. Gitのインストール
ウェブ開発に欠かせないGitですが、ローカルでの開発はもちろんのこと、本番へのデプロイもGitを使うと便利ですね。環境によってはすでに含まれている場合もありますが、バージョンを確認してGitがインストールされているかをチェックしてみます。
# git --version
git version 2.18.4
  もしインストールがされていない場合には下記のコマンドでGitをインストールしていきます。
# dnf install -y git
  Gitのインストールができたら、下記のコマンドでGitの初期設定を行います。
# git config --global user.name "USERNAME"
# git config --global user.email "EMAILADDRESS"
  先ほどの設定内容を下記のコマンドで確認してみます。
# git config --list
user.name=USERNAME
user.email=EMAILADDRESS
  これでGitが使える準備ができました。すでにGithubなどにリモートリポジトリがある場合には、対象となるドキュメントルートに移動した上でクローンをしてみましょう。(一般ユーザーで実行しても良い)
$ cd /var/www/html/DERECTORYNAME
$ git clone https://github.com/[USER]/[REPOSITORY].git
   
2. FTPサーバーのインストール
Gitを使う場合にはあまり利用用途はないかもしれませんが、あるとFTPでのアップロードができるので便利ですね。まずは下記コマンドでvsftpdをインストールしていきます。
# dnf install -y vsftpd
Installed:
  ..............
Complete!
  「/etc/vsftpd/」に移動し、設定ファイルとなる「vsftpd.conf」のバックアップを取ってエディタで編集していきます。
# cd /etc/vsftpd/
# cp vsftpd.conf vsftpd.conf.copy 
# vim vsftpd.conf
  設定ファイルは具体的に下記の場所を編集していきます。 【etc/vsftpd/vsftpd.conf】
// 匿名ユーザーのログイン無効化
anonymouns_enable=YES
→ anonymouns_enable=NO

// FTPのコマンドログを出力
xferlog_std_format=YES
→ xferlog_std_format=NO
(追加)log_ftp_protocol=YES

// ASCIIモード転送の有効化
#ascii_upload_enable=YES
→ ascii_upload_enable=YES
#ascii_download_enable=YES
→ ascii_download_enable=YES

// FTP接続時のバナー表示
#ftpd_banner=Welcome to blash FTP service.
→ ftpd_banner=Welcome to blash FTP service.

// 上位ディレクトリ参照の有効化
#chroot_local_user=YES
→ chroot_local_user=YES
#chroot_list_enable=YES
→ chroot_list_enable=YES
#chroot_list_file=/etc/vsftpd/chroot_list
→ chroot_list_file=/etc/vsftpd/chroot_list

// ls -R コマンドの使用可
#ls_recurse_enable=YES
→ ls_recurse_enable=YES

// ローカルタイムの適用
(追加)use_localtime=YES

// リスト内のユーザーにアクセスを限定
(追加)userlist_deny=NO

// パッシブモードの有効化
(追加)pasv_promiscuous=YES
(追加)pasv_min_port=50000
(追加)pasv_max_port=50030

// SSL通信の設定
(追加)rsa_cert_file=/etc/pki/tls/certs/vsftpd.pem
(追加)ssl_enable=YES
(追加)ssl_ciphers=HIGH

// 書き込み可能でもchrootを使えるようにする
allow_writeable_chroot=YES

// FTPユーザーのルートディレクトリ指定
local_root=/var/www/html
  編集後ファイルを保存したら「/etc/pki/tls/certs/」に移動し、下記コマンドで「vsftpd.pem」という証明書を作成していきます。
# cd /etc/pki/tls/certs/
# openssl req -x509 -nodes -newkey rsa:2048 -keyout /etc/pki/tls/certs/vsftpd.pem -out /etc/pki/tls/certs/vsftpd.pem
  コマンドを実行すると質問が表示されるので、下記のように質問に答えていくと証明書ファイルが作成できます。
Country Name:JP(国名)
State or Province Name:osaka(都道府県名)
Locality Name:osakacity(市区町村名)
Organization Name:designsupply(組織名)
Organizational Unit Name:development(所属部署名)
Common Name:[NAME](名前もしくはサーバーホスト名)
Email Address:[MAILADDRESS](メールアドレス)
  ここまで出来たら下記コマンドでvsftpdを起動し、ステータスも合わせて確認しておきます。
# systemctl start vsftpd
# systemctl status vsftpd
vsftpd.service - Vsftpd ftp daemon
............
Active: active (running)
  続いて、vsftpdの自動起動設定を行い、設定されているかも確認します。
# systemctl enable vsftpd
Created symlink from ........
# systemctl list-unit-files | grep vsftpd
............
vsftpd.service enabled
  次はFTP用のユーザーを作成していきます。まずは「/etc/vsftpd/」配下に「chroot_list」ファイルを下記コマンドで作成(中身は空でOK)します。
# cd /etc/vsftpd/
# vim chroot_list
  下記コマンドでFTPユーザーを新規作成し、パスワードを設定していきます。
# useradd [USERNAME]
# passwd [USERNAME]
New password: [PASSWORD]
Retype new password: [PASSWORD]
  「/etc/vsftpd/」に移動し「user_list」ファイルをエディタで開き、下記のように先ほど作成したFTPユーザー名を追記して保存します。
# cd /etc/vsftpd/
# vim user_list
  user_listファイル内には次のようにFTPユーザー名を追記します。 【etc/vsftpd/user_list】
# If userlist_deny=NO, only allow users in this file
# If userlist_deny=YES (default), never allow users in this file, and
# do not even prompt for a password.
# Note that the default vsftpd pam config also checks /etc/vsftpd/ftpusers
# for users that are denied.
............
[USERNAME]
  ここまできたらFTPサーバー自体の設定は完了です。下記コマンドでvsftpdを再起動させて設定を反映させましょう。
# systemctl restart vsftpd
  次にFTP接続firewall設定を行い、FTPのポートを解放していきます。
# firewall-cmd --add-service=ftp --zone=public --permanent
# firewall-cmd --add-port=20-21/tcp --zone=public --permanent
# firewall-cmd --add-port=50000-50030/tcp --zone=public --permanent
success
  firewalldを再読み込みして先ほどの変更を反映させます。
# firewall-cmd --reload
success
  FTPのポート番号が解放されているかをリストで確認します。
# firewall-cmd --list-all
..............
services: cockpit dhcpv6-client ftp http https ssh
ports: 56789/tcp 20-21/tcp 50000-50030/tcp
..............
  これで外部からサーバーへのFTP通信ができるようになりました。FTPクライアントツールでFTP接続し、ファイルの転送ができるかを確認してみましょう。 ホストアドレス:サーバーIPアドレス ユーザー名:FTPユーザー名 パスワード:FTPユーザーのパスワード プロトコル:FTP over TLS  
3. CMS(WordPress)のインストールとセットアップ
メディアサイトやブログに限らず、いろんなウェブサイトでCMSが利用されています。その中でもWordPressは最もシェアが大きいCMSです。ウェブサーバーとデータベース、PHPが利用できる環境であれば、インストールからセットアップもすぐに完了します。まずはphpMyAdminにログインするなどして、WordPress用のデータベースを新規作成します。任意のデータベース名を入力し、照合順序では「utf8mb4_general_ci」を選択してデータベースを作成します。   次にドキュメントルート配下にWordPressのインストール用ディレクトリを作成し、その中に移動したのち下記のコマンドで指定のバージョンのWordPressをダウンロードします。
$ cd /var/www/html/
$ mkdir wordpress
$ cd wordpress/
$ wget https://ja.wordpress.org/latest-ja.tar.gz
  圧縮ファイルがダウンロードされたら下記のコマンドで解凍し、WordPressファイル群ができたことを確認します。(デフォルトではwordpressフォルダ内に展開されるので適宜移動させる)
$ tar -xzvf latest-ja.tar.gz
  ファイル展開後は圧縮ファイル自体は不要になるので削除しておきます。
$ rm latest-ja.tar.gz
  「http://IPアドレス/wordpressのインストールディレクトリ」にアクセスし、WordPressのセットアップ画面が表示されるかを確認し、画面に沿ってWordPressのインストールとセットアップを進めていきます。   ※サーバー移転時などに行うhosts設定で、新しい方のサーバーのIPアドレスに既存ドメインを紐付けた際に、Google Chromeではアクセスするとhttpsに強制リダイレクトされることがあるようです。セキュリティの仕様らしく、証明書を入れてSSLに対応させるか、Firefoxなどの別のブラウザで対応することが可能です。  
  このようにVPSサーバーは手軽に自分好みの環境を構築することができます。これ以外にもいろんなツールを導入することで様々なことができるようになりますね。レンタルサーバーには無いメリットを感じるために是非試してみてはいかがでしょうか。
  • はてなブックマーク
  • Pocket
  • Linkedin
  • Feedly

この記事を書いた人

Twitter

sponserd

    keyword search

    recent posts

    • Twitter
    • Github
    contact usscroll to top
      • Facebook
      • Twitter
      • Github
      • Instagram