GNU/Linux >> Linux の 問題 >  >> Rocky Linux

Rocky Linux / AlmaLinux8でNginxとPHP-FPMを使用してLaravelBagistoをセットアップする方法

このガイドでは、Nginxを使用してLaravel Bagistoを構成し、データソースとしてMariaDBを使用してPHP-FPMを構成する方法を学習します。

関連コンテンツ:

  • Mysql8をRockyLinux/Centos8にインストールする方法

目次

  1. サーバーパッケージが最新であることを確認します
  2. Selinuxを無効にする
  3. Mariadbのインストール
  4. Bagisto用のMysqlユーザーの作成
  5. RockyLinux8へのPHP7.4のインストール
  6. RockyLinux8へのnginxのインストール
  7. BagistoのPHPおよびphp-fpm構成を編集する
  8. php-fpmサービスの開始と有効化
  9. phpコンポーザーのインストール
  10. Bagistoをダウンロードして構成する
  11. 仮想ホストからBagostoにサービスを提供するようにNginxを構成します
  12. WebURLからBagistoにアクセスする

1。サーバーパッケージが最新であることを確認してください

次のコマンドを使用して、サーバーパッケージが最新であることを確認しましょう。

sudo dnf -y update

必要となる一般的なパッケージをインストールします

sudo dnf install -y git unzip vim

タイムゾーンも設定します

sudo timedatectl set-timezone Africa/Nairobi

2。 SELinuxを無効にする

次に、SELinuxを無効にしましょう。 SELinuxをpermisiveに設定します。このファイルを編集します:

sudo vim /etc/selinux/config

次に、この行を更新します:

SELINUX=permisive

再起動せずに変更がすぐに適用されるようにするには、次のコマンドを使用します。

setenforce 0

3。 Mariadbのインストール

Mariadbは、人気のあるオープンソースのリレーショナル管理システムです。デフォルトのリポジトリでは、mariadb-serverとして利用できます。 。

次のコマンドでインストールします:

sudo dnf install -y mariadb-server

mariadbをインストールしたら、次のコマンドを使用して詳細を確認できます:

$ rpm -qi mariadb-server
Name        : mariadb-server
Epoch       : 3
Version     : 10.3.28
Release     : 1.module+el8.4.0+427+adf35707
Architecture: x86_64
Install Date: Mon 10 Jan 2022 11:09:11 PM EAT
Group       : Unspecified
Size        : 85968333
License     : GPLv2 with exceptions and LGPLv2 and BSD
Signature   : RSA/SHA256, Mon 31 May 2021 03:18:29 AM EAT, Key ID 15af5dac6d745a60
Source RPM  : mariadb-10.3.28-1.module+el8.4.0+427+adf35707.src.rpm
Build Date  : Mon 31 May 2021 02:56:08 AM EAT
Build Host  : ord1-prod-x86build003.svc.aws.rockylinux.org
Relocations : (not relocatable)
Packager    : [email protected]
Vendor      : Rocky
URL         : http://mariadb.org
Summary     : The MariaDB server and related files
Description :
MariaDB is a multi-user, multi-threaded SQL database server. It is a
client/server implementation consisting of a server daemon (mysqld)
and many different client programs and libraries. This package contains
the MariaDB server and some accompanying files and directories.
MariaDB is a community developed branch of MySQL.

デフォルトでは、サービスは開始されません。次のコマンドで開始します:

sudo systemctl start mariadb

次のコマンドでステータスを確認します:

$ sudo systemctl status mariadb
● mariadb.service - MariaDB 10.3 database server
   Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled)
   Active: active (running) since Tue 2022-01-11 05:58:54 UTC; 7min ago
     Docs: man:mysqld(8)
           https://mariadb.com/kb/en/library/systemd/
 Main PID: 40293 (mysqld)
   Status: "Taking your SQL requests now..."
    Tasks: 30 (limit: 23176)
   Memory: 83.8M
   CGroup: /system.slice/mariadb.service
           └─40293 /usr/libexec/mysqld --basedir=/usr

