前書き

Magentoは、eコマースWebサイトで最も人気のあるコンテンツ管理システムです。 これは、中小企業と大企業で同様に使用され、数千の拡張機能とテーマによって拡張できます。 Magentoは、MySQLデータベースシステム、PHPプログラミング言語、およびZend Frameworkの一部を使用します。

このチュートリアルでは、Ubuntu 14.04上のApache WebサーバーにMagentoをインストールする方法について説明します。これには、一般的なパフォーマンスとセキュリティの構成も含まれます。

前提条件

このガイドを始める前に、最初に完了する必要があるいくつかのステップがあります。

Magento操作を処理する必要があるため、少なくとも2 GBのRAMを備えたVPSにMagentoをインストールすることをお勧めします。 これにより、ストアの管理に関係するすべてのソフトウェアが動作するのに十分なメモリを確保できます。

`+ sudo +`権限を持つ非rootユーザーにアクセスする必要があります。 まだこれを行っていない場合は、https://www.digitalocean.com/community/tutorials/initial-server-setup-with-ubuntu-14-04 [Ubuntu 14.04初期サーバーセットアップガイド]を実行して、このアカウントを作成します。

さらに、VPSインスタンスにLAMP(Linux、Apache、MySQL、およびPHP)スタックをインストールする必要があります。 これらのコンポーネントがまだインストールおよび構成されていない場合は、このガイドを使用してhttps://www.digitalocean.com/community/articles/how-to-install-linux-apache-mysql-php-lamp-を学ぶことができますstack-on-ubuntu-14-04 [Ubuntu 14.04にLAMPをインストールする方法]。

これらの手順が完了したら、非rootユーザーとしてUbuntuサーバーに接続し、Magentoのインストールを続行できます。

ステップ1-ApacheとPHPを構成する

Magentoをダウンロードしてインストールする前に、Magentoのトラフィックとコンピューティングタスクを適切に処理するようにApacheとPHPを構成する必要があります。いくつかの追加モジュールをインストールしてアクティブにする必要があります。

Apache仮想ホスト

まず、ApacheがMagentoサイトを正しく管理する方法を認識できるように、仮想ホストファイルを構成する必要があります。 テキストエディタを使用して、 `+ / etc / apache2 / sites-available / `に新しい仮想ホストファイルを作成できます。 この例では、仮想ホストは「 magento +」と呼ばれていますが、必要に応じて別の名前を付けることができます。

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

Magentoの仮想ホストのニーズは非常に簡単です。 標準のHTTPポートであるポート80からのすべてのトラフィックをリッスンする `+ <VirtualHost> `タグで始まります。 次に、 ` DocumentRoot +`ディレクティブを使用して、サイトのファイルの場所をApacheに伝える行を追加します。

<VirtualHost *:80>
   DocumentRoot /var/www/html
</VirtualHost>

Magentoが適切に機能するために、いくつかのパラメーターを追加する必要があります。 ドキュメントルートを指す `+ <Directory> `タグ内に、Apacheのディレクトリインデックス作成、シンボリックリンクのサポート、多言語サポートのオプションを入力します。 また、 ` .htaccess +`ファイルがApache設定を上書きできるようにする行を追加します。これにより、個々のフォルダーをよりきめ細かく制御できます。

. . .
   <Directory /var/www/html/>
       Options Indexes FollowSymLinks MultiViews
       AllowOverride All
   </Directory>
. . .

これらすべてのコンポーネントを配置すると、仮想ホストファイルは次のようになります。

<VirtualHost *:80>
   DocumentRoot /var/www/html
   <Directory /var/www/html/>
       Options Indexes FollowSymLinks MultiViews
       AllowOverride All
   </Directory>
</VirtualHost>

サーバーブロックの書き込みが終了したら、ファイルを保存して閉じます。 Apacheで新しいサイトを有効にするには、 `+ a2ensite +`コマンドを使用します:

sudo a2ensite magento.conf

また、Apacheに付属しているデフォルトの仮想ホストを無効にします。これは、新しい仮想ホストと競合するためです。 Apacheでサイトを無効にするには、 `+ a2dissite +`コマンドを使用します:

sudo a2dissite 000-default.conf

PHPの設定

次に、ApacheがPHPプロセスに付与するメモリ量を変更する必要があります。 Magentoは、ほぼすべての処理にPHPを使用します。製品やカテゴリのインデックス作成などの複雑な操作には、かなりの量のメモリが必要です。 デフォルトでは、PHPはApacheで実行されている各スクリプトに最大128MBのメモリを割り当てます。 Magentoのスクリプトがメモリ不足にならず、スクリプトがクラッシュすることのないように、その制限を妥当な量まで引き上げる必要があります。

テキストエディタとルート権限でApacheのPHP設定ファイルを開きます。

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

PHPスクリプトごとのメモリ制限を宣言する次の行を見つけます。

memory_limit = 128M

