WordPressでのテーマやプラグインのインストール時、ファイル転送を効率化するためのFTPサーバー設定が必要です。本記事では、Ubuntuサーバーに独自のFTPサーバーを立ち上げ、WordPress内から利用する方法について詳しく解説します。初期設定から具体的な設定手順まで初心者にもわかりやすく、最新情報を踏まえた構成でご紹介します。
本記事の読者層は以下の方を想定しています。
- WordPress初心者で、安全なファイル転送方法を学びたい方
- 自社運営サイトのセキュリティを高めたいウェブ担当者
- サーバー管理初心者で、プロセスの一部を詳しく知りたい方
WordPressで独自FTPサーバーを構築する理由
WordPressの管理画面では、直接サーバーにアクセスしてファイルをアップロード・更新するために、FTPサーバーが必要になります。FTP (File Transfer Protocol) は、ファイル転送の標準プロトコルで、WordPressにおけるテーマやプラグインの「自動更新」を可能にします。FTPを利用することで、サーバーへの直接的なアクセスが可能になり、更新作業を効率化できるのが特徴です。
FTPの基礎知識とWordPressでの活用
FTPはサーバーとクライアント間でファイルを転送するためのプロトコルです。WordPressでは、サーバーがWordPressの本体と同一である場合、ホスト名を「localhost」に設定し、WordPressからのFTP接続を確立します。次に示すように、WordPressとFTPを連携するための基本情報が必要です。
初期の設定時に、「プラグインを更新」において、下記のFTPの接続情報を入力する画面が現れます。
ここで、WordPressからFTPサーバーを設定するために以下のように設定します。
- ホスト名:
localhost
- FTPユーザー名:
guest
- FTPパスワード: 作成時に設定したパスワード
FTPサーバーのインストールと設定
Pサーバーの導入には「ProFTPD」を使用します。ProFTPDは、安定性と信頼性が高く、初心者にも比較的簡単に扱えるFTPサーバーです。
今回使用したソフト:「ProFTPD 1.3.3」
PRoFTPDのリンクはこちら → ProFTPD
インストールには、ターミナルから以下のコマンドでインストールします。
$sudo apt-get install Proftpd
その後、スタンドアローン型にてして、誓約書に了解して終了。 Ubuntu 18.04 LTS以降でも問題なく作動しました。
ProFTPDの設定
ProFTPDの設定ファイル(/etc/proftpd/proftpd.conf
)を編集し、FTPサーバーの動作を制御します。例えば、特定のディレクトリのみにアクセスを制限したり、ログの記録場所を指定するなど、セキュリティと利便性を確保するための調整が可能です。
DefaultRoot /home/ftpusers ftpusers
SystemLog /var/log/proftpd/proftpd.log
ftpusersでログイン制限
ftpusersがftpusersフォルダ内でしかアクセス権がないように設定するには、以下のproftpd.conf
内で
#
# /etc/proftpd/proftpd.conf -- This is a basic ProFTPD configuration file.
# To really apply changes, reload proftpd after modifications, if
# it runs in daemon mode. It is not required in inetd/xinetd mode.
#
# Includes DSO modules
Include /etc/proftpd/modules.conf
# Set off to disable IPv6 support which is annoying on IPv4 only boxes.
UseIPv6 on
# If set on you can experience a longer connection delay in many cases.
IdentLookups off
ServerName "Debian"
ServerType standalone
DeferWelcome off
MultilineRFC2228 on
DefaultServer on
ShowSymlinks on
TimeoutNoTransfer 600
TimeoutStalled 600
TimeoutIdle 1200
DisplayLogin welcome.msg
DisplayChdir .message true
ListOptions "-l"
DenyFilter \*.*/
# Use this to jail all users in their homes
# DefaultRoot
最後の”DefaultRoot”をコメントアウトして、以下の行を追加します。
DefaultRoot /home/ftpusers ftpusers ←にて制限します。
またシステムのログファイル場所は↓
SystemLog /var/log/proftpd/proftpd.log
FTPユーザーの作成
ProFTPDでは、FTPユーザーを作成し、適切な権限を付与します。以下のコマンドで、新規ユーザーguest
を作成し、パスワードを設定します。
# 'guest' ユーザー追加
$sudo useradd guest
# 'guest' ユーザーのパスワード変更
sudo passwd guest
新しい UNIX パスワードを入力してください:
新しい UNIX パスワードを再入力してください:
passwd: パスワードは正しく更新されました
で「guest」ユーザーと「pass」が作成されます。
Proftpdサービスを再起動
$service proftpd restart
のコマンドは、ProFTPDサービスを再起動するために使用されます。今回のように、設定ファイルの変更後に新しい設定を適用するサービスの再起動は以下のように再起動しておきます。
$usermod -m -d /var/www/ guest
$service proftpd restart
このコマンドで、ProFTPDが適切に再起動され、最新の設定が反映されます。
ちなみに、$usermod -m -d /var/www/ guest
コマンドは、Linuxシステムでユーザーのホームディレクトリを変更するために使用されます。具体的には、guest
ユーザーのホームディレクトリを /var/www/
に変更し、-m
オプションを指定することで、元のホームディレクトリから新しいディレクトリにファイルを移動するように設定しておきます。
- usermod: ユーザーの情報を変更するためのコマンド。
- -m: ユーザーのホームディレクトリを変更する際に、ファイルを新しいホームディレクトリに移動するオプション。
- -d /var/www/: 新しいホームディレクトリとして /var/www/ を指定。
- guest: ホームディレクトリを変更する対象のユーザー名。
Proftpdのサービスの起動と確認
FTPサーバーが正常に動作していることを確認するために、サービスを起動します。WordPressの自動更新や新規テーマ・プラグインのインストールが行える状態になります。
$ sudo /etc/init.d/proftpd start
[ ok ] Starting proftpd (via systemctl): proftpd.service.
補足ではありますが、「停止コマンド」並びに、「再起動コマンド」は以下の通りです。
$ sudo /etc/init.d/proftpd stop
[ ok ] Stopping proftpd (via systemctl): proftpd.service.
$ sudo /etc/init.d/proftpd restart
[ ok ] Restarting proftpd (via systemctl): proftpd.service.
これでWordPress側でアップデートや新規テーマやプラグインのインストールができるようになります。
まとめ
WordPressでのFTP設定は、テーマやプラグインの管理をスムーズに行うために重要な手順です。本記事の重要ポイントは以下のとおりです。
- WordPressでFTP設定を行い、テーマ・プラグインの自動更新を可能にする。
- ProFTPDの導入とユーザー設定で、セキュリティを確保しながら効率的に運用できる。
- 初心者でも簡単に設定できる具体的な手順を提供。
次回の記事をご期待下さい。どうぞよろしくお願いいたします。
コメント