Jan 11 05:58:54 rockysrv.citizix.com mysql-prepare-db-dir[40191]: See the MariaDB Knowledgebase at http://mariadb.com/kb or the
Jan 11 05:58:54 rockysrv.citizix.com mysql-prepare-db-dir[40191]: MySQL manual for more instructions.
Jan 11 05:58:54 rockysrv.citizix.com mysql-prepare-db-dir[40191]: Please report any problems at http://mariadb.org/jira
Jan 11 05:58:54 rockysrv.citizix.com mysql-prepare-db-dir[40191]: The latest information about MariaDB is available at http://mariadb.org/.
Jan 11 05:58:54 rockysrv.citizix.com mysql-prepare-db-dir[40191]: You can find additional information about the MySQL part at:
Jan 11 05:58:54 rockysrv.citizix.com mysql-prepare-db-dir[40191]: http://dev.mysql.com
Jan 11 05:58:54 rockysrv.citizix.com mysql-prepare-db-dir[40191]: Consider joining MariaDB's strong and vibrant community:
Jan 11 05:58:54 rockysrv.citizix.com mysql-prepare-db-dir[40191]: https://mariadb.org/get-involved/
Jan 11 05:58:54 rockysrv.citizix.com mysqld[40293]: 2022-01-11  5:58:54 0 [Note] /usr/libexec/mysqld (mysqld 10.3.28-MariaDB) starting as process 40293 ...
Jan 11 05:58:54 rockysrv.citizix.com systemd[1]: Started MariaDB 10.3 database server.

mariadbが起動時に起動するようにするには、次のsystemdコマンドでmariadbを有効にします。

sudo systemctl enable mariadb

mysqlサービスが実行されたら、それを保護する必要があります。 Mysqlはそれを行うコマンドラインユーティリティを提供します:

sudo mysql_secure_installation

上記のコマンドは、mysqlインスタンスのrootパスワードを保護および設定するためのプロンプトを表示します。

Rocky Linuxでmariadbをインストールして構成する方法の詳細については、Rocky Linux / AlmaLinux8でMariadb10をインストールして構成する方法を確認してください。

4。 Bagistoのmysqlユーザーの作成

DBに接続するアプリごとに専用のユーザーを用意することを常にお勧めします。 mysql権限の管理に関するこのガイドをここで確認してください。 nextcloudで使用するデータベース、ユーザー、パスワードを設定します:

mysqlサーバーに接続します:

mysql -u root -p

ルートパスワードを入力した後、mysqlプロンプトに次のように入力します。

create database bagisto;
create user 'bagisto_user'@'%' identified by 'S0mStrongPa$$word';
grant all privileges on bagisto.* to 'bagisto_user'@'%';

mysql接続を構成したので、次のセクションに進み、PHPとNginxをインストールして構成します。

5。 RockyLinuxへのPHP7.4のインストール

BagistoはPHP7.4で正常に動作します。 RockyLinuxのデフォルトのphpバージョンは古くなっている可能性があります。 PHPのバージョンを制御するには、次のコマンドを使用してremiリリースリポジトリをインストールします。

sudo dnf install http://rpms.remirepo.net/enterprise/remi-release-8.rpm

phpのバージョン7.4を有効にする

sudo dnf module enable -y php:remi-7.4

次のコマンドを使用して、正しいバージョンが有効になっていることを確認できます。

sudo dnf module list php

次に、phpと依存関係をインストールします

sudo dnf install -y php \
    php-cli \
    php-common \
    php-fpm \
    php-intl \
    php-gd \
    php-zip \
    php-mysql

PHPのバージョンを確認する

$ php -v
PHP 7.4.27 (cli) (built: Dec 14 2021 17:17:06) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Zend OPcache v7.4.27, Copyright (c), by Zend Technologies

PHPとNginxのセットアップの詳細については、このガイドを確認してください。Rocky Linux / Alma Linux 8にPHPとNginx(LEMP)をインストールしてセットアップする方法

