ウェブサイト検索

Ubuntu 22.04にPrestashopをインストールする方法


Ubuntu 22.04にPrestashopをインストールする方法

このページで

  1. 前提条件
  2. Apacheウェブサーバーのインストール
  3. MariaDBデータベースサーバーのインストール
  4. PHPのインストール
  5. Prestashopシステムチェックのインストール
  6. MariaDBデータベースとユーザーの作成
  7. Prestashopソースコードのダウンロード
  8. Apacheのバーチャルホストの設定
  9. ウェブインストーラーを使用してPrestashopをインストールする
  10. 結論

Prestashopは、PHPで書かれた無料のオープンソースのeコマースソリューションです。これにより、自己ホスト型でオンラインストアを作成し、オンラインビジネスを成長させることができます。Prestashopは、包括的なeコマースウェブサイトを構築するための完全にカスタマイズ可能で機能豊富なeコマースソリューションです。現在、Prestashopは世界中で25万以上のオンラインストアに使用されており、65の言語で利用可能です。

このチュートリアルでは、LAMPスタック(Linux、Apache、MySQL/MariaDB、PHP)を使用して、Ubuntu 22.04サーバーにオープンソースのeコマースソリューションであるPrestaShopをインストールする方法を説明します。このチュートリアルには、PHPウェブアプリケーションのためのLAMPスタックの基本的な設定も含まれています。

前提条件

このチュートリアルを完成させるために必要なものは次のとおりです:

  • Ubuntu 22.04サーバー - このチュートリアルでは、ホスト名が「server-ubuntu」でIPアドレスが「192.168.5.100」のUbuntuサーバーを使用します。
  • ルート管理特権を持つ非ルートユーザー。
  • ドメイン名がUbuntuサーバーのIPアドレスを指している。

Apacheウェブサーバーのインストール

次のステップでは、UbuntuシステムにApacheウェブサーバーをインストールします。Prestashopのeコマースには、最低でもApacheウェブサーバーv2.2が必要です。このインストールでは、Ubuntuのリポジトリにデフォルトで用意されているApachev2.4をインストールします。

パッケージをインストールする前に、常にリポジトリを更新し、リフレッシュすることをお勧めします。したがって、Ubuntuのリポジトリを更新するにはaptコマンドを実行してください。

sudo apt update

次のaptコマンドを使用してApacheウェブサーバーをインストールします。インストールの確認を求められたら、Yを入力して受け入れ、ENTERを押してください。

sudo apt install apache2

Apacheウェブサーバーがインストールされたら、'apache2' サービスを確認し、動作していることを確認する必要があります。次のsystemctlコマンドを使用して、'apache2' サービスを確認できます。

あなたは「apache2」サービスが有効であるという出力を受け取ります。これは、システム起動時に自動的に実行されることを意味します。そして、現在の「apache2」サービスの状態は実行中です。

sudo systemctl is-enabled apache2
sudo systemctl status apache2

最後に、HTTPおよびHTTPSポートをUFWファイアウォールに追加する必要があります。次のufwコマンドを使用して、カスタムルール「Apache Full」をUFWファイアウォールに追加します。その後、有効なUFWルールの一覧を確認してください。

「Apache Full」ルールがUFWファイアウォールに追加されたという出力が表示されます。

sudo ufw allow "Apache Full"
sudo ufw status

MariaDBデータベースサーバーのインストール

Prestashop は MySQL/MariaDB データベースのみをサポートしているため、これから Ubuntu マシンにこのデータベースサーバーをインストールします。この例では、Prestashop のインストール用のデータベースとして MariaDB をインストールして使用します。

MariaDBデータベースサーバーをインストールするには、以下のaptコマンドを使用してください。インストールの確認を求められたらYと入力し、その後ENTERを押してください。

sudo apt install mariadb-server

MariaDBサーバーがインストールされた後、次のsystemctlコマンドを使用して'mariadb'サービスを確認し、検証してください。'mariadb'サービスが有効であるという出力が得られるはずで、これはシステムのブート時に自動的に実行されることを意味します。そして、'mariadb'サービスの状態は'実行中'です。

sudo systemctl is-enabled mariadb
sudo systemctl status mariadb

最後に、MariaDBのデプロイメントを保護する必要があります。これは、MariaDBサーバーパッケージに付属しているコマンドラインの'mysql_secure_installation'を使用して行うことができます。

