Shopwareインストール · 3 min read · Dec 14, 2025

FreeBSD 12にNGINXとLet's Encryptを使用してShopwareをインストールする方法

Shopwareは次世代のオープンソースeコマースソフトウェアです。Symfony 3、Doctrine 2、Zend Frameworkなどの最先端技術に基づいており、Shopwareは次のeコマースプロジェクトに最適なプラットフォームとして提供されます。このチュートリアルでは、NGINXをウェブサーバーとして使用してFreeBSD 12システムにShopware Community Edition (CE)をインストールする手順を説明します。

要件

システムが以下の最小要件を満たしていることを確認してください:

  • NGINXまたはApache 2.x(mod_rewrite付き)のウェブサーバーがインストールされたLinuxベースのオペレーティングシステム。
  • ctype、gd、curl、dom、hash、iconv、zip、json、mbstring、openssl、session、simplexml、xml、zlib、fileinfo、およびpdo/mysql拡張機能を持つPHP 5.6.4以上。PHP 7.1以上を強く推奨します。
  • MySQL 5.5.0以上。
  • cronジョブを設定する可能性。
  • 最低4GBの空きハードディスクスペース。
  • IonCube Loaderバージョン5.0.0以上(オプション)。

*注意: Shopware 5は現在PHP 7.2.xと互換性があります。*

前提条件

  • FreeBSD 12を実行しているオペレーティングシステム。
  • sudo権限を持つ非rootユーザー。

このチュートリアルでは、ドメイン名example.comを使用します。以下のコマンドや設定ファイルでexample.comという単語を自分のドメイン名に置き換えてください(特にNginx設定ファイルやLet’s Encryptコマンドで)。

初期ステップ

FreeBSDのバージョンを確認します:

uname -ro  
# FreeBSD 12.0-RELEASE

タイムゾーンを設定します:

tzsetup

オペレーティングシステムのパッケージ(ソフトウェア)を更新します。これは重要な最初のステップで、オペレーティングシステムのデフォルトソフトウェアパッケージの最新の更新とセキュリティ修正を確保します:

freebsd-update fetch install  
pkg update && pkg upgrade -y

FreeBSD 12.0オペレーティングシステムの基本管理に必要な重要なパッケージをいくつかインストールします:

pkg install -y sudo vim unzip wget bash socat

ステップ1 - PHPおよびPHP拡張機能のインストール

Shopwareに必要なPHPおよびPHP拡張機能をインストールします:

sudo pkg install -y php72 php72-ctype php72-curl php72-dom php72-hash php72-iconv php72-gd php72-json php72-mbstring php72-openssl php72-session php72-simplexml php72-xml php72-zip php72-zlib php72-pdo php72-pdo_mysql php72-filter php72-ftp php72-tokenizer php72-calendar php72-pecl-APCu php72-opcache

コンパイルされたPHPモジュールを表示するには、次のコマンドを実行できます:

php -m  
  
ctype  
curl  
exif  
fileinfo  
. . .  
. . .

PHPのバージョンを確認します:

php --version  
  
# PHP 7.2.16 (cli) (built: Apr 30 2019 08:37:17) ( NTS )  
# Copyright (c) 1997-2018 The PHP Group  
# Zend Engine v3.3.5, Copyright (c) 1998-2018 Zend Technologies  
# with Zend OPcache v7.3.5, Copyright (c) 1999-2018, by Zend Technologies

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

sudo sysrc php_fpm_enable=yes  
sudo service php-fpm start

次のステップ、IonCube Loaderのインストールに進むことができます。

ステップ2 - IonCube Loaderのインストール(オプション)

このステップはオプションです。ShopwareはIonCubeなしで動作しますが、IonCubeを使用する拡張機能やテーマがまだ存在する可能性があるため、インストールしておいても損はありません。IonCube Loaderをダウンロードします:

cd /tmp && wget https://downloads.ioncube.com/loader_downloads/ioncube_loaders_fre_11_x86-64.tar.gz

ローダーを抽出します:

tar xfz ioncube_loaders_fre_*.tar.gz

