GNU/Linux >> Linux の 問題 >  >> Ubuntu

Ubuntu18.04にPrestaShopをインストールする方法

PrestaShopは、無料のオープンソースeコマースプラットフォームです。 PHPとMySQLに基づいており、無料およびプレミアムのプラグインとテーマで拡張できます。

直感的な管理インターフェース、複数の支払いゲートウェイ、多言語、分析、レポートなどの機能を備えたPrestaShopは、多くのオンラインマーチャントに最適なプラットフォームです。

このチュートリアルでは、Ubuntu18.04サーバーにPrestaShopをインストールする方法を示します。 NginxをWebサーバーとして使用し、最新のPHP7.2とMySQL/MariaDBをデータベースサーバーとして使用します。

前提条件#

このチュートリアルを続行する前に、次の前提条件を満たしていることを確認してください。

  • パブリックサーバーのIPを指すドメイン名を使用します。 example.comを使用します 。
  • Nginxは、次の手順に従ってUbuntuサーバーにインストールされます。
  • ユーザーの情報を暗号化するためにドメインにインストールされたSSL証明書。次の手順に従って、無料のLet’sEncryptSSL証明書をインストールできます。

システムパッケージを最新バージョンに更新し、解凍ユーティリティをインストールします。

sudo apt update && sudo apt upgradesudo apt install unzip

MySQLデータベースの作成#

PrestaShopはその情報をMySQLデータベースに保存します。

MySQLまたはMariaDBがサーバーにインストールされている場合は、この手順をスキップできます。それ以外の場合は、次のように入力して、UbuntuのデフォルトリポジトリからMySQL5.7サーバーパッケージをインストールします。

sudo apt install mysql-server mysql-client
MySQLを新しくインストールする場合は、mysql_secure_installationを実行することをお勧めします。 MySQLサーバーのセキュリティを向上させるコマンド。

データベースを作成するには、mysqlシェルにログインします。

sudo mysql

MySQLシェル内から、次のSQLステートメントを実行して、prestashopという名前の新しいデータベースを作成します。 :

CREATE DATABASE prestashop;

次に、prestashopという名前のMySQLユーザーアカウントを作成します 次のコマンドを実行して、ユーザーに必要な権限を付与します。

GRANT ALL ON prestashop.* TO 'prestashop'@'localhost' IDENTIFIED BY 'change-with-strong-password';
change-with-strong-passwordを変更することを忘れないでください 強力なパスワードを使用します。

完了したら、次のように入力してMySQLコンソールを終了します。

EXIT;

PHPのインストールと構成#

PHP7.2はUbuntu18.04のデフォルトのPHPバージョンであり、PrestaShopで完全にサポートされ、推奨されています。

次のコマンドを実行して、PHPと必要なすべてのPHPモジュールをインストールします。

sudo apt install php7.2-common php7.2-cli php7.2-fpm php7.2-opcache php7.2-gd php7.2-mysql php7.2-curl php7.2-intl php7.2-xsl php7.2-mbstring php7.2-zip php7.2-bcmath php7.2-soap

インストールプロセスが完了すると、PHP-FPMサービスが自動的に開始されます。次のように入力して確認できます:

sudo systemctl status php7.2-fpm

出力は次のようになります。

* php7.2-fpm.service - The PHP 7.2 FastCGI Process Manager
   Loaded: loaded (/lib/systemd/system/php7.2-fpm.service; enabled; vendor preset: enabled)
   Active: active (running) since Sun 2019-03-24 11:53:33 PDT; 14s ago
     Docs: man:php-fpm7.2(8)
 Main PID: 15853 (php-fpm7.2)
   Status: "Processes active: 0, idle: 2, Requests: 0, slow: 0, Traffic: 0req/sec"

次のsedを実行します 推奨されるPHPオプションを設定するコマンド:

