アンドロイド

ubuntu 18.04にprestashopをインストールする方法

How to Install and Configure Git and GitHub on Ubuntu 18.04/ Ubuntu 20.04(Linux)

How to Install and Configure Git and GitHub on Ubuntu 18.04/ Ubuntu 20.04(Linux)

目次:

Anonim

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

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

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

前提条件

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

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

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

sudo apt update && sudo apt upgrade sudo apt install unzip

MySQLデータベースの作成

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

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

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 change-with-strong-password して change-with-strong-password を変更 change-with-strong-password ことを忘れないでください。

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

EXIT;

PHPのインストールと構成

PHP 7.2はUbuntu 18.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.ini sudo sed -i "s/upload_max_filesize =.*/upload_max_filesize = 256M/" /etc/php/7.2/fpm/php.ini sudo sed -i "s/zlib.output_compression =.*/zlib.output_compression = on/" /etc/php/7.2/fpm/php.ini sudo sed -i "s/max_execution_time =.*/max_execution_time = 18000/" /etc/php/7.2/fpm/php.ini sudo sed -i "s/;date.timezone.*/date.timezone = UTC/" /etc/php/7.2/fpm/php.ini sudo 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 /tmp wget

ダウンロードが完了したら、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 コマンドを使用して、Webサーバーがサイトのファイルとディレクトリにフルアクセスできるように、正しいアクセス許可を設定します。

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 ^/()(-*)?(-+)?/.+.jpg$ /img/p/$1/$1$2$3.jpg last; rewrite ^/()()(-*)?(-+)?/.+.jpg$ /img/p/$1/$2/$1$2$3$4.jpg last; rewrite ^/()()()(-*)?(-+)?/.+.jpg$ /img/p/$1/$2/$3/$1$2$3$4$5.jpg last; rewrite ^/()()()()(-*)?(-+)?/.+.jpg$ /img/p/$1/$2/$3/$4/$1$2$3$4$5$6.jpg last; rewrite ^/()()()()()(-*)?(-+)?/.+.jpg$ /img/p/$1/$2/$3/$4/$5/$1$2$3$4$5$6$7.jpg last; rewrite ^/()()()()()()(-*)?(-+)?/.+.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$1$2$3$4$5$6$7$8.jpg last; rewrite ^/()()()()()()()(-*)?(-+)?/.+.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$7/$1$2$3$4$5$6$7$8$9.jpg last; rewrite ^/()()()()()()()()(-*)?(-+)?/.+.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/(+)(-*)(-+)?/.+.jpg$ /img/c/$1$2$3.jpg last; rewrite ^/c/(+)(-+)?/.+.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」をadminディレクトリに置き換えることを忘れないでください。 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インターフェースからインストールを完了できます。

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

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

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

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

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

結論

Ubuntu 18.04サーバーにPrestaShopを正常にインストールしました。 PrestaShopのドキュメントは、PrestaShopインストールの管理方法について詳しく知るための出発点として適しています。

Ubuntu Prestashop mysql php nginx ecommerce