次のコマンドを実行して、システム上のPHP拡張機能ディレクトリを見つけます:

php -i | grep extension_dir  
# extension_dir => /usr/local/lib/php/20170718 => /usr/local/lib/php/20170718

ionCube LoaderをPHP拡張機能ディレクトリにコピーします:

sudo cp /tmp/ioncube/ioncube_loader_fre_7.2.so /usr/local/lib/php/20170718

PHP設定を介してローダーを含めます:

sudo vim /usr/local/etc/php.ini

その後、ファイル内の[PHP]行の下にionCubeローダーを含めるための行を追加します:

zend_extension = /usr/local/lib/php/20170718/ioncube_loader_fre_7.2.so

ファイルを保存し、PHP-FPMを再起動します:

sudo service php-fpm restart

ステップ3 - MariaDBをインストールし、Shopware用のデータベースを作成する

MariaDBデータベースサーバーをインストールします:

sudo pkg install -y mariadb102-client mariadb102-server

MariaDBのバージョンを確認します:

mysql --version  
# mysql  Ver 15.1 Distrib 10.2.23-MariaDB, for Linux (x86_64) using readline 5.1

MariaDBサービスを開始し、有効にします:

sudo sysrc mysql_enable="yes"  
sudo service mysql-server start

MariaDBのセキュリティを向上させ、MariaDB rootユーザーのパスワードを設定するために、mysql_secure_installationスクリプトを実行します:

sudo mysql_secure_installation

各質問に答えます:

`Would you like to setup VALIDATE PASSWORD plugin? N  
New password: your_secure_password  
Re-enter new password: your_secure_password  
Remove anonymous users? [Y/n] Y  
Disallow root login remotely? [Y/n] Y  
Remove test database and access to it? [Y/n] Y  
Reload privilege tables now? [Y/n] Y`

rootユーザーとしてMariaDBシェルに接続します:

sudo mysql -u root -p  
# Enter password  

Shopware用の空のMariaDBデータベースとユーザーを作成し、資格情報を記憶します:

mysql> CREATE DATABASE dbname;  
mysql> GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';  
mysql> FLUSH PRIVILEGES;

MariaDBから退出します:

mysql> exit

dbnameusernamepasswordを自分の名前に置き換えます。

ステップ4 - Acme.shクライアントをインストールし、Let’s Encrypt証明書を取得する(オプション)

HTTPSでウェブサイトを保護することは必須ではありませんが、サイトトラフィックを保護するための良いプラクティスです。Let’s EncryptからTLS証明書を取得するために、acme.shクライアントを使用します。Acme.shは、ゼロ依存関係でLet’s EncryptからTLS証明書を取得するための純粋なUnixシェルソフトウェアです。

acme.shをダウンロードしてインストールします:

sudo pkg install -y acme.sh

acme.shのバージョンを確認します:

acme.sh --version  
# v2.8.2

ドメイン/ホスト名のためにRSAおよびECC/ECDSA証明書を取得します:

# RSA 2048  
acme.sh --issue --standalone -d example.com --keylength 2048  
# ECDSA  
acme.sh --issue --standalone -d example.com --keylength ec-256

テスト用の偽の証明書が必要な場合は、上記のコマンドに--stagingフラグを追加できます。

上記のコマンドを実行した後、証明書キーは以下の場所にあります:

  • RSAの場合:/home/username/example.comディレクトリ。
  • ECC/ECDSAの場合:/home/username/example.com_eccディレクトリ。

発行された証明書を一覧表示するには、次のコマンドを実行します:

acme.sh --list

証明書を保存するためのディレクトリを作成します。/etc/letsencryptディレクトリを使用します。

mkdir -p /etc/letsecnrypt/example.com  
sudo mkdir -p /etc/letsencrypt/example.com_ecc

証明書を/etc/letsencryptディレクトリにインストール/コピーします。

