MENU
  • ファンブリューについて
    • 会社概要
    • ファンブリューの目的
    • 開発会社としての強み
    • 営業日・営業時間
  • 事業内容
    • ITサポート
    • ウェブサイト制作
    • システム開発
    • フリーランス転向支援
  • 対応エリア
  • FAQ
  • パートナー募集
    • フリーランスエンジニアの方のパートナーとして
    • 制作会社さまのITパートナーとして
  • お問い合わせ
  • イベント
  • 記事一覧
  • 採用
FUNBREW
あなたの会社のIT顧問
  • ファンブリューについて
    • 会社概要
    • ファンブリューの目的
    • 開発会社としての強み
    • 営業日・営業時間
  • 事業内容
    • ITサポート
    • ウェブサイト制作
    • システム開発
    • フリーランス転向支援
  • 対応エリア
  • FAQ
  • パートナー募集
    • フリーランスエンジニアの方のパートナーとして
    • 制作会社さまのITパートナーとして
  • お問い合わせ
  • イベント
  • 記事一覧
  • 採用
FUNBREW
  • ファンブリューについて
    • 会社概要
    • ファンブリューの目的
    • 開発会社としての強み
    • 営業日・営業時間
  • 事業内容
    • ITサポート
    • ウェブサイト制作
    • システム開発
    • フリーランス転向支援
  • 対応エリア
  • FAQ
  • パートナー募集
    • フリーランスエンジニアの方のパートナーとして
    • 制作会社さまのITパートナーとして
  • お問い合わせ
  • イベント
  • 記事一覧
  • 採用

Laravel ForgeでSFTPの設定をする

2023 5/12
技術ブログ
2023年3月2日2023年5月12日

Laravel ForgeでFTPを使いたくなり、調べたことをメモしています。

まずはForgeを使うにあたって、初期構築時に通知されたsudoパスワードを控えておきます。

またサーバーOSはUbuntu 22.04で検証しています。

SFTPの設定にあたっては、下記の記事を参考にさせていただきました。

https://chaingng.github.io/post/sftp_chroot/

目次

サーバーのユーザーを作成する

まずはユーザーを作成します。

デフォルトではforgeユーザーしかいませんので、FTP専用のユーザーを作ります。

adduserコマンドではプロンプトが出てしまうので、以下のようにするとスクリプト化するときに便利です。

sudo adduser --disabled-password --gecos "" username

鍵の設定をする

作成したユーザーをSSHでアクセスできるように鍵の設定をします。

sudo mkdir /home/username/.ssh
sudo touch /home/username/.ssh/authorized_keys

authorize_keysに公開鍵を登録しましょう。

ここまでで、sshコマンドを使ってログインができるようになります。

SFTPの設定をする

chrootを利用するため、新しく作成したホームディレクトリの所有権をrootに変更します。

またパーミッションの変更を行います。

sudo chown root:root /home/username
sudo chmod 655 /home/username

今回はSFTPを使いたいので、SSHでアクセスできないようにします。

/etc/ssh/sshd_config で次のように追記します。

Match User username
  ChrootDirectory /home/%u
  ForceCommand internal-sftp

sshdの設定を反映させます。

sudo systemctl restart sshd

SSHで接続できないことを確認します。

This service allows sftp connections only.
Connection to xxx.xxx.xxx.xxx closed.

Filezillaなどを使って、SFTPでログインできることを確認します。

静的ファイルディレクトリを設定する

まずはLaravelのpublicフォルダにディレクトリを作成します。

次の例ではlpというディレクトリを作成して、新しいユーザーの所有権に変更しています。

mkdir /home/forge/your_laravel_app/public/lp
sudo chown username.username /home/forge/your_laravel_app/public/lp

FTPソフトから見えるようにするため、新しいユーザーのホームに空のディレクトリを作り、そこに先ほどLaravel側に作成したディレクトリをマウントをします。

sudo mkdir /home/username/lp
sudo mount --bind /home/forge/your_laravel_app/public/lp /home/username/lp
技術ブログ
  • Laravel Forgeを使ってLaravelと静的サイトを同居させる
  • Laravel Forgeの開発でdevドメインをSSL化する方法

金井 泰樹のアバター 金井 泰樹 FUNBREW代表

FUNBREWの代表。
新卒からIT系の企業に勤め、SES、スマホアプリ開発、自社開発の会社で経験を積んで独立。
新卒時代にエンジニアとしてのキャリアを積むのに失敗し、その後に苦労した経験から、現在教育事業の立ち上げを準備中。
強みはウェブシステム開発全般と迅速なレスポンスです。

この著者の記事一覧へ

関連記事

  • FlutterFlowのメリットとデメリットについて。ノーコードツールとして使えるか
    2023年9月28日
  • 【2023年8月現在】現在のローコード最強のツールはBudibaseか
    2023年8月31日
  • 【2023年8月現在】ローコードのNocoDBは使えるプロダクトなのか
    2023年8月28日
  • MacのPostgresqlでpsql: error: connection to server on socket “/tmp/.s.PGSQL.5432” failed:が出た時
    2023年8月12日
  • DockerのMySQLでAnother process with pid xx is using unix socket file.が出た時の対処法
    2023年7月31日
  • PeerTubeで管理者パスワードをリセットする方法
    2023年7月30日
  • Laravelでroutesのweb.phpファイルを分ける方法
    2023年7月9日
  • Macでシミュレーターを起動する方法
    2023年6月19日
  1. ホーム
  2. 技術ブログ
  3. Laravel ForgeでSFTPの設定をする

© FUNBREW

目次