次の「mysql_secure_installation」を実行して、MariaDBサーバーのデプロイメントを設定および保護し始めてください。

sudo mysql_secure_installation

MariaDBサーバーの展開に関する以下の質問が表示されます:

  • unix_socket 認証に切り替えますか?. n を入力して ENTER を押してください。デフォルトの MariaDB の root ユーザーはすでに保護されています。オプションで、y を入力することで有効にすることもできます。
  • ルートパスワードを変更しますか? 確認するにはyを入力して新しいMariaDBルートパスワードを設定してください。
  • 匿名ユーザーを削除しますか? 確認するにはyを入力してください。
  • リモートでのルートログインを禁止します? 確認するにはyを入力してください。MariaDBのルートユーザーを使用している場合、ローカル接続のみが許可されます。
  • テストデータベースとそのアクセスを削除しますか? 確認してデフォルトデータベース'test'を削除するにはyを入力してください。
  • 最後に、MariaDBサーバーのすべてのテーブル権限を再度読み込み、新しい変更を適用するためにyを入力してください。

PHPのインストール

最新のPrestashopインストールバージョンでは、少なくともPHP v7.1を使用することが推奨されています。このデモでは、Prestashopに PHP 7.4を使用し、最新のUbuntu 22.04システムにサードパーティのリポジトリを介してPHP 7.4をインストールすることができます。

PHPをインストールする前に、リポジトリを管理するための基本的なパッケージ依存関係をインストールするために、次のaptコマンドを実行してください。

sudo apt install software-properties-common apt-transport-https -y

写真

次に、以下の'add-apt-repository'コマンドを使用して、UbuntuシステムにPHP 7.4 PPAリポジトリを追加します。また、次のコマンドは自動的にUbuntuのリポジトリを更新およびリフレッシュします。

sudo add-apt-repository ppa:ondrej/php -y

次に、Prestashop用のいくつかの拡張機能を備えたPHPパッケージをインストールするために、次の適切なコマンドを使用します。インストールの確認を求められたら、Yを入力して同意し、ENTERを押してください。

sudo apt install php7.4 php7.4-curl php7.4-xmlrpc php7.4-soap php7.4-intl php7.4-zip php7.4-cli php7.4-mysql php7.4-common php7.4-opcache php7.4-memcached php7.4-bcmath php7.4-gd php7.4-mbstring php7.4-xml php7.4-gmp php7.4-imagick

PHPがインストールされたら、テキストエディタを使用してPHP設定ファイル「/etc/php/7.4/apache2/php.ini」を開きます。この例では、nanoを使用します。

sudo nano /etc/php/7.4/apache2/php.ini

以下のようにPHP設定の詳細を変更してください。現在のサーバー環境に合わせて、オプションのdate.timezoneとmemory_limitを必ず変更してください。

date.timezone = Europe/Paris
max_execution_time = 130
memory_limit = 256M
allow_url_fopen = On
allow_url_include = Off
post_max_size = 128M
upload_max_filesize = 128M
max_input_vars = 5000

変更を保存し、作業が完了したらファイルを閉じてください。

次に、以下の systemctl コマンドを実行して、'apache2' サービスを再起動します。また、これにより 'php.ini' の PHP 設定ファイルの変更が適用されます。

sudo systemctl restart apache2

今、ApacheウェブサーバーとPHPが実行されているはずです。それを確認するには、phpinfoファイルを作成し、ウェブブラウザを通してテストしてください。

次のコマンドを実行して新しいphpinfoファイル「/var/www/html/info.php」を作成してください。このファイルは今やURLパス「/info.php」を介してアクセスできるようになります。

cat <<EOF | sudo tee /var/www/html/info.php
<?php
phpinfo();
?>
EOF

