GNU/Linux >> Linux の 問題 >  >> Debian

NGINXを使用してShopwareをインストールし、Debian9で暗号化する方法

Shopwareは、広く使用されているプロのオープンソースeコマースソフトウェアです。 Symfony 3、Doctrine2、Zend Framework Shopwareなどの最先端テクノロジーに基づいて、次のeコマースプロジェクトに最適なプラットフォームとして提供されます。このチュートリアルでは、NGINXをWebサーバーとして使用してDebian9システムにShopwareCommunity Edition(CE)をインストールする方法と、無料のLet'sEncryptSSL証明書を使用してWebサイトを保護する方法を説明します。

要件

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

  • NGINXまたはApache2.x(mod_rewriteを使用)WebサーバーがインストールされたLinuxベースのオペレーティングシステム。
  • PHP 5.6.4以降、ctype、gd、curl、dom、hash、iconv、zip、json、mbstring、openssl、session、simplexml、xml、zlib、fileinfo、およびpdo/mysql拡張機能。 PHP7.1以降を強くお勧めします。
  • MySQL5.5.0以降。
  • cronジョブを設定する可能性。
  • 最低4GBのハードディスク空き容量。
  • IonCube Loaderバージョン5.0.0以降(オプション

注: Shopwareは現在PHP7.2.xまでです 互換性があります。

前提条件

  • Debian9を実行しているオペレーティングシステム。
  • sudo権限を持つroot以外のユーザー。
初期ステップ

Debianのバージョンを確認してください:

 lsb_release -ds 
#Debian GNU / Linux 9.8(ストレッチ)

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

 sudodpkg-tzdataを再構成する

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

 sudo apt update &&sudo apt upgrade -y 

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

 sudo apt install -y curl wget vim git unzip socat apt-transport-https 
ステップ1-PHPおよびPHP拡張機能をインストールする

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

 sudo apt install -y php7.0 php7.0-cli php7.0-fpm php7.0-common php7.0-mysql php7.0-curl php7.0-json php7.0-zip php7.0- gd php7.0-xml php7.0-mbstring php7.0-opcache 

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

 php -m 

ctype
curl
exif
fileinfo
。 。 。
。 。 。

PHPのバージョンを確認してください:

 php --version 

#PHP 7.0.30-0 + deb9u1(cli)(ビルド:2018年6月14日13:50:25)(NTS)
#Copyright(c )1997-2018 PHP Group
#Zend Engine v3.2.0、Copyright(c)1998-2018 Zend Technologies
#with Zend OPcache v7.2.15-0debian0.18.04.1、Copyright(c)1999 -2018、ZendTechnologiesによる

PHP-FPMサービスは、Debian 9システムでの再起動時に自動的に開始されて有効になるため、手動で開始して有効にする必要はありません。次のステップであるIonCubeLoaderのインストールに進むことができます。

ステップ2-IonCubeローダーをインストールします(オプション

IonCubeローダーのダウンロード:

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

ローダーを抽出します:

 tar xfz ioncube_loaders_lin_*。gz

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

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

ionCubeローダーをPHP拡張ディレクトリにコピーします:

 sudo cp /tmp/ioncube/ioncube_loader_lin_7.0.so /usr/lib/php/20170718/ 

PHP構成を介してローダーを含めます:

 sudo vim /etc/php/7.0/fpm/php.ini 

次に、ファイルに行を追加して、ionCubeローダーを含めます。 [PHP]行の下のファイルのどこにあってもかまいません:

 zend_extension =/usr/lib/php/20170718/ioncube_loader_lin_7.0.so 

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

 sudo systemctl restart php7.0-fpm.service 

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

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

 sudo apt install -y mariadb-server 

MariaDBのバージョンを確認してください:

 mysql --version 
#mysql Ver 14.14 Distrib 5.7.26、Linux(x86_64)用、EditLineラッパーを使用

mysql_secureインストールスクリプトを実行してMariaDBのセキュリティを向上させ、MariaDB root user:のパスワードを設定します。

 sudo mysql_secure_installation 

それぞれの質問に答えてください:

 VALIDATE PASSWORDプラグインを設定しますか?  N  
新しいパスワード: your_secure_password
新しいパスワードを再入力してください: your_secure_password
匿名ユーザーを削除しますか? [Y / n] Y
rootログインをリモートで禁止しますか? [Y / n] Y
テストデータベースを削除してアクセスしますか? [Y / n] Y
今すぐ特権テーブルをリロードしますか? [Y / n] Y

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

 sudo mysql -u root -p 
#パスワードを入力

Shopware用の空のMariaDBデータベースとユーザーを作成し、資格情報を覚えておいてください:

 mysql> CREATE DATABASE dbname; 
mysql> GRANT ALLONdbname。*TO'username'IDENTIFIED BY'password';
mysql> FLUSH PRIVILEGES;

MariaDBを終了します:

 mysql> exit 

dbname、 username、passwordを自分の名前に置き換えます。

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

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

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

 sudo su --root 
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh
./acme.sh --install- accountemail [email protected]
source〜/ .bashrc
cd〜

acme.shのバージョンを確認してください:

 acme.sh --version 
#v2.8.1

RSAを取得する およびECC/ ECCSA ドメイン/ホスト名の証明書:

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

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

上記のコマンドを実行した後、証明書 およびキー になります:

  • 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 / ECCSA
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-ファイル/etc/letsencrypt/example.com_ecc/fullchain.pem--reloadcmd"sudo systemctl reload nginx.service"

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

証明書を取得したら、rootユーザーを終了し、通常のsudoユーザーに戻ります。

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

NGINX Webサーバーをインストールします:

 sudo apt install -y nginx 

NGINXのバージョンを確認してください:

 sudo nginx -v 
#nginxバージョン:nginx / 1.10.3

Shopware用にNGINXを構成します。 sudo vim /etc/nginx/sites-available/shopware.confを実行し、次の構成を追加します。

  server {listen 80;リッスン443ssl;

ssl_certificate /etc/letsencrypt/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/example.com/private.key;
ssl_certificate / etc /letsencrypt / example.com_ecc / fullchain.pem;
ssl_certificate_key /etc/letsencrypt/example.com_ecc/private.key; server_name example.com;ルート/var/ www / shopware; index shopware.php index.php;場所/{try_files$ uri $ uri / /shopware.php$is_args$args; }場所/recovery/ install {index index.php; try_files $ uri /recovery/install/index.php$is_args$args; } location〜 \ .php $ {include snippets / fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php7.0-fpm.sock; }}

ファイルをsites-enabledディレクトリ:にリンクして、新しいshopware.conf構成をアクティブ化します。

 sudo ln -s /etc/nginx/sites-available/shopware.conf /etc/nginx/sites-enabled 

構文エラーがないかNGINX構成を確認してください:

 sudo nginx -t 

NGINXサービスをリロードします:

 sudo systemctl reload nginx.service 
ステップ6-ショップウェアをインストールする

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

 sudo mkdir -p / var / www / shopware 

/ var / www /shopwareディレクトリの所有権を{jour_user}に変更します

 sudo chown -R {your_user}:{your_user} / var / www / shopware 

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

 cd / var / www / shopware 

wgetを介して最新のShopwareリリースをダウンロードして解凍します:

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

注: 新しいリリースがある場合は、ダウンロードURLを更新します。

/ var / www/shopwareディレクトリの所有権をwww-data。に変更します。

 sudo chown -R www-data:www-data / var / www / shopware 

memory_limit=256Mおよびupload_max_filesize=6Mを増やし、/etc/php/7.0/fpm/php.iniファイルでまだ設定されていない場合はallow_url_fopen=オンに設定します。

 sudo vim /etc/php/7.0/fpm/php.ini 

/etc/php/7.0/fpm/php.iniファイルに変更を加えた後、 php7.0-fpm.service:をリロードします。

 sudo systemctl reload php7.0-fpm.service 

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

ステップ7-ショップウェアのセットアップを完了します

言語を選択して[次へ]をクリックします:

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

Shopware TOSに同意し、[次へ]をクリックします:

データベースのクレデンシャルを入力し、[次へ]をクリックします:

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

その後、データベースのインポートが成功したことを示すメッセージが表示されます。

ライセンスを選択して[次へ]をクリックします:

いくつかの基本設定を入力してセットアップを完了し、[次へ]をクリックします:

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

管理領域にアクセスするには、URLに/backendを追加します。

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

リンク
  • https://en.shopware.com/
  • https://github.com/shopware/shopware

Debian
  1. Lets Encrypt and Secure Nginx with SSL/TLSをDebian9にインストールする

  2. NGINXを使用してShopwareをインストールし、Ubuntu18.04LTSで暗号化する方法

  3. Debian10にNginxを使用してMagentoをインストールする方法

  1. NGINXを使用してShopwareをインストールし、CentOS7で暗号化する方法

  2. NGINXを使用してShopwareをインストールし、Fedora30で暗号化する方法

  3. Debian9にNGINXを使用してForkCMSをインストールする方法

  1. Nginxを使用してPicoCMSをインストールし、CentOS7で暗号化する方法

  2. Nginxを使用してAutomadCMSをインストールし、Debian10でSSLを暗号化できるようにします

  3. Nginxを使用してDokuWikiをインストールし、CentOS8でSSLを暗号化する方法