PrestaShop インストール · 10 min read · Oct 14, 2025

Rocky Linux 9にPrestaShopをインストールする方法

PrestaShopは、Symfony PHPフレームワークを使用して書かれたオープンソースのeコマースWebアプリケーションです。製品を販売し、支払いを受け取り、関連するすべての側面を管理するためのオンラインストアを設計、構築、ホストすることができます。300,000以上のサイトで使用されており、最も人気のあるeコマースプラットフォームの1つです。機能をさらに拡張するモジュールをサポートしており、さまざまな高品質のテーマを使用してカスタマイズできます。カスタマイズ可能なテンプレート、安全な決済ゲートウェイ、在庫管理、検索エンジンランキングを最適化するためのSEOフレンドリーなツールを提供しています。

このチュートリアルでは、Rocky Linux 9サーバーにPrestaShopをインストールする方法を学びます。

前提条件

  • 最低1GBのRAMを搭載したRocky Linux 9を実行しているサーバー。
  • sudo権限を持つ非rootユーザー。
  • サーバーを指す完全修飾ドメイン名(FQDN)例:prestashop.example.com
  • Amazon SESやMailgunなどのメールサービスを持つSMTPアカウント。
  • すべてが更新されていること。
    $ sudo dnf update
  • チュートリアルとPrestaShopを実行するために必要な基本的なパッケージがいくつか必要です。これらの一部はすでにサーバーにインストールされている場合があります。
    $ sudo dnf install wget curl nano unzip yum-utils policycoreutils-python-utils -y

ステップ1 - ファイアウォールの設定

最初のステップはファイアウォールを設定することです。Rocky LinuxはFirewalldファイアウォールを使用しています。ファイアウォールの状態を確認します。

$ sudo firewall-cmd --state
running

ファイアウォールは異なるゾーンで動作し、パブリックゾーンがデフォルトで使用されます。ファイアウォールでアクティブなすべてのサービスとポートをリストします。

$ sudo firewall-cmd --permanent --list-services

次の出力が表示されるはずです。

cockpit dhcpv6-client ssh

HTTPおよびHTTPSポートを許可します。

$ sudo firewall-cmd --permanent --add-service=http
$ sudo firewall-cmd --permanent --add-service=https

ファイアウォールの状態を再確認します。

$ sudo firewall-cmd --permanent --list-services

同様の出力が表示されるはずです。

cockpit dhcpv6-client http https ssh

変更を有効にするためにファイアウォールを再読み込みします。

$ sudo firewall-cmd --reload

ステップ2 - Nginxのインストール

Rocky Linux 9には古いバージョンのNginxが付属しています。最新バージョンをインストールするには、公式のNginxリポジトリをダウンロードする必要があります。

ファイル/etc/yum.repos.d/nginx.repoを作成して開きます。

$ sudo nano /etc/yum.repos.d/nginx.repo

以下のコードを貼り付けます。

[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

完了したら、Ctrl + Xを押してファイルを保存し、プロンプトが表示されたらYを入力します。

Nginxをインストールします。

$ sudo dnf install nginx -y

インストールを確認します。

$ nginx -v
nginx version: nginx/1.24.0

Nginxサーバーサービスを有効にして開始します。

$ sudo systemctl enable nginx --now

サービスの状態を確認します。

$ sudo systemctl status nginx
? nginx.service - nginx - high performance web server
     Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; preset: disabled)
     Active: active (running) since Sat 2023-11-25 10:58:03 UTC; 5s ago
       Docs: http://nginx.org/en/docs/
    Process: 4220 ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf (code=exited, status=0/SUCCESS)
   Main PID: 4222 (nginx)
      Tasks: 2 (limit: 10841)
     Memory: 1.9M
        CPU: 9ms
     CGroup: /system.slice/nginx.service
             ??4222 "nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf"
             ??4223 "nginx: worker process"

サーバーのIPアドレスをWebブラウザで開きます。サーバーが稼働していることを示す次のページが表示されるはずです。 Nginxのデフォルトページ

ステップ3 - PHPと拡張機能のインストール

Rocky Linux 9にはデフォルトでPHP 8.1が付属しています。最新のPHPバージョンを常に使用するか、複数のPHPバージョンをインストールする場合は、REMIリポジトリを使用する必要があります。