sudo sed -i "s/memory_limit = .*/memory_limit = 1024M/" /etc/php/7.2/fpm/php.inisudo sed -i "s/upload_max_filesize = .*/upload_max_filesize = 256M/" /etc/php/7.2/fpm/php.inisudo sed -i "s/zlib.output_compression = .*/zlib.output_compression = on/" /etc/php/7.2/fpm/php.inisudo sed -i "s/max_execution_time = .*/max_execution_time = 18000/" /etc/php/7.2/fpm/php.inisudo sed -i "s/;date.timezone.*/date.timezone = UTC/" /etc/php/7.2/fpm/php.inisudo sed -i "s/;opcache.save_comments.*/opcache.save_comments = 1/" /etc/php/7.2/fpm/php.ini

PrestaShopのダウンロード#

この記事を書いている時点で、PrestaShopの最新の安定バージョンはバージョン1.7.6.2です。 。

次のwgetコマンドを使用して、PrestaShopダウンロードページからPrestaShopの最新バージョンをダウンロードします。

cd /tmpwget https://download.prestashop.com/download/releases/prestashop_1.7.6.2.zip

ダウンロードが完了したら、PrestaShopファイルを保持するディレクトリを作成します。

sudo mkdir -p /var/www/html/example.com

次に、PrestaShopアーカイブを抽出します:

unzip prestashop_*.zip

このアーカイブには、すべてのPrestaShopファイルを含む別のzipファイル「prestashop.zip」が含まれています。ドメインのドキュメントルートディレクトリにファイルを抽出します:

sudo unzip prestashop.zip -d /var/www/html/example.com

次のchownを使用して、ウェブサーバーがサイトのファイルとディレクトリに完全にアクセスできるように、適切な権限を設定します コマンド:

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

Nginxの構成#

これで、UbuntuサーバーにSSL証明書がインストールされたNginxがすでにインストールされているはずです。そうでない場合は、このチュートリアルの前提条件を確認してください。

テキストエディタを開き、次のファイルを作成します。

