RockyLinuxおよびAlmaLinuxにMagentoをインストールする方法


PHPで記述されたMagentoは、人気のあるオープンソースで用途の広いeコマースプラットフォームであり、企業にオンラインショッピングカートを提供します。 SymfonyやLaminasなどのさまざまなPHPフレームワークを活用して、機能と使いやすさを強化しています。

Magentoには、オンラインショップの作成、製品カタログの管理、トランザクションと請求書の監視、および他の多くのタスクの中でも顧客の購入行動の追跡に役立つ管理者のコントロールパネルが用意されています。

それほど面倒なことはせずに、RockyLinuxとAlmaLinuxにMagentoをインストールすることに着手しましょう。

Magentoを正常にインストールするには、まず、LAMPスタックを次の場所にインストールする必要があります。

  • RockyLinuxにLAMPスタックをインストールする方法
  • AlmaLinuxにLAMPスタックをインストールする方法

また、サーバーのパブリックIPアドレスを指す完全修飾ドメイン名(FQDN)があることを確認してください。このガイドでは、 linuxtechgeek.infoドメインを使用します。

最後に、sudoユーザーが構成されたSSHアクセスがあることを確認します。

ステップ1:追加のPHPモジュールとその他の依存関係をインストールする

Magentoのインストールに必要なphpモジュールのインストールから始めます。

$ sudo dnf install php-mysqlnd php-xml php-cli php-soap php-pd php-opcache php-iconv php-bcmath php-gd o  php-intl php-mbstring php-json  php-zip unzip wget -y

インストールしたら、php.ini構成ファイルにアクセスして編集します。

$ sudo vim /etc/php.ini

以下の値があなたの持っているものを反映していることを確認してください。もちろん、タイムゾーンに対応するように、date.timezoneの値を適宜設定してください。

memory_limit = 1024M
upload_max_filesize = 256M
zlib.output_compression = on
max_execution_time = 18000
date.timezone = Europe/London

変更を保存して終了します。

次に、PHPナトリウム拡張機能であるlibsodiumをインストールする必要があります。これは、暗号化機能を簡単かつ効果的に提供するモジュールです。モジュールをインストールするには、そのインストールをサポートするための追加のパッケージと依存関係を提供するEPELリポジトリをインストールする必要があります。

EPELをインストールするには、次のコマンドを実行します。

$ sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

次に、追加の依存関係をインストールします。

$ sudo dnf install php-cli libsodium php-pear php-devel libsodium-devel make

すべてのパッケージと依存関係が整ったら、次のコマンドをこの順序で実行して、libsodiumPHPモジュールをインストールします。

$ sudo pecl channel-update pecl.php.net
$ sudo pecl install libsodium

php.iniファイルに戻ります。

$ sudo vim /etc/php.ini 

次の行を追加します。

extension=sodium.so

保存して終了。

PHPナトリウムがインストールされているかどうかを確認するには、次のコマンドを実行します。

$ php -i | grep sodium

素晴らしい!次のステップに進みます。

ステップ2:Magentoのデータベースを作成する

次のステップでは、Magentoのデータベースとデータベースユーザーを作成します。したがって、MariaDBデータベースサーバーにログインします。

$ sudo mysql -u root -p

次のSQLクエリを実行して、データベースとデータベースユーザーを作成します。

CREATE DATABASE magento_db;
CREATE USER 'magento_user'@'localhost' IDENTIFIED BY 'password';

次に、Magentoデータベースのデータベースユーザーに権限を付与します。

GRANT ALL ON magento_db.* TO 'magento_user'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;

最後に、許可テーブルを再ロードして、変更を有効にします。

FLUSH PRIVILEGES;
EXIT;

以下はSQLクエリの要約です。

ステップ3:LinuxにElasticsearchをインストールして構成する

次のステップはElasticsearchをインストールすることです。これは、ApacheLuceneに基づくオープンソースの分散検索および分析エンジンです。大量のデータをすばやく便利に検索、保存、分析するために使用されます。

ElasticsearchはJavaで記述されており、前提条件として、最初にJavaをインストールする必要があります。 OpenJDKの最新の安定バージョンであるOpenJDK11をインストールします。

$ sudo dnf install openjdk-11-jdk -y

OpenJDKのインストールが完了したら、インストールされているJavaのバージョンを確認します。

$ java -version

次に、ElasticsearchGPGキーをインポートします。

$ sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

完了したら、Elasticsearchのリポジトリを作成します。

$ sudo vim /etc/yum.repos.d/elasticsearch.repo

次の内容を貼り付けます。

[elasticsearch-7.x]
name=Elasticsearch repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md

変更を保存して、Elasticsearchリポジトリファイルを終了します。

次に、DNFパッケージマネージャーを使用してelasticsearchをインストールします。

$ sudo dnf install elasticsearch

Elasticsearchにはいくつかの追加構成が必要です。したがって、elasticsearch.ymlファイルを編集します。