最初のステップはEpelリポジトリを取得することです。

$ sudo dnf install epel-release -y

次に、Remiリポジトリをインストールします。

$ sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-9.rpm

利用可能なPHPストリームを確認します。

$ dnf module list php -y
Name    Stream              Profiles                                      Summary
php     8.1                 common [d], devel, minimal                    PHP scripting language

Remi's Modular repository for Enterprise Linux 9 - x86_64
Name    Stream              Profiles                                      Summary
php     remi-7.4            common [d], devel, minimal                    PHP scripting language
php     remi-8.0            common [d], devel, minimal                    PHP scripting language
php     remi-8.1            common [d], devel, minimal                    PHP scripting language
php     remi-8.2            common [d], devel, minimal                    PHP scripting language
php     remi-8.3            common [d], devel, minimal                    PHP scripting language

Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled

デフォルトのバージョンは8.1です。このチュートリアル執筆時点で、PrestaShopはPHP 8.1と互換性があります。したがって、RemiのPHP 8.1リポジトリを有効にします。

$ sudo dnf module reset php -y
$ sudo dnf module enable php:remi-8.1

PrestaShopに必要なPHPとその拡張機能をインストールします。

$ sudo dnf install php php-bcmath php-cli php-curl php-common \
    php-fpm php-gd php-gmp php-intl php-mbstring \
    php-mysql php-opcache php-xml php-zip -y

インストールされたPHPのバージョンを確認します。

$ php --version
PHP 8.1.26 (cli) (built: Nov 21 2023 21:53:48) (NTS gcc x86_64)
Copyright (c) The PHP Group
Zend Engine v4.1.26, Copyright (c) Zend Technologies
    with Zend OPcache v8.1.26, Copyright (c), by Zend Technologies

PHP-FPMサービスを有効にして開始します。

$ sudo systemctl enable php-fpm --now

サービスの状態を確認します。

$ sudo systemctl status php-fpm
? php-fpm.service - The PHP FastCGI Process Manager
     Loaded: loaded (/usr/lib/systemd/system/php-fpm.service; enabled; preset: disabled)
     Active: active (running) since Sat 2023-11-25 12:54:31 UTC; 2s ago
   Main PID: 6160 (php-fpm)
     Status: "Ready to handle connections"
      Tasks: 6 (limit: 10841)
     Memory: 15.2M
        CPU: 56ms
     CGroup: /system.slice/php-fpm.service
             ??6160 "php-fpm: master process (/etc/php-fpm.conf)"
             ??6161 "php-fpm: pool www"
             ??6162 "php-fpm: pool www"
             ??6163 "php-fpm: pool www"
             ??6164 "php-fpm: pool www"
             ??6165 "php-fpm: pool www"

ステップ4 - Percona MySQLサーバーのインストール

PrestaShopはデータストレージのためにMySQLデータベースサーバーを必要とします。しかし、MySQLをインストールする代わりに、Percona MySQLサーバーをインストールします。これはMySQLのドロップイン置き換えとして機能し、より多くの機能とセキュリティを提供します。

最初のステップは、Rocky Linux用のPerconaリリースリポジトリをインストールすることです。

$ sudo dnf install -y https://repo.percona.com/yum/percona-release-latest.noarch.rpm

次のエラーが表示された場合は、安全に無視して先に進むことができます。これはインストールに影響を与えません。GPGキーは後でインポートされます。

error: can't create transaction lock on /var/lib/rpm/.rpm.lock (Resource temporarily unavailable)
error: /etc/pki/rpm-gpg/RPM-GPG-KEY-Percona: key 1 import failed.

リポジトリがインストールされたら、次のコマンドを発行してMySQL 8.0用のPerconaサーバーリポジトリを設定します。

$ percona-release setup ps80

上記のコマンドは、デフォルトのMySQLモジュールを無効にするかどうかを尋ねます。続行するにはyを入力します。これにより、MySQLインストーラーモジュールが無効になり、Percona MySQLモジュールが有効になります。

MySQL 8.0用のPerconaサーバーをインストールします。

$ sudo dnf -y install percona-server-server

これにより、現在必要な基本パッケージであるPerconaサーバーとクライアントがインストールされます。

インストールを確認します。