その行を変更して、制限を512MBに引き上げます。 カタログ内の商品の数と毎日受け取る訪問者の数によっては、ストアのメモリニーズが高くなる場合があります。 一部の大規模ストアでは、メモリ制限を2GB以上に設定する必要がありますが、現時点では512MBで十分です。

memory_limit = 512M

*注意:*メモリ番号の最後には必ず「M」を使用してください。

この変更を完了したら、ファイルを保存して閉じます。 次回Apacheを再起動すると、メモリ制限の変更が有効になります。

Magentoには、PHPに付属するものに加えて、いくつかのPHPモジュールが必要です。 ローカルパッケージインデックスを更新した後、Ubuntuのデフォルトリポジトリから直接これらを取得できます。

sudo apt-get update
sudo apt-get install libcurl3 php5-curl php5-gd php5-mcrypt

これらの拡張機能により、MagentoはHTTPリクエスト、画像サムネイル、データ暗号化を適切に処理できます。 必要なパッケージがすべて揃ったので、ApacheのURL書き換えサポートとPHPの暗号化サポートを有効にできます。

sudo a2enmod rewrite
sudo php5enmod mcrypt

これらの構成と拡張機能の変更がすべて行われたら、Apacheサーバーインスタンスを再起動して、変更を適用します。

sudo service apache2 restart

ステップ2-MySQLデータベースとユーザーを作成する

MagentoはMySQLデータベースを使用して、製品や注文情報などのサイトデータを管理します。 MySQLをインストールして構成しましたが、Magentoで使用するデータベースとユーザーを作成する必要があります。

MySQLルートアカウントにログインすることから始めます。

mysql -u root -p

MySQLのインストール時に設定したMySQLのルートアカウントパスワードの入力を求められます。 正しいパスワードが送信されると、MySQLコマンドプロンプトが表示されます。

最初に、Magentoがデータを書き込むことができるデータベースを作成します。 この例では、データベースは「++」と呼ばれますが、好きな名前を付けることができます。

CREATE DATABASE ;

*注意:*すべてのMySQLステートメントはセミコロン( +; +)で終わる必要があるため、問題が発生した場合はそれを含めたことを確認してください。

次に、新しいデータベースの操作専用に使用される新しいMySQLユーザーアカウントを作成します。 単一機能のデータベースとアカウントを作成すると、アクセス許可やその他のセキュリティニーズをより適切に制御できるため、良いアイデアです。

新しいアカウントを「」と呼び、「」というパスワードを割り当てます。 これらの例はあまり安全ではないため、必ず別のユーザー名とパスワードを使用する必要があります。

CREATE USER @localhost IDENTIFIED BY '';

この時点で、Magento専用に作成されたデータベースとユーザーアカウントがあります。 ただし、ユーザーにはデータベースへのアクセス権がありません。 データベースへのユーザーアクセス権限を付与することにより、2つのコンポーネントをリンクする必要があります。

GRANT ALL PRIVILEGES ON .* TO @localhost IDENTIFIED BY '';

ユーザーがデータベースにアクセスできるようになったので、MySQLが最近行った特権の変更を認識できるように、特権をフラッシュする必要があります。 それが完了したら、MySQLコマンドプロンプトを終了できます。

FLUSH PRIVILEGES;
exit

これで、通常のSSHコマンドプロンプトに戻るはずです。

ステップ3-Magentoファイルのダウンロードと設定

これで、Magentoをダウンロードしてインストールする準備ができました。 Magento Community Editionの最新の安定バージョンを確認するには、http://www.magentocommerce.com/download [community download page]にアクセスしてください。 この例では、現在のリリース番号は1.9.0.1でしたが、使用可能な最新リリースの代わりにその番号を使用する必要があります。 新しいリリースには、多くの場合、新しい機能や改善された機能に加えて重要なセキュリティアップデートが含まれるため、Magentoの最新バージョンを使用することを常にお勧めします。

`+ wget +`を使用して、Magentoファイルアーカイブをホームディレクトリにダウンロードします。

cd ~
wget http://www.magentocommerce.com/downloads/assets//magento-.tar.gz

`+ tar +`を使用して、アーカイブファイルを抽出してMagentoディレクトリを再構築できます。

tar xzvf magento-.tar.gz

これで、ホームディレクトリに「+ magento 」というディレクトリが作成されます。 解凍したファイルをApacheのドキュメントルートに移動して、ウェブサイトの訪問者に提供できるようにする必要があります。 ` rsync `には ` .htaccess `のような重要な隠しファイルが含まれるため、 ` rsync `を使用してMagentoファイルをそこに転送します。 転送が完了したら、 ` magento +`フォルダーを削除してアーカイブすることにより、ホームディレクトリをクリーンアップできます。

sudo rsync -avP ~/magento/. /var/www/html/
rm -rf ~/magento*