ウェブブラウザを開き、サーバーのIPアドレスの後にファイルのパス'/info.php'を続けてphpinfoファイルにアクセスします(http://192.168.5.100/info.php)。PHPのインストールに関する詳細な情報が表示されるページが表示されるはずです。

Prestashopシステムチェックのインストール

Prestashopをインストールする前に、現在のサーバーにPrestashop Checkerをインストールしましょう。これは、Prestashopのインストールのためにサーバー環境をチェックするPHPスクリプトです。

/var/www/html ディレクトリに Prestashop チェッカー スクリプトをダウンロードするために、次のコマンドを実行してください。

cd /var/www/html/
wget https://github.com/PrestaShop/php-ps-info/archive/refs/tags/v1.1.tar.gz

Prestashop Checkerのソースを抽出し、ディレクトリの名前をcheck-psに変更してください。

tar -xzvf v1.1.tar.gz
mv php-ps-info-1.1 check-ps

ウェブブラウザに戻り、サーバーのIPアドレスに続いてURLパス「check-ps」を訪問してください(例:http://192.168.5.100/check-ps/phppsinfo.php)。

デフォルトのユーザーとパスワード'prestashop'でログインします。

今、すべてのLAMPスタック構成がPrestashopの要件を満たしていることを確認してください。

設定が不足している場合は、PHP設定ファイル「/etc/php/8.1/apache2/php.ini」を編集できます。また、拡張機能が不足している場合は、PHP拡張機能をインストールすることもできます。

MariaDBデータベースとユーザーの作成

Prestashopのインストールを開始する前に、新しいMariaDBデータベースとユーザーを作成する必要があります。

以下の「mysql」コマンドを実行して、MariaDBの「root」ユーザーとしてMariaDBシェルにログインします。パスワードを求められたら、あなたのパスワードを入力するか、ENTERキーを押すことができます。

sudo mysql -u root -p

次に、Prestashopの新しいデータベースとユーザーを作成するために、以下のクエリを実行します。この例では、Prestashopのデータベースはprestashopdbで、MariaDBユーザーはprestashopになります。ここで強力なパスワードに変更できます。

CREATE DATABASE prestashopdb;
GRANT ALL PRIVILEGES ON prestashopdb.* TO 'prestashop'@'localhost' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;

次に、MariaDBユーザー'prestashop@localhost'の権限を確認するために次のクエリを実行してください。その後、MariaDBシェルからログアウトします。'prestashop@localhost'ユーザーが'prestashopdb'データベースに対して権限を持っていることに関する情報が表示されるはずです。

SHOW GRANTS FOR prestashop@localhost;
quit

Prestashopソースコードのダウンロード

MariaDBデータベースとユーザーを作成した後、Prestashopのソースコードをダウンロードし、Prestashopインストールディレクトリの適切な権限と所有権を設定します。

以下の apt コマンドを実行して、'unzip' パッケージをインストールしてください。これを使用して Prestashop のソースコードを抽出します。

sudo apt install unzip -y

/var/www/に作業ディレクトリを移動し、以下のwgetコマンドを使用してPrestashopのソースコードをダウンロードしてください。

cd /var/www/
wget https://download.prestashop.com/download/releases/prestashop_1.7.8.7.zip

以下の「unzip」コマンドを使用して、Prestashopのソースコードを新しいディレクトリ「/var/www/prestashop」に抽出してください。

unzip prestashop_1.7.8.7.zip -d /var/www/prestashop

今、Prestashopのインストールディレクトリ「/var/www/prestashop」の所有権を変更し、その権限も変更してください。所有権はユーザー「www-data」にする必要があり、権限は「u+rw」(所有者/ユーザーがディレクトリに書き込むことができます)です。

chown -R www-data:www-data /var/www/prestashop
chmod u+rw /var/www/prestashop

Apacheのバーチャルホストの設定

すべての依存関係と設定が整い、Prestashopのソースコードがダウンロードされました。次に、PrestashopのインストールのためにApacheのバーチャルホストを設定します。

始める前に、ドメイン名があなたのUbuntuサーバーのIPアドレスに向けられており、SSL証明書が生成されていることを確認してください。また、PrestashopのためにいくつかのApache2モジュールを有効にする必要があります。

次のコマンドを使用してAapche2モジュールを有効にします。

sudo a2enmod ssl rewrite headers

Prestashop のために新しい仮想ホスト設定を 'prestashop.conf' として作成するには、以下のコマンドを使用してください。すべての Apache2 仮想ホストファイルは '/etc/apache2/sites-available/' ディレクトリに配置する必要があります。

sudo nano /etc/apache2/sites-available/prestashop.conf

prestashopのために次の仮想ホスト設定を追加してください。ドメイン名とSSL証明書のパスを必ず変更してください。

<VirtualHost *:80>
    ServerName howtoforge.local
    Redirect permanent / https://howtoforge.local/
</VirtualHost>
<VirtualHost *:443>
    ServerAdmin [email 
    DocumentRoot /var/www/prestashop
    ServerName howtoforge.local
    Protocols h2 http/1.1
    SSLEngine On
    SSLCertificateFile /etc/letsencrypt/live/howtoforge.local/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/howtoforge.local/privkey.pem
    <Directory /var/www/prestashop>
        Options +FollowSymlinks
        AllowOverride All
        Require all granted
    </Directory>
     ErrorLog /var/log/apache2/prestashop_error.log
     CustomLog /var/log/apache2/prestashop_access.log combined
</VirtualHost>

完了したら設定ファイルを保存し、ファイルを閉じてください。

次に、次のコマンドを実行して仮想ホストファイル「prestashop.conf」を有効にします。その後、設定を確認してください。

設定にエラーがない場合は、「構文OK」という出力メッセージを受け取るはずです。

sudo a2ensite prestashop.conf
sudo apachectl configtest

次に、以下のsystemctlコマンドを実行して、'apache2'サービスを再起動し、新しい変更を適用します。そして、ウェブブラウザを通じてPrestashopのインストールウィザードを開始できます。

sudo systemctl restart apache2

ウェブインストーラーを使用してPrestashopをインストールする

ウェブブラウザに戻り、Prestashopのインストール先のドメイン名をブラウズします(例: https://howtoforge.local/)。ウェブインストーラーがPrestashopのインストールを開始しているのが表示されるはずです。

PrestaShopのインストールのデフォルト言語を選択し、次へをクリックしてください。PrestaShopのデフォルトのインストール言語は英語です。

Prestashopライセンス契約ページが表示されたら、同意するをクリックしてください。

今、あなたのPrestashopインストールのために新しい管理者ユーザーを作成してください。管理ユーザー、メールアドレス、パスワードの詳細を入力します。それから、データベースの設定に進むために次へをクリックしてください。

店舗のコンテンツについては、'いいえ'を選択し、'次へ'をクリックできます。

Prestashopのデータベース設定のために、データベースユーザー、データベース名、そして自分が作成したパスワードを入力してください。それから、次へをクリックすると、Prestashopのインストールが始まります。

下に、インストールが進行中であることがわかります。

Prestashopのインストールが完了すると、Prestashopのインストールに関する情報を表示するページが表示されます。また、追加で行うべき変更があります。それは、Prestashopのドキュメントルートにあるinstallディレクトリを削除することです。

ターミナルサーバーに戻り、次のコマンドを実行してPrestashopディレクトリのいくつかを書き込み可能にし、Prestashopのinstallディレクトリを削除します。

chmod u+rw /var/www/prestashop/var/cache
chmod u+rw /var/www/prestashop/var/logs
chmod u+rw /var/www/prestashop/img
chmod u+rw /var/www/prestashop/mails
chmod u+rw /var/www/prestashop/modules
chmod u+rw /var/www/prestashop/translations
chmod u+rw /var/www/prestashop/upload
chmod u+rw /var/www/prestashop/download
chmod u+rw /var/www/prestashop/app/config
chmod u+rw /var/www/prestashop/app/Resources/translations
rm -rf /var/www/prestashop/install

ウェブブラウザに戻り、ストアを管理するボタンをクリックしてPrestashop管理ログインにアクセスします。新しいPrestashopログインページにリダイレクトされますので、Prestashop管理URLのパスを必ずコピーしてください。

Prestashopの管理者ユーザー名とパスワードを入力し、'ログイン'をクリックしてください。

あなたはPrestashopの管理ダッシュボードを取得します。

この時点で、Ubuntu 22.04にオープンソースのeコマースソリューションであるPrestashopのインストールが完了しました。

結論

このチュートリアルを通じて、Ubuntu 22.04サーバーにeCommerceソリューションであるPrestashopをインストールする方法を学びました。また、Ubuntuシステム上でLAMPスタック(Apache、MariaDB、PHP)の基本的なインストールと設定、MariaDBサーバーのセキュリティ確保、およびApache仮想ホストの設定方法についても学びました。

最終的に、あなたはLAMPスタックでUbuntuサーバー上に動作するPrestashop eCommerceソリューションを持ち、SSL証明書で保護されています。これで、カスタマイズのためにテーマを追加し、eCommerceウェブサイトを拡張するためにプラグインを追加できます。その後、商品を追加できます。

関連記事: