ファイルの所有権と権限の設定
ここでは、Adobe Commerceをインストールする前に、web サーバーグループに読み取り/書き込み権限を設定する方法について説明します。 これは、コマンドラインがファイルをファイルシステムに書き込めるようにするために必要です。
使用する手順は、を使用するかによって異なります 共有ホスティング ユーザーが 1 人いる、または プライベートサーバー とに 2 人のユーザーがいます。
共有ホスティングでの 1 人のユーザーに対する権限の設定
この項では、Web サーバーも実行するユーザーと同じユーザーとしてアプリケーション・サーバーにログインする場合に、インストール前の権限を設定する方法について説明します。 このタイプの設定は、共有ホスティング環境で一般的です。
アプリケーションをインストールする前に権限を設定するには、次の手順に従います。
-
アプリケーションサーバーにログインします。
-
共有ホスティング プロバイダが提供するファイル マネージャ アプリケーションを使用して、書き込みアクセス許可が次のディレクトリに設定されていることを確認します。
vendor
(Composer または圧縮アーカイブのインストール)app/etc
pub/static
var
generated
- その他の静的リソース
-
コマンドラインでアクセスできる場合は、次のコマンドを表示されている順序で入力します。
code language-bash cd <app_root>
code language-bash find var generated vendor pub/static pub/media app/etc -type f -exec chmod u+w {} +
code language-bash find var generated vendor pub/static pub/media app/etc -type d -exec chmod u+w {} +
code language-bash chmod u+x bin/magento
オプションですべてのコマンドを 1 行で入力するには、アプリケーションが次の場所にインストールされていると仮定して、次のように入力します
/var/www/html/magento2
:code language-bash cd /var/www/html/magento2 && find var generated vendor pub/static pub/media app/etc -type f -exec chmod u+w {} + && find var generated vendor pub/static pub/media app/etc -type d -exec chmod u+w {} + && chmod u+x bin/magento
-
まだ行っていない場合は、次のいずれかの方法でアプリケーションを取得します。
-
ファイルシステムの所有権と権限を設定したら、 アプリケーションのインストール
2 人のユーザーの所有権と権限の設定
この節では、独自のサーバーまたはプライベートホスティング設定の所有権と権限を設定する方法について説明します。 このタイプの設定では、通常、 できません web サーバーユーザーとしてログインするか、に切り替えます。 通常は、1 人のユーザーとしてログインし、別のユーザーとして web サーバーを実行します。
2 ユーザー・システムの所有権および権限を設定するには、次の手順に従います。
次のタスクを、表示されている順序で実行します。
共有グループについて
Web サーバーがファイル・システムにファイルとディレクトリを書き込めるようにし、さらにメンテナンスできるようにする場合 所有権 ファイルシステムの所有者は、両方のユーザーが同じグループに属している必要があります。 これは、両方のユーザーがファイル(管理者またはその他の web ベースのユーティリティを使用して作成されたファイルを含む)に対してアクセスを共有するために必要です。
この節では、ファイルシステムの所有者を作成し、そのユーザーを web サーバーのグループに追加する方法について説明します。 必要に応じて、既存のユーザーアカウントを使用できます。セキュリティ上の理由から、ユーザーには強力なパスワードを使用することをお勧めします。
ファイルシステムの所有者を作成し、強力なパスワードをユーザーに付与します。
このセクションでは、ファイルシステムの所有者を作成する方法について説明します。 (ファイル・システムの所有者は、 コマンドラインユーザー.)
CentOS または Ubuntu でユーザーを作成するには、ユーザーとして次のコマンドを入力します。 root
権限:
adduser <username>
ユーザーにパスワードを付与するには、ユーザーとして次のコマンドを入力します。 root
権限:
passwd <username>
画面の指示に従って、ユーザーのパスワードを作成します。
root
アプリケーションサーバー上の権限。別のローカルユーザーアカウントを使用できます。 ユーザーに強力なパスワードが設定されていることを確認して、に進みます ファイルシステムの所有者を web サーバーグループに追加します。.例えば、という名前のユーザーを作成するには、次のように指定します magento_user
ユーザーにパスワードを入力し、次のように入力します。
sudo adduser magento_user
sudo passwd magento_user
Web サーバーユーザーグループの検索
Web サーバーユーザーのグループを見つけるには:
-
CentOS:
code language-bash grep -E -i '^user|^group' /etc/httpd/conf/httpd.conf
または
code language-bash grep -Ei '^user|^group' /etc/httpd/conf/httpd.conf
通常、ユーザー名とグループ名は両方とも指定します apache
.
- Ubuntu:
ps aux | grep apache
Apache ユーザーを探すには、次の手順を実行します。groups <apache user>
グループを検索します。
通常、ユーザー名とグループ名は両方とも指定します www-data
.
ファイルシステムの所有者を web サーバーグループに追加します。
ファイルシステムの所有者を web サーバーのプライマリグループに配置するには(CentOS と Ubuntu の一般的な Apache グループ名を想定)、次のコマンドをユーザーとして入力します。 root
権限:
- CentOS:
usermod -a -G apache <username>
- Ubuntu:
usermod -a -G www-data <username>
-a -G
オプションは、次の点を追加するため重要です apache
または www-data
as a 2 次 ユーザーアカウントにグループ化します。これにより、ユーザーの プライマリ グループ。 ユーザーアカウントへのセカンダリグループの追加は役に立ちます ファイルの所有権と権限の制限 共有グループのメンバーが特定のファイルにのみアクセスできるようにします。例えば、ユーザーを追加するには、次のコマンドを実行します magento_user
に apache
centOS のプライマリグループ:
sudo usermod -a -G apache magento_user
ユーザーが web サーバーグループのメンバーであることを確認するには、次のコマンドを入力します。
groups magento_user
次のサンプル結果は、ユーザーのプライマリ (magento
)とセカンダリ (apache
) グループ。
magento_user : magento_user apache
タスクを完了するには、web サーバーを再起動します。
- Ubuntu:
service apache2 restart
- CentOS:
service httpd restart
ソフトウェアの入手
まだ行っていない場合は、次のいずれかの方法でソフトウェアを入手します。
共有グループの所有権と権限の設定
アプリケーションをインストールする前に所有権と権限を設定するには、次の手順に従います。
-
ファイルシステムの所有者としてアプリケーションサーバーにログインするか、所有者に切り替えます。
-
次のコマンドを表示されている順序で入力します。
code language-bash cd <app_root>
code language-bash find var generated vendor pub/static pub/media app/etc -type f -exec chmod g+w {} +
code language-bash find var generated vendor pub/static pub/media app/etc -type d -exec chmod g+ws {} +
code language-bash chown -R :<web server group> .
code language-bash chmod u+x bin/magento
オプションですべてのコマンドを 1 行で入力するには、アプリケーションが次の場所にインストールされていると仮定して、次のように入力します /var/www/html/magento2
web サーバーグループ名はです。 apache
:
cd /var/www/html/magento2 && find var generated vendor pub/static pub/media app/etc -type f -exec chmod g+w {} + && find var generated vendor pub/static pub/media app/etc -type d -exec chmod g+ws {} + && chown -R :apache . && chmod u+x bin/magento
ファイルシステムの権限が不適切に設定され、ファイルシステムの所有者が変更できない場合は、 root
権限:
cd /var/www/html/magento2 && sudo find var generated vendor pub/static pub/media app/etc -type f -exec chmod g+w {} + && sudo find var generated vendor pub/static pub/media app/etc -type d -exec chmod g+ws {} + && sudo chown -R :apache . && sudo chmod u+x bin/magento
ファイルシステムの所有者に切り替える
このトピックの他のタスクを実行した後、次のいずれかのコマンドを入力してそのユーザーに切り替えます。
- Ubuntu:
su <username>
- CentOS:
su - <username>
以下に例を挙げます。
su magento_user