このガイドでは、Nginxを使用してLaravel Bagistoを構成し、データソースとしてMariaDBを使用してPHP-FPMを構成する方法を学習します。
関連コンテンツ:
- Mysql8をRockyLinux/Centos8にインストールする方法
目次
- サーバーパッケージが最新であることを確認します
- Selinuxを無効にする
- Mariadbのインストール
- Bagisto用のMysqlユーザーの作成
- RockyLinux8へのPHP7.4のインストール
- RockyLinux8へのnginxのインストール
- BagistoのPHPおよびphp-fpm構成を編集する
- php-fpmサービスの開始と有効化
- phpコンポーザーのインストール
- Bagistoをダウンロードして構成する
- 仮想ホストからBagostoにサービスを提供するようにNginxを構成します
- 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スタックを設定することができました。