sudo nano /etc/nginx/sites-available/example.com
/etc/nginx/sites-available/example.com
server {

    listen 80;
    listen 443 ssl http2;

    server_name example.com www.example.com;
    root /var/www/html/example.com;
    index index.php;

    # SSL parameters
    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;
    include snippets/ssl.conf;
    include snippets/letsencrypt.conf;

    # Cloudflare / Max CDN fix
    location ~* \.(eot|otf|ttf|woff(?:2)?)$ {
        add_header Access-Control-Allow-Origin *;
    }

    # Do not save logs for these
    location = /favicon.ico {
        auth_basic off;
        allow all;
        log_not_found off;
        access_log off;
    }

    location = /robots.txt {
        auth_basic off;
        allow all;
        log_not_found off;
        access_log off;
    }

    # Images
    rewrite ^/([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+.jpg$ /img/p/$1/$1$2$3.jpg last;
    rewrite ^/([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+.jpg$ /img/p/$1/$2/$1$2$3$4.jpg last;
    rewrite ^/([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+.jpg$ /img/p/$1/$2/$3/$1$2$3$4$5.jpg last;
    rewrite ^/([0-9])([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+.jpg$ /img/p/$1/$2/$3/$4/$1$2$3$4$5$6.jpg last;
    rewrite ^/([0-9])([0-9])([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+.jpg$ /img/p/$1/$2/$3/$4/$5/$1$2$3$4$5$6$7.jpg last;
    rewrite ^/([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$1$2$3$4$5$6$7$8.jpg last;
    rewrite ^/([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$7/$1$2$3$4$5$6$7$8$9.jpg last;
    rewrite ^/([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$7/$8/$1$2$3$4$5$6$7$8$9$10.jpg last;
    rewrite ^/c/([0-9]+)(-[.*_a-zA-Z0-9-]*)(-[0-9]+)?/.+.jpg$ /img/c/$1$2$3.jpg last;
    rewrite ^/c/([a-zA-Z_-]+)(-[0-9]+)?/.+.jpg$ /img/c/$1$2.jpg last;

    # AlphaImageLoader for IE and fancybox
    rewrite ^images_ie/?([^/]+)\.(jpe?g|png|gif)$ js/jquery/plugins/fancybox/images/$1.$2 last;

    # Web service API
    rewrite ^/api/?(.*)$ /webservice/dispatcher.php?url=$1 last;

    # Installation sandbox
    rewrite ^(/install(?:-dev)?/sandbox)/(.*) /$1/test.php last;

    #Change this block to your admin folder
    location /admin_CHANGE_ME {
        if (!-e $request_filename) {
            rewrite ^/.*$ /admin_CHANGE_ME/index.php last;
        }
    }

    # File security
    # .htaccess .DS_Store .htpasswd etc
    location ~ /\. {
        deny all;
    }
    # Source code directories
    location ~ ^/(app|bin|cache|classes|config|controllers|docs|localization|override|src|tests|tools|translations|travis-scripts|vendor|var)/ {
        deny all;
    }
    # Prevent exposing other sensitive files
    location ~ \.(yml|log|tpl|twig|sass)$ {
        deny all;
    }

    # Prevent injection of php files
    location /upload {
        location ~ \.php$ {
            deny all;
        }
    }
    location /img {
        location ~ \.php$ {
            deny all;
        }
    }

    # PHP FPM part
    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php7.2-fpm.sock;
    }
}

example.comをPrestaShopドメインに置き換え、「admin_CHANGE_ME」を管理ディレクトリに置き換えることを忘れないでください。 Prestashopルートディレクトリの内容を一覧表示すると、ディレクトリ名を見つけることができます。

sudo ls -l /var/www/html/example.com | grep admin

また、SSL証明書ファイルへの正しいパスを使用していることを確認してください。この構成で使用されるスニペットは、このガイドで作成されています。

Nginxサービスを再起動する前に、構成に構文エラーがないか確認してください。

sudo nginx -t

出力は次のようになります。

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

最後に、次のように入力してNginxサービスを再起動します。

sudo systemctl restart nginx

PrestaShopのインストール#

PrestaShopがダウンロードされ、サーバーの構成が完了したので、Webインターフェイスからインストールを完了することができます。

ブラウザを開き、ドメインを入力すると、次のような画面が表示されます。

使用する言語を選択し、[次へ]ボタンをクリックします。

次の画面で、PrestaShopライセンス契約が表示されます。ライセンスを読み、「上記の利用規約に同意します」を選択します。続行するには:

次に、次の情報ページが表示されます。

インストール前のすべての要件が満たされていること、およびシステムがPrestaShopと互換性があることを確認してください。

次の画面で、店舗の詳細を入力する必要があります。メールアドレスは、PrestaShop管理バックエンドにアクセスするためのユーザー名です。

次に、セットアップウィザードで、データベース接続の詳細を入力するように求められます。以前に作成したMySQLユーザーとデータベースの詳細を入力します:

「次へ」ボタンをクリックすると、インストールが開始されます:

インストールには数分かかる場合があります。完了すると、PrestaShopがインストールされたことを通知する次のページが表示されます。

セキュリティ上の理由から、インストールディレクトリを削除する必要があります。これを行うには、ターミナルに戻り、次のrmを入力します。 コマンド:

sudo rm -rf /var/www/html/example.com/install

PrestaShop管理ダッシュボードにアクセスするには、[ストアの管理]ボタンをクリックします。メールアドレスとパスワードを入力すると、管理ダッシュボードにリダイレクトされます。

ここから、PrestaShopインストールのカスタマイズを開始し、新製品を追加できます。


Ubuntu
  1. Ubuntu18.04にMySQL8.0をインストールする方法

  2. Ubuntu20.04にMySQLをインストールする方法

  3. Ubuntu 18.04 /Ubuntu16.04にPHP7.4/ 7.3/7.2をインストールする方法

  1. Ubuntu18.04にMySQLをインストールする方法

  2. Ubuntu18.04にMagento2をインストールする方法

  3. Ubuntu20.04にJoomla3.9をインストールする方法

  1. Ubuntu18.04にMySQL8.0をインストールする方法

  2. UbuntuにMySQLをインストールする方法

  3. UbuntuにMySQLサーバーをインストールする方法