$ mysql --version
mysql  Ver 8.0.34-26 for Linux on x86_64 (Percona Server (GPL), Release 26, Revision 0fe62c85)

MySQLサービスを開始します。

$ sudo systemctl start mysqld

MySQLサービスの状態を確認します。

$ sudo systemctl status mysqld
? mysqld.service - MySQL Server
     Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; preset: disabled)
     Active: active (running) since Sun 2023-11-26 06:25:37 UTC; 7s ago
       Docs: man:mysqld(8)
             http://dev.mysql.com/doc/refman/en/using-systemd.html
    Process: 6522 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
   Main PID: 6598 (mysqld)
     Status: "Server is operational"
      Tasks: 39 (limit: 10841)
     Memory: 486.8M
        CPU: 8.131s
     CGroup: /system.slice/mysqld.service
             ??6598 /usr/sbin/mysqld

Nov 26 06:25:28 prestashop.example.com systemd[1]: Starting MySQL Server...
Nov 26 06:25:37 prestashop.example.com systemd[1]: Started MySQL Server.

Perconaはインストール中に一時的なrootパスワードを生成します。次のコマンドを使用してそのパスワードを取得します。

$ sudo grep "temporary password" /var/log/mysqld.log
2023-11-26T06:25:33.316696Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: (sDeLSgjs7pI

MySQLシェルにログインします。

$ sudo mysql -u root -p

MySQLセキュリティ設定ウィザードを実行します。

$ sudo mysql_secure_installation

プロンプトが表示されたらrootパスワードを入力します。

Securing the MySQL server deployment.

Enter password for user root:

一時的なパスワードはすでに期限切れであり、新しいrootパスワードを設定するように求められます。rootアカウントの強力なパスワードを選択してください。パスワードは、現在のパスワードポリシー要件を満たす必要があります。つまり、小文字、大文字、数字、特殊文字を含む必要があります。

The existing password for the user account root has expired. Please set a new password.

New password:

Re-enter new password:

次に、パスワードの強度が表示され、変更するかどうかを尋ねられます。続行するにはNを入力します。

The 'validate_password' component is installed on the server.
The subsequent steps will run with the existing configuration
of the component.
Using existing password for root.

Estimated strength of the password: 100
Change the password for root ? ((Press y|Y for Yes, any other key for No) : N
 ... skipping.

匿名ユーザーを削除するにはYを入力します。

By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them. This is intended only for
testing, and to make the installation go a bit smoother.
You should remove them before moving into a production
environment.

Remove anonymous users? (Press y|Y for Yes, any other key for No) : Y
Success.

rootのリモートログインを禁止するにはYを入力します。

Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network.

Disallow root login remotely? (Press y|Y for Yes, any other key for No) : Y
Success.

テストデータベースを削除するにはYを入力します。

By default, MySQL comes with a database named 'test' that
anyone can access. This is also intended only for testing,
and should be removed before moving into a production
environment.

Remove test database and access to it? (Press y|Y for Yes, any other key for No) : Y
 - Dropping test database...
Success.

 - Removing privileges on test database...
Success.

最後に、特権テーブルを再読み込みするにはNを入力します。

Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.

Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y
Success.

All done!

これで完了です。次回MySQLシェルにログインするには、次のコマンドを使用し、プロンプトが表示されたらrootパスワードを入力します。

$ sudo mysql -u root -p

次のMySQLシェルプロンプトが表示されます。

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 16
Server version: 8.0.34-26 Percona Server (GPL), Release 26, Revision 0fe62c85

Copyright (c) 2009-2023 Percona LLC and/or its affiliates
Copyright (c) 2000, 2023, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

exitと入力してシェルを終了します。

ステップ5 - Percona MySQLサーバーの設定

MySQLシェルにログインします。

$ sudo mysql -u root -p

PrestaShopインストール用の新しいMySQLデータベース、データベースユーザー、およびパスワードを作成します。

mysql> CREATE DATABASE prestashop COLLATE utf8mb4_general_ci;
mysql> CREATE USER 'prestauser'@'localhost' IDENTIFIED BY 'Your_password2';
mysql> GRANT ALL PRIVILEGES ON prestashop.* TO 'prestauser'@'localhost';

prestashopprestauser、およびyourpasswordをお好みの資格情報に置き換えます。強力なパスワードを選択し、上記のパスワードポリシーに従っていることを確認してください。

特権をフラッシュして、現在のセッションに保存されるようにします。

mysql> FLUSH PRIVILEGES;

MySQLシェルを終了します。

mysql> exit

ステップ6 - PrestaShopのダウンロード

PrestaShop用のディレクトリを作成します。

$ sudo mkdir /var/www/html/prestashop -p

PrestaShopには、ブランド付きの基本バージョンとブランドなしのバージョンの2つのバージョンがあります。ブランド付きバージョンはPrestaShopのウェブサイトから入手でき、ブランドなしのバージョンはGitHubリポジトリから入手できます。両者の違いは、ブランド付きバージョンには、決済処理、プロモーションおよびSEO用のFacebookおよびGoogleモジュール、PrestaShopおよび分析目的と接続するためのさまざまなモジュールが含まれていることです。

基本バージョンは、ブランドなしのバージョンの後にリリースされます。したがって、このチュートリアル執筆時点で、利用可能な基本版の最新バージョンは8.1.1であり、ブランドなしのバージョンは8.1.2です。チュートリアルでは、基本のブランド版を使用します。ブランドなしのバージョンを使用することもできます。両方のバージョンのインストールプロセスはまったく同じです。

次のコマンドを使用して最新バージョンをダウンロードします。

$ cd /tmp
$ wget https://assets.prestashop3.com/dst/edition/corporate/8.1.1/prestashop_edition_basic_version_8.1.1.zip

PrestaShopのダウンロードページを訪問し、メールアドレスを入力してファイルをダウンロードすることでリンクを取得できます。ブランドなしのバージョンは、PrestaShopのGitHubリリースページから取得できます。

ダウンロードしたアーカイブを解凍します。

$ unzip prestashop_*.zip

このアーカイブには、すべてのファイルが含まれているprestashop.zipという別のzipファイルがあります。ファイルをPrestaShopディレクトリに抽出します。

$ sudo unzip prestashop.zip -d /var/www/html/prestashop

PrestaShopディレクトリの所有者をnginxユーザーに変更します。

$ sudo chown -R nginx: /var/www/html/prestashop

ステップ7 - SSLのインストール

SSL証明書を生成するためにCertbotをインストールする必要があります。そのためにSnapdパッケージインストーラーを使用します。Rocky Linuxにはそれが付属していないため、Snapdインストーラーをインストールします。これにはEPEL(Enterprise Linux用の追加パッケージ)リポジトリが必要ですが、ステップ3で既にインストールしたため、直接進むことができます。

Snapdをインストールします。

$ sudo dnf install -y snapd

Snapサービスを有効にして開始します。

$ sudo systemctl enable snapd --now

Snapコアパッケージをインストールし、Snapdのバージョンが最新であることを確認します。

$ sudo snap install core && sudo snap refresh core

Snapdが機能するために必要なリンクを作成します。

$ sudo ln -s /var/lib/snapd/snap /snap
$ echo 'export PATH=$PATH:/var/lib/snapd/snap/bin' | sudo tee -a /etc/profile.d/snapd.sh

Certbotをインストールします。

$ sudo snap install --classic certbot

Certbotコマンドが実行できるように、次のコマンドを使用して/usr/binディレクトリにシンボリックリンクを作成します。

$ sudo ln -s /snap/bin/certbot /usr/bin/certbot

Certbotが正しく機能しているか確認します。

$ certbot --version
certbot 2.7.4

次のコマンドを実行してSSL証明書を生成します。

$ sudo certbot certonly --nginx --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -m [email protected] -d prestashop.example.com

上記のコマンドは、サーバーの/etc/letsencrypt/live/prestashop.example.comディレクトリに証明書をダウンロードします。

Diffie-Hellmanグループ証明書を生成します。

$ sudo openssl dhparam -dsaparam -out /etc/ssl/certs/dhparam.pem 4096

Certbotの更新スケジューラーサービスを確認します。

$ sudo systemctl list-timers

snap.certbot.renew.serviceがスケジュールされたサービスの1つとして表示されます。

NEXT                        LEFT           LAST                        PASSED      UNIT                      ACTIVATES     
---------------------------------------------------------------------------------------------------------------------------               
Sun 2023-11-26 17:12:40 UTC 1h 34min left Sun 2023-11-26 15:25:36 UTC 12min ago    dnf-makecache.timer       dnf-makecache.service
Sun 2023-11-26 17:48:00 UTC 2h 10min left -                           -            snap.certbot.renew.timer  snap.certbot.renew.service
Mon 2023-11-27 00:00:00 UTC 8h left       Sun 2023-11-26 00:00:00 UTC 15h ago      logrotate.timer           logrotate.service

SSL更新が正常に機能しているか確認するために、プロセスのドライランを行います。

$ sudo certbot renew --dry-run

エラーが表示されない場合は、すべて設定完了です。証明書は自動的に更新されます。

ステップ8 - SELinuxの設定

PrestaShopのファイルセキュリティコンテキストを変更します。

$ sudo semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/html/prestashop(/.*)?"

ポリシーを適用します。

$ sudo restorecon -Rv /var/www/html/prestashop/

NginxがMariaDBにアクセスできるようにするポリシーを適用します。

$ sudo setsebool -P httpd_can_network_connect_db 1

外部ホストへの接続を許可するポリシーを適用します。これは、メールを送信するために必要です。

$ sudo setsebool -P httpd_can_network_connect 1

MariaDB 10.11では、SELinuxがPHP-FPMがMariaDBに接続するのを防ぐ別の問題が発生します。これはSELinuxモジュールをインストールすることで解決できます。最初のステップは、type enforcementファイルを作成することです。

ホームディレクトリにmy-phpfpm.teというファイルを作成し、編集のために開きます。

$ cd ~
$ nano my-phpfpm.te

以下のコードを貼り付けます。

module my-phpfpm 1.0;

require {
        type unconfined_service_t;
        type httpd_t;
        type httpd_sys_content_t;
        class dir write;
        class unix_stream_socket connectto;
}

#============= httpd_t ============== 

#!!!! This avc is allowed in the current policy
allow httpd_t httpd_sys_content_t:dir write;

#!!!! This avc is allowed in the current policy
allow httpd_t unconfined_service_t:unix_stream_socket connectto;

Ctrl + Xを押してファイルを保存し、プロンプトが表示されたらYを入力します。

次のステップは、次のコマンドを使用してポリシーモジュールに変換することです。コマンド内のファイル名を変更しないでください。そうしないと、機能しません。モジュール名はmy-phpfpmで、ファイル名も同じである必要があります。

$ sudo checkmodule -M -m -o my-phpfpm.mod my-phpfpm.te

次に、ポリシーモジュールをコンパイルしてポリシーパッケージを作成する必要があります。

$ sudo semodule_package -o my-phpfpm.pp -m my-phpfpm.mod

最後のステップは、semoduleコマンドを使用してポリシーパッケージをロードし、使用されるポリシーをインストールします。

$ sudo semodule -i my-phpfpm.pp

ステップ9 - PHP-FPMの設定

php.iniを編集のために開きます。

$ sudo nano /etc/php.ini

ファイルアップロードサイズを設定するには、upload_max_filesizeおよびpost_max_size変数の値を変更します。この値は、PrestaShopにアップロードできるファイルのサイズを決定します。デフォルトでは10MBに設定されており、これをPHPで設定します。

$ sudo sed -i 's/upload_max_filesize = 2M/upload_max_filesize = 16M/' /etc/php.ini
$ sudo sed -i 's/post_max_size = 8M/post_max_size = 16M/' /etc/php.ini

サーバーのリソースと要件に応じてPHPのメモリ制限を設定します。

$ sudo sed -i 's/memory_limit = 128M/memory_limit = 256M/' /etc/php.ini

ファイル/etc/php-fpm.d/www.confを開きます。

$ sudo nano /etc/php-fpm.d/www.conf

PHPプロセスのUnixユーザー/グループをnginxに設定する必要があります。ファイル内のuser=apacheおよびgroup=apache行を見つけて、nginxに変更します。

...
; Unix user/group of processes
; Note: The user is mandatory. If the group is not set, the default user's group
;       will be used.
; RPM: apache user chosen to provide access to the same directories as httpd
user = nginx
; RPM: Keep a group allowed to write in log dir.
group = nginx
...

listen.owner = nobodylisten.group = nobodylisten.mode = 0660行を見つけて、コメントを外した後、次のように変更します。

; Set permissions for unix socket, if one is used. In Linux, read/write
; permissions must be set in order to allow connections from a web server. Many
; BSD-derived systems allow connections regardless of permissions. The owner
; and group can be specified either by name or by their numeric IDs.
; Default Values: user and group are set as the running user
;                 mode is set to 0660
listen.owner = nginx
listen.group = nginx
listen.mode = 0660

Ctrl + Xを押してファイルを保存し、プロンプトが表示されたらYを入力します。

PHP-fpmプロセスを再起動します。Nginxがインストールされていることを確認してからPHPサービスを再起動してください。そうしないと、nginxグループを見つけられずに失敗します。

$ sudo systemctl restart php-fpm

PHPセッションディレクトリのグループをNginxに変更します。

$ sudo chgrp -R nginx /var/lib/php/session

ステップ10 - Nginxの設定

ファイル/etc/nginx/nginx.confを編集のために開きます。

$ sudo nano /etc/nginx/nginx.conf

次の行をinclude /etc/nginx/conf.d/*.conf;の前に追加します。

server_names_hash_bucket_size 64;

Ctrl + Xを押してファイルを保存し、プロンプトが表示されたらYを入力します。

ファイル/etc/nginx/conf.d/prestashop.confを作成して開きます。

$ sudo nano /etc/nginx/conf.d/prestashop.conf

以下のコードを貼り付けます。prestashop.example.comをあなたのドメイン名に置き換えます。client_max_body_sizeの値が10MBに設定されていることを確認してください。これはPrestaShopのデフォルトのファイルアップロードサイズと同じ値です。以前にPHPで設定した値と同じです。

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;

    # [EDIT] Your domain name(s) go here.
    server_name prestashop.example.com;

    # [EDIT] Path to your domain Nginx logs.
    access_log /var/log/nginx/prestashop.access.log;
    error_log /var/log/nginx/prestashop.error.log;

    # [EDIT] Path to your SSL certificates (take a look at Certbot https://certbot.eff.org).
    ssl_certificate      /etc/letsencrypt/live/prestashop.example.com/fullchain.pem;
    ssl_certificate_key  /etc/letsencrypt/live/prestashop.example.com/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/prestashop.example.com/chain.pem;

    ssl_session_timeout  5m;
    ssl_session_cache shared:MozSSL:10m;
    ssl_session_tickets off;

    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_prefer_server_ciphers on;
    ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
    ssl_ecdh_curve X25519:prime256v1:secp384r1:secp521r1;
    ssl_stapling on;
    ssl_stapling_verify on;
    ssl_dhparam /etc/ssl/certs/dhparam.pem;

    # [EDIT] Path to your PrestaShop directory.
    root /var/www/html/prestashop;

    index index.php;

    # This should match the `post_max_size` and/or `upload_max_filesize` settings
    # in your php.ini.
    client_max_body_size 16M;

    # Redirect 404 errors to PrestaShop.
    error_page 404 /index.php?controller=404;

    # HSTS (Force clients to interact with your website using HTTPS only).
    # For enhanced security, register your site here: https://hstspreload.org/.
    # WARNING: Don't use this if your site is not fully on HTTPS!
    # add_header Strict-Transport-Security "max-age=63072000; includeSubDomains" preload; always;

    # [EDIT] If you are using multiple languages.
    # rewrite ^/fr$ /fr/ redirect;
    # rewrite ^/fr/(.*) /$1;

    # Images.
    rewrite ^/(
    # ...
}

Ctrl + Xを押してファイルを保存し、プロンプトが表示されたらYを入力します。

Nginxの設定を確認します。

$ sudo nginx -t

Nginxサーバーを再起動します。

$ sudo systemctl restart nginx

ステップ11 - PrestaShopのインストール

ブラウザでURL https://prestashop.example.comにアクセスすると、次のインストーラー画面が表示されます。 PrestaShopインストーラーページ

次へをクリックして次のページに進みます。 PrestaShopライセンス契約ページ

PrestaShopライセンスが表示されます。上記の条件に同意しますボタンをチェックしてライセンスに同意し、次へをクリックして進みます。 PrestaShopショップ情報ページ

次に、ショップに関する情報を共有するように求められます。ショップの名前、国、タイムゾーン、ストアタイプを入力し、SSLオプションを有効にします。また、アカウント名、メールアドレス、ストアにログインするためのパスワードを入力します。完了したら次へをクリックします。 PrestaShopストアコンテンツページ

次に、ショップにデモ製品を追加するかどうかを尋ねられます。不要な場合は「いいえ」を選択します。また、すべてのモジュールをインストールオプションを選択するか、インストールしたいモジュールを選択できます。完了したら次へをクリックします。 PrestaShopデータベース構成

次に、ステップ5で作成したデータベースの資格情報を入力します。他のオプションはそのままにします。接続を確認するためにデータベースをテストオプションをクリックします。 PrestaShopデータベース接続テスト

データベースへの接続が成功したら、次のページに進むために次へをクリックします。 PrestaShopインストーラーの進行状況

ここでは、PrestaShopのインストールの進行状況が表示されます。完了すると、自動的に次のページが開きます。 PrestaShopのインストール完了ページ

ストアを管理するボタンをクリックして、ストアを設定するための管理ダッシュボードを開きます。 PrestaShopインストールディレクトリ警告

ここでは、セキュリティを向上させるために、ショップを管理する前にinstallディレクトリを削除する警告が表示されます。SSH経由でサイトに再度ログインし、次のコマンドを実行します。

$ sudo rm -rf /var/www/html/petrashop/install

インストーラーの最終ページに戻り、URLを再度開きます。管理ページのURLがランダム化されていることに注意してください。これはセキュリティを向上させるために行われています。PrestaShopの各インストールには異なる管理URLが生成されます。このチュートリアルでは、生成されたリンクはhttps://prestashop.example.com/admin705saygwpwquwnhixx1です。次のログインページが表示されます。 PrestaShopログインページ

アカウントの資格情報を入力し、ログインボタンをクリックしてダッシュボードにアクセスします。 PrestaShop管理ダッシュボード

PrestaShopのデフォルトインストールのストアページは次のようになります。 PrestaShopホームページ

ここからPrestaShopの使用を開始できます。

ステップ12 - PrestaShopの更新

PrestaShopを更新する方法はいくつかあります。最も簡単なのは、内蔵のアップグレードアシスタントモジュールを使用することです。あなたのPrestaShopインストールにはそのモジュールが付属しています。

最初のステップは、ストアをメンテナンスモードにすることです。管理ページの左メニューから設定 >> ショップパラメータ >> 一般オプションをクリックします。ページのメンテナンスタブに切り替えます。

ストアを無効にし、メンテナンスIPとして自分のIPアドレスを追加します。これにより、メンテナンス中でもストアにアクセスできるようになります。完了したら保存ボタンをクリックします。 PrestaShopメンテナンスページ

次に、管理パネルのモジュールマネージャーページを開き、左側から改善 >> モジュール >> モジュールマネージャーオプションを選択します。

そこに到達したら、1-Click Upgradeモジュールをインストールするためにインストールボタンをクリックします。インストールが完了したら、設定ボタンをクリックして、アップグレードを実行する前に設定を構成する新しいページを開きます。

ページの最初の部分には、いくつかのアップグレード前チェックがリストされています。すべてのチェックが満たされている必要があります。 PrestaShopアップグレード前チェックリスト

最初の設定では、実行したいアップグレードの種類を選択できます。基本版8.1.1を使用しているため、8.1.2のオープンソース版がアップグレード可能です。マイナー/メジャーブランチに留まることをお勧めします。 PrestaShopアップグレードタイプ

ページを下にスクロールしてバックアップオプションを選択し、PrestaShopにファイル、データベース、画像をバックアップさせることができます。これらの機能は実験的ですが、含めるべきです。 PrestaShopバックアップオプション

次に、保持したいものとアップグレードしたいもののオプションを選択します。 PrestaShopアップグレードオプション

各セクションの保存ボタンをクリックしてオプションを保存します。満足したら、同じページの今すぐPrestaShopをアップグレード!ボタンをクリックしてショップをアップグレードします。アップグレードが何らかの理由で失敗した場合は、ロールバックの機会が与えられます。

結論

これで、Rocky Linux 9サーバーにPrestaShopをインストールする方法を学んだチュートリアルが終了しました。質問がある場合は、下のコメントに投稿してください。

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。