$ sudo vim etc/elasticsearch/elasticsearch.yml

以下の行のコメントを解除し、network.hostディレクティブが127.0.0.1に設定されていることを確認します。

cluster.name: my-application
     node.name: node-1
     path.data: /var/lib/elasticsearch
     network.host: 127.0.0.1

変更を保存してファイルを終了します。

ここで、Elasticsearchサービスが起動時に開始できるようにし、次のコマンドを使用してサービスを開始します。

$ sudo systemctl enable elasticsearch
$ sudo systemctl start elasticsearch

次に、Elasticsearchの実行ステータスを確認します。

$ sudo systemctl status elasticsearch

さらに、次に示すように、curlコマンドを使用してGETリクエストを送信することでElasticsearchをテストできます。

$ curl -X GET ‘localhost:9200’

次の出力がJSON形式で取得されるはずです。

これは、Elasticsearchが正常にインストールされたことの確認です。

ステップ4:LinuxにComposerをダウンロードしてインストールする

次のステップは、PHPパッケージマネージャーであるcomposerをインストールすることです。したがって、最初に、インストーラーファイルをダウンロードします。

$ sudo curl -sS https://getcomposer.org/installer | php

次に、ファイルを/ usr/local /bin/パスに移動します。

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

インストールを確認するには、次のコマンドを実行します。

$ composer -V

ステップ5:LinuxにMagentoをダウンロードしてインストールする

次のステップは、コマンドラインユーティリティをwgetし、次のようにインストールファイルをダウンロードすることです。

$ wget https://github.com/magento/magento2/archive/refs/tags/2.4.2.zip

ダウンロードしたら、アーカイブファイルの内容を抽出します。

$ unzip 2.4.2.zip

次に、解凍したディレクトリをドキュメントのルートディレクトリに移動し、わかりやすくするために名前をmagento2に変更します。

$ sudo mv magento2-* /var/www/html/magento2

次に、magentoディレクトリに移動します

$ cd /var/www/html/magento2

そして、composerを使用してすべてのPHP依存関係をインストールします。

$ sudo /usr/local/bin/composer install

注:sudoを使用してcomposerを実行すると、エラーが発生する可能性があります。インストールされているものによってはrootとしてcomposerを実行するとリスクが生じる可能性があるため、これは単なる警告です。それでも、先に進んで実行してください。

すべての依存関係をインストールしたら、magento2ディレクトリに次の権限を設定します。

$ sudo chown -R apache:apache /var/www/html/magento2
$ sudo chmod 755 /var/www/html/magento2

引き続き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 
$ sudo chown -R apache:apache .
$ sudo chmod u+x bin/magento

これで権限の設定は完了です。先に進み、ApacheforMagentoを構成しましょう。

ステップ6:Magento用のApache仮想ホストを作成する

次に、MagentoをインストールするためのApache仮想ホストファイルを構成します。

$ sudo vim /etc/httpd/conf.d/magento.conf

次の構成ファイルを貼り付けます。

<VirtualHost *:80>
ServerAdmin [email protected]
ServerName example.com
DocumentRoot /var/www/html/magento2/
DirectoryIndex index.php

<Directory /var/www/html/magento2/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>

ErrorLog /var/log/httpd/magento_error.log
CustomLog /var/log/httpd/magento_access.log combined
</VirtualHost>

変更を保存してファイルを終了します。

次に、ApacheHTTPサーバーを再起動します

$ sudo systemctl restart httpd

ステップ7:Magentoをインストールし、MagentoCronジョブを設定する

Magentoをインストールするには、次のコマンドを実行して、新しいユーザー、管理者ユーザー、およびその他のいくつかの重要な変数を構成します。

sudo -u apache bin/magento setup:install --admin-firstname="james" --admin-lastname="kiarie" --admin-email="[email protected]" --admin-user="admin" --admin-password="[email protected]" --db-name="magento_db" --db-host="localhost" --db-user="magento_user" --db-password="[email protected]@321" --language=en_US --currency=USD --timezone=Europe/London  --cleanup-database --base-url=http://"linuxtechgeek.info"

最後に、管理ページパスを提供する次の出力が表示されます。

ブラウザからMagentoにアクセスする前に、図のようにSELinuxポリシーを設定します。

$ sudo restorecon -R /var/www/magento
$ sudo setsebool -P httpd_unified 1

次に、ブラウザを開き、図のように完全なURLを入力します。

http://linuxtechgeek.info/admin_yquaor

次のログインページにリダイレクトされます。以前に指定した管理者の資格情報を使用してサインインし、[サインイン]をクリックします。

これにより、Magentoダッシュボードが表示されます。

ここから、オンラインショップの作成、アイテムの価格、請求書の管理、および他の多くのタスクの中でも顧客の活動の追跡に進むことができます。 RockyLinuxとAlmaLinuxにMagentoを正常にインストールしました。