`+ rsync `は、展開したディレクトリからすべてのコンテンツを安全に ` / var / www / html / +`のドキュメントルートにコピーします。 次に、ファイルとフォルダーの所有権をApacheのユーザーとグループに割り当てる必要があります。

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

この変更により、ApacheはMagentoファイルを作成および変更できます。 これで、Magentoのブラウザベースの設定インターフェースを使用してインストールプロセスを完了する準備ができました。

手順4-Webインターフェイスを介したインストールの完了

ブラウザでウェブインターフェースにアクセスするには、サーバーのドメイン名またはパブリックIPアドレスに移動します。

http:///

前の手順を正しく実行すると、Magentoのインストールウィザードが表示されます。 最初のページにライセンス契約が表示されます。* Continue *をクリックする前に同意する必要があります。

image:https://assets.digitalocean.com/articles/magento/magento_installation_wizard.png [Magento Installation Wizard]

次のページでは、言語、タイムゾーン、通貨などのロケール設定を変更できます。 これらを製品の販売先に最も適した設定に変更し、[続行]をクリックします。

image:https://assets.digitalocean.com/articles/magento/magento_localization_settings.png [マゼンタのローカリゼーション設定]

[構成]ページは3つのセクションに分かれています。 最初のセクションでは、MagentoがMySQLデータベースに接続する方法を設定できます。 * Database Type が「MySQL」に設定され、 Host が「localhost」に設定されていることを確認してください。 その後、*データベース名ユーザー名、および*ユーザーパスワード*に、MySQLデータベースとユーザーアカウントを以前に作成したときに決定した設定を入力する必要があります。

image:https://assets.digitalocean.com/articles/magento/magento_database_connection.png [Magentoデータベース接続]

[構成]ページの次のセクションでは、Apacheが制御する他の機能とともに、ストアのURLを構成できます。 ベースURL *がサーバーのドメイン名と一致することを確認してください。ドメイン名をまだ設定していない場合は、今のところサーバーのパブリックIPアドレスを使用できます。 *管理者パス*を「管理者」よりもわかりにくいものに変更して、誰かが管理パネルを見つけにくくすることをお勧めします。 また、 Webサーバー(Apache)リライトを使用する*をチェックして、サイトのURLをユーザーや検索エンジンにとって使いやすくすることも検討する必要があります。 この機能をサポートするために必要なApacheモジュール `+ mod_rewrite +`は既に有効になっており、使用する準備ができています。

image:https://assets.digitalocean.com/articles/magento/magento_web_access_options.png [Magento Web Access Options]

[構成]ページの最後の部分は、セッションデータの保存方法を選択するためのものです。 Magentoには、ユーザーセッションデータを保存する2つの方法が付属しています。 * File System メソッドは、サーバー上のファイルにセッションを保存する、最も簡単な方法です。 *データベース*メソッドは、セッションをMySQLデータベースのエントリとして保存し、複数のサーバーにまたがるMagentoインストールに最適です。 現時点では、 File System *メソッドをそのまま使用できます。これは、通常、すぐに使用できるためです。

image:https://assets.digitalocean.com/articles/magento/magento_session_storage_options.png [Magentoセッションストレージオプション]

設定オプションを選択して[*続行]をクリックすると、管理者アカウント作成ページに進みます。 ここで、Magentoストアの管理を担当する管理アカウントを作成します。 ユーザー名とパスワードが安全で推測しにくいことを確認してください。 既存のMagentoインストールからデータを移行する場合を除き、[暗号化キー]フィールドは空白のままにしてください。 このフィールドを空白のままにすると、[続行]をクリックしたときにMagentoが新しい暗号化キーを生成し、次のページに表示します。 後で移行の目的で必要になる場合に備えて、その暗号化キーを安全な場所に保存してください。

image:https://assets.digitalocean.com/articles/magento/magento_admin_account.png [マゼンタ管理者アカウント]

Webベースの設定が完了すると、Magentoのインストールが使用可能になります。 Webブラウザーでサーバーのドメイン名またはパブリックIPアドレスにアクセスして、新しいストアフロントを確認します。

http:///

すべてが正しく構成されていれば、次のようなストアフロントが表示されます。

画像:https://assets.digitalocean.com/articles/magento/magento_frontend.png [マゼンタストアフロント]

以前に設定した管理ディレクトリに移動して、新しい管理サイトにアクセスすることもできます。

http:////

管理者のユーザー名とパスワードでログインして、新しいダッシュボードを表示します。

image:https://assets.digitalocean.com/articles/magento/magento_backend.png [Magento Admin Dashboard]

結論

Magentoストアを立ち上げて実行したら、プロジェクトカタログの作成を開始して販売を開始する準備ができました。

SSL証明書を使用してサイトトラフィックを暗号化するための重要な次のステップ。 開始に役立つガイドは次のとおりです。https://www.digitalocean.com/community/tutorials/how-to-install-an-ssl-certificate-from-a-commercial-certificate-authority [インストール方法商業認証局からのSSL証明書]。