# RSA  
acme.sh --install-cert -d example.com --cert-file /etc/letsencrypt/example.com/cert.pem --key-file /etc/letsencrypt/example.com/private.key --fullchain-file /etc/letsencrypt/example.com/fullchain.pem --reloadcmd "sudo systemctl reload nginx.service"  
# ECC/ECDSA  
acme.sh --install-cert -d example.com --ecc --cert-file /etc/letsencrypt/example.com_ecc/cert.pem --key-file /etc/letsencrypt/example.com_ecc/private.key --fullchain-file /etc/letsencrypt/example.com_ecc/fullchain.pem --reloadcmd "sudo service nginx reload"

すべての証明書は60日ごとに自動的に更新されます。

証明書を取得した後、rootユーザーから退出し、通常のsudoユーザーに戻ります:

exit

ステップ5 - NGINXをインストールして構成する

NGINXウェブサーバーをインストールします:

sudo pkg install -y nginx

NGINXのバージョンを確認します:

nginx -v  
# nginx version: nginx/1.14.2

NGINXサービスを開始し、有効にします:

sudo sysrc nginx_enable=yes  
sudo service nginx start

Shopware用にNginxを構成するには、次のコマンドを実行します:

sudo vim /usr/local/etc/nginx/shopware.conf

次の構成でファイルを埋めます:

server {
    listen 80;
    listen [::]:80;
    
    server_name example.com;
    root /usr/local/www/shopware;

    index shopware.php index.php;

    location / {
        try_files $uri $uri/ /shopware.php$is_args$args;
    }

    location /recovery/install {
      index index.php;
      try_files $uri /recovery/install/index.php$is_args$args;
    }

    location ~ \.php$ {
        include fastcgi.conf;
        fastcgi_pass 127.0.0.1:9000;
    }
}

sudo vim /usr/local/etc/nginx/nginx.confを実行し、http {}ブロックに以下の行を追加してShopware設定を含めます。

include shopware.conf;

Nginx設定に構文エラーがないか確認します:

sudo nginx -t

Nginxサービスを再読み込みします:

sudo service nginx reload

ステップ6 - Shopwareをインストールする

Shopware用のドキュメントルートディレクトリを作成します:

sudo mkdir -p /usr/local/www/shopware

ドキュメントルートディレクトリに移動します:

cd /usr/local/www/shopware

Shopwareをダウンロードして解凍します:

sudo wget https://releases.shopware.com/install_5.5.8_d5bf50630eeaacc6679683e0ab0dcba89498be6d.zip?_ga=2.141661361.269357371.1556739808-1418008019.1556603459 -O shopware.zip  
sudo unzip shopware.zip  
sudo rm shopware.zip

注意: 新しいリリースがある場合はダウンロードURLを更新してください。

適切な所有権を提供します:

sudo chown -R www:www /usr/local/www/shopware

memory_limit = 256Mupload_max_filesize = 6Mを増やし、allow_url_fopen = Onに設定します(まだ設定されていない場合は)/usr/local/etc/php.iniファイルで:

sudo vim /usr/local/etc/php.ini

/etc/php/7.2/fpm/php.iniファイルで変更を行った後、php-fpm.serviceを再読み込みします:

sudo service php-fpm reload

ウェブブラウザでドメイン/IPを開き、インストールウィザードに従います。Shopwareのバックエンドは/backendにあります。例:http://example.com/backend

ステップ7 - Shopwareのセットアップを完了する

言語を選択し、次へ進むことから始めます:

Shopwareインストールウィザード

次に、すべてのShopware要件を満たしていることを確認します:

Shopwareシステム要件

Shopwareの利用規約に同意し、次へ進みます:

ShopWareの利用規約

データベースの資格情報を入力し、次へ進みます:

データベースの設定

データベーステーブルを作成するためにインストールを開始します:

データベーステーブルの作成

その後、成功したデータベースインポートに関するメッセージが表示されます:

インストール成功

ライセンスを選択し、次へ進みます:

ライセンス

セットアップを完了するためにいくつかの基本設定を入力し、次へ進みます:

基本ショップ設定

インストールが完了しました。

インストール完了

管理エリアにアクセスするには、URLの末尾に/backendを追加してください。

Shopwareログイン

Shopwareを正常にインストールしました。新しいオンラインショップをお楽しみください!

リンク

Share: X/Twitter LinkedIn

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

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