6。 RockyLinux8へのNginxのインストール

次に、システムにNginxをインストールしましょう。このコマンドを使用してnginxをインストールします

sudo dnf install -y nginx

Nginxはデフォルトでは起動されません。次のコマンドで開始します:

sudo systemctl start nginx

次のコマンドを使用してステータスを確認します:

$ sudo systemctl status nginx
● nginx.service - The nginx HTTP and reverse proxy server
   Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)
   Active: active (running) since Tue 2022-01-11 06:15:10 UTC; 6s ago
  Process: 42317 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS)
  Process: 42315 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS)
  Process: 42313 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS)
 Main PID: 42318 (nginx)
    Tasks: 3 (limit: 23176)
   Memory: 5.5M
   CGroup: /system.slice/nginx.service
           ├─42318 nginx: master process /usr/sbin/nginx
           ├─42319 nginx: worker process
           └─42320 nginx: worker process

Jan 11 06:15:10 rockysrv.citizix.com systemd[1]: Starting The nginx HTTP and reverse proxy server...
Jan 11 06:15:10 rockysrv.citizix.com nginx[42315]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
Jan 11 06:15:10 rockysrv.citizix.com nginx[42315]: nginx: configuration file /etc/nginx/nginx.conf test is successful
Jan 11 06:15:10 rockysrv.citizix.com systemd[1]: Started The nginx HTTP and reverse proxy server.

Active: active (running) サービスが現在稼働中であることを示します。

起動時にサービスを有効にするには、次のコマンドを使用します:

sudo systemctl enable nginx

7。 BagistoのPHPおよびphp-fpmConfigを編集します

php設定を更新して、アプリ用に最適化します。

phpiniファイルを開きます

sudo vim /etc/php.ini

次に、これらの設定を表示されている値に変更します。自分に合うようにタイムゾーンを更新します。

memory_limit = 2G
max_execution_time = 360
date.timezone = Africa/Nairobi
cgi.fix_pathinfo=0

次に、php-fpm設定を編集しましょう。

sudo vim /etc/php-fpm.d/www.conf

次に、これらの値を更新します

user = nginx
group = nginx

listen.owner = nginx
listen.group = nginx
listen.mode = 0660

8。 php-fpmサービスの開始と有効化

php-fpmサービスはデフォルトでは開始されません。次のコマンドの使用を開始します:

sudo systemctl start php-fpm

ステータスを確認して確認します:

$ sudo systemctl status php-fpm
● php-fpm.service - The PHP FastCGI Process Manager
   Loaded: loaded (/usr/lib/systemd/system/php-fpm.service; disabled; vendor preset: disabled)
   Active: active (running) since Tue 2022-01-11 09:22:55 EAT; 31s ago
 Main PID: 43022 (php-fpm)
   Status: "Processes active: 0, idle: 5, Requests: 0, slow: 0, Traffic: 0req/sec"
    Tasks: 6 (limit: 23176)
   Memory: 16.0M
   CGroup: /system.slice/php-fpm.service
           ├─43022 php-fpm: master process (/etc/php-fpm.conf)
           ├─43023 php-fpm: pool www
           ├─43024 php-fpm: pool www
           ├─43025 php-fpm: pool www
           ├─43026 php-fpm: pool www
           └─43027 php-fpm: pool www

Jan 11 09:22:55 rockysrv.citizix.com systemd[1]: Starting The PHP FastCGI Process Manager...
Jan 11 09:22:55 rockysrv.citizix.com php-fpm[43022]: [11-Jan-2022 09:22:55] WARNING: [pool www] ACL set, listen.owner = 'nginx' is ignored
Jan 11 09:22:55 rockysrv.citizix.com php-fpm[43022]: [11-Jan-2022 09:22:55] WARNING: [pool www] ACL set, listen.group = 'nginx' is ignored
Jan 11 09:22:55 rockysrv.citizix.com systemd[1]: Started The PHP FastCGI Process Manager.

起動時にサービスを開始できるようにする

sudo systemctl enable php-fpm

9。 phpComposerのインストール

Composerは依存関係の管理に使用されます

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === '906a84df04cea2aa72f40b5f787e49f22d4c2f19492ac310e8cba5b96ac8b64115ac402c8cd292b8a03482574915d1a8') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"

ダウンロードしたpharファイルをbinに移動します

sudo mv composer.phar /usr/local/bin/composer

10。 Bagistoをダウンロードして構成する

システムでLEMPサーバーを正常に構成したので、Bagistoをダウンロードしてセットアップします。 Bagistoの最新バージョンはダウンロードページから入手できます。次のコマンドを使用して、ターミナルでBagistoをダウンロードおよび抽出します。

cd /tmp
curl -LO https://github.com/bagisto/bagisto/archive/refs/tags/v1.3.3.tar.gz
tar -xzvf v1.3.3.tar.gz

抽出したコンテンツを/var/ wwwに移動し、nginxで提供できるようにします

sudo mv bagisto-1.3.3/ /var/www/bagisto

ディレクトリに切り替え、composerを使用して依存関係をインストールします

cd /var/www/bagisto
sudo /usr/local/bin/composer install

Nginxがコンテンツを所有していることを確認してください

sudo chown -R nginx.nginx /var/www/bagisto/

11。仮想ホストからBagistoにサービスを提供するようにNginxを構成します

NextCloudコンテンツを/var/www/bagistoにダウンロードすることができました 。次は、Nginxをセットアップして提供します。

nginxがコンテンツを提供するディレクトリに仮想サイトを作成しましょう。/etc/nginx/conf.d

sudo vim /etc/nginx/conf.d/bagisto.conf

これが機能するためには、使用されるDNSレコードがサーバーIPにマップされていることを確認してください。

次のコンテンツを追加します:

server {
    listen 80;
    server_tokens off;
    client_max_body_size 100M;
    server_name bagisto.citizix.com;

    root /var/www/bagisto/public;
    index index.php;

    if ($host !~* ^(bagisto.citizix.com)$) {
        return 444;
    }

    location / {
        proxy_read_timeout 600;
        proxy_connect_timeout 600;
        proxy_send_timeout 600;
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ \.php$ {
        fastcgi_index index.php;
        include /etc/nginx/fastcgi_params;
        fastcgi_pass unix:/run/php-fpm/www.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
}

上記の変更が行われたら、nginxサーバーとphp-fomサーバーを再起動する必要があります。これを実現するには、ターミナルでこれらのコマンドを使用します。

sudo systemctl restart php-fpm nginx

12。 WebURLからBagistoにアクセスする

次に、設定したドメインに移動します。http://bagisto.citizix.com/ 私にとって。

サーバー構成、環境構成、データベース構成について説明します。それが完了したら、インストールを開始できます。最後に、管理者を作成し、SMTP構成を追加します。

結論

このガイドでは、BagistoeComerceプラットフォームにサービスを提供するためにLEMPスタックを設定することができました。


Rocky Linux
  1. openSUSE12.1にPHP-FPMとMySQLを使用してNginxをインストールする方法

  2. Rocky Linux / Alma Linux 8にPHPとNginx(LEMP)をインストールしてセットアップする方法

  3. Rocky / AlmaLinux8でNFSサーバーとクライアントをセットアップする方法

  1. Rocky Linux / AlmaLinux8にNodeJSとNPMをインストールする方法

  2. Rocky Linux / AlmaLinux8にHAProxyロードバランサーをインストールして構成する方法

  3. Rocky Linux / AlmaLinux8でNginxとPHP-FPMを使用してLaravelBagistoをセットアップする方法

  1. Rocky Linux 8にLEMP(Nginx、MariaDB、PHP)を使用してWordPressをインストールする方法は?

  2. Rocky Linux / AlmaLinux8にMemcachedをインストールして構成する方法

  3. Rocky Linux / AlmaLinux8にSquidProxyをインストールして構成する方法