Magentoは、PHP Zend Frameworkに基づくeコマースWebサイト向けのオープンソースショップ(eコマースソフトウェア)およびコンテンツ管理システムです。 Magentoは、オブジェクト指向プログラミングとMVC(Model-View-Controller)アーキテクチャの規則を適用し、データベースとしてMySQL/MariaDBを使用します。開発されたソフトウェアは、Varien Incによって2008年に開始されました。過去数年間で、Magentoは、世界中のオンラインビジネスを強化するeコマースソフトウェアの信頼できるプラットフォームになりました。
このチュートリアルでは、Magento2.1のインストールについて説明します。データベースとしてNginxとPhp7.0-fpmおよびMySQLを使用してMagento2.1をインストールします。この目的のために、SELinuxが有効になっているCentOS7サーバーを使用します。
このステップでは、epelリポジトリからNginxをインストールします。 Epelはデフォルトでは使用できないため、Nginxをインストールする前にepelリポジトリをインストールする必要があります。
このyumコマンドを使用してepel-repositoryをインストールします。
yum -y install epel-release
これで、epelリポジトリからNginxをインストールできます。
yum -y install nginx
インストールが完了したら、Nginxを起動して追加し、起動時に開始します。
systemctl start nginx
systemctl enable nginx
Nginxはポート80で起動されます。これは、以下のnetstatコマンドで確認できます。
netstat -plntu
「コマンドが見つかりません」という結果が表示された場合は、このようなnet-toolsをインストールできます。
yum -y install net-tools
このチュートリアルでは、MagentoのインストールにPHP-FPM7を使用します。 WebtaticリポジトリのPHP7パッケージを使用します。
新しいwebtaticリポジトリをダウンロードしてシステムに追加します。
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
次に、以下のコマンドを実行して、Magentoのインストールに必要なすべてのパッケージと拡張機能を備えたPHP-FPM7をインストールします。
yum -y install php70w-fpm php70w-mcrypt php70w-curl php70w-cli php70w-mysql php70w-gd php70w-xsl php70w-json php70w-intl php70w-pear php70w-devel php70w-mbstring php70w-zip / pre>PHP-FPM7のインストールが完了したら、それを構成する必要があります。 php.iniファイルとphp-fpm構成の「www.conf」ファイルを構成します。
php.iniをvimで編集します。
vim /etc/php.inicgi.fix_pathinfo行762のコメントを解除し、値を0に変更します。
cgi.fix_pathinfo =0メモリ制限、最大実行時間を構成し、zlib出力圧縮を有効にします。必ず、以下に示すように値を設定してください。
memory_limit =512M
max_execution_time =1800
zlib.output_compression=オンセッションパスディレクトリのコメントを解除し、ディレクトリを次のように変更します。
session.save_path ="/ var / lib / php / session"保存して終了します。
次に、vimコマンドを使用してphp-fpm構成ファイルwww.confを編集します。
vim /etc/php-fpm.d/www.confPHP-FPM7は「nginx」ユーザーおよびグループで実行され、ユーザーおよびグループ行の値を「nginx」に変更します。
user =nginx
group =nginxサーバーポートではなく、ソケットファイルの下でphp-fpmを実行します。リッスンラインの値をソケットファイルのパスに変更します。
listen =/var/run/php/php-fpm.sockソケットファイルは「nginx」ユーザーとグループが所有している必要があり、リッスン行のコメントを解除して、以下に示すように値を変更します。
listen.owner =nginx
listen.group =nginx
listen.mode =0660最後に、PHP-FPM環境の行366〜370のコメントを解除します。
env [HOSTNAME] =$ HOSTNAME
env [PATH] =/ usr / local / bin:/ usr / bin:/ bin
env [TMP] =/ tmp
env [ TMPDIR] =/ tmp
env [TEMP] =/ tmp保存して終了します。
次に、セッションパスとphpsockファイルの場所用の新しいディレクトリを作成します。次に、所有者を「nginx」ユーザーとグループに変更します。
セッションパス用の新しいディレクトリを作成します。
mkdir -p / var / lib / php / session /
chown -R nginx:nginx / var / lib / php / session /php-fpmソケットファイルの場所用の新しいディレクトリを作成します。
mkdir -p / run / php /
chown -R nginx:nginx / run / php /PHP-FPM7の構成が完了しました。今すぐデーモンを起動し、以下のsystemctlコマンドを使用して起動時にデーモンを起動できるようにします。
systemctl start php-fpm
systemctl enable php-fpmエラーがない場合は、以下のコマンドを使用して、php-fpmがソケットファイルで実行されているかどうかを確認できます。
netstat -pl | grep php-fpm.sock
ステップ3-MySQL5.7サーバーをインストールする Magento 2.1には現在のMySQLバージョンが必要です。インストールには、MySQL5.6または5.7を使用できます。このチュートリアルでは、公式のMySQLリポジトリからインストールできるMySQL5.7を使用します。したがって、最初に新しいMySQLリポジトリを追加する必要があります。
MySQL5.7インストール用の新しいMySQLリポジトリをダウンロードして追加します。
yum localinstall https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm次に、以下のyumコマンドを使用してMySQLリポジトリからMySQL5.7をインストールします。
yum install mysql-community-serverインストールが完了したら、mysqlを起動し、起動時に開始するように追加します。
systemctl start mysqld
systemctl enable mysqldMySQL 5.7はデフォルトのrootパスワードでインストールされており、mysqld.logファイルに保存されています。 grepコマンドを使用して、MySQL5.7のデフォルトのパスワードを確認します。以下のコマンドを実行します。
grep'temporary' /var/log/mysqld.log
これで、現在のMySQLルートパスワードが表示されます。デフォルトのパスワードを変更する必要があります。
ユーザーrootとデフォルトのパスワードを使用してmysqlシェルに接続します。
mysql -u root -p
TYPE DEFAULT PASSWORD以下のクエリでデフォルトのルートパスワードを変更します。ここでは新しいパスワード「[メール保護]」を使用します。安全なパスワードを選択してください。
ALTER USER'root' @'localhost' IDENTIFIED BY'[email protected]';
flush特権;
デフォルトのMySQLルートパスワードが変更されました。次に、Magentoをインストールするための新しいユーザーと新しいデータベースを作成する必要があります。
「magentodb」という名前の新しいデータベースと、パスワード「[emailprotected]」を使用した新しいユーザー「magentouser」を作成します。次に、データベースのすべての特権を新しいユーザーに付与します。以下のmysqlクエリを実行します。
データベースmagentodbを作成します;
「[emailprotected]」で識別されるユーザー[emailprotected]を作成します;
「[emailprotected]」で識別される[emailprotected]にmagentodb。*のすべての権限を付与します;
フラッシュ権限;
MySQL 5.7のインストールと構成が完了し、Magentoインストール用のデータベースが作成されました。
ステップ4Magentoのインストールと構成 このステップでは、Magentoのインストールと構成を開始します。 Webルートディレクトリには、「/ var / www/magento2」ディレクトリを使用します。 MagentoパッケージのインストールにはPHPコンポーザーが必要です。
PHPComposerをインストールする
PHPパッケージの依存関係のインストールにはComposerを使用します。以下のcurlコマンドを使用してcomposerをインストールします。
curl -sS https://getcomposer.org/installer | sudo php --- install-dir =/ usr / bin --filename =composerインストールが完了したら、以下に示すようにコンポーザーのバージョンを確認できます。
composer -v
PHPComposerがインストールされました。
Magentoをダウンロードして抽出する
'/ var / www'ディレクトリに移動し、wgetコマンドを使用してMagentoコードをダウンロードします。
cd /var/www/
wget https://github.com/magento/magento2/archive/2.1.zipyumでunzipをインストールします。
yum -y install unzipMagentoコードを抽出し、ディレクトリの名前を「magento2」ディレクトリに変更します。
unzip 2.1.zip
mv magento2-2.1 magento2PHPの依存関係をインストールする
magento2ディレクトリに移動し、composerコマンドを使用してすべてのMagento依存関係をインストールします。
cd magento2
composer install -v
PHPDependencyのインストールが完了するのを待ちます。
Magento仮想ホストを構成する
Nginxディレクトリに移動し、「conf.d」ディレクトリに「magento.conf」という名前の新しい仮想ホスト構成ファイルを作成します。
cd /etc/nginx/
vim conf.d / magento.conf以下に仮想ホスト構成を貼り付けます。
アップストリームfastcgi_backend{
server unix:/run/php/php-fpm.sock;
}
server {
listen 80;
server_name magento.hakase-labs.com;
set $ MAGE_ROOT / var / www / magento2;
set $ MAGE_MODEdeveloper;
include / var / www / magento2 / ngin conf.sample;
}保存して終了します。
次に、構成をテストします。エラーが発生しなくなったら、Nginxサービスを再起動します。
nginx -t
systemctl restart nginx
Magento2.1をインストール
magento2ディレクトリに移動して、コマンドラインにMagentoをインストールします。
cd / var / www / magento2以下のコマンドを実行し、正しい構成になっていることを確認してください。変更が必要な値については、以下で説明します。
bin / magento setup:install --backend-frontname ="adminlogin" \
-key ="biY8vdWx4w8KV5Q59380Fejy36l6ssUb" \
--db-host ="localhost" \
- -db-name ="magentodb" \
--db-user ="magentouser" \
--db-password ="[email protected]" \
--language ="en_US "\
-currency =" USD "\
-timezone =" America / New_York "\
--use-rewrites =1 \
--use-secure =0 \
--base-url ="http://magento.hakase-labs.com" \
--base-url-secure ="https://magento.hakase-labs.com "\
--admin-user =adminuser \
[メール保護]\
[メール保護]\
--admin-firstname =admin \
- admin-lastname =user \
--cleanup-database値の変更:
- -backend-frontname:Magento管理者ログインページ「adminlogin」
- -key:独自のキーを生成します
- -db-host:データベースホストlocalhost
- -db-name:データベース名'magentodb'
- -db-user:データベースユーザー'magentouser'
- -db-password:データベースパスワード'[メール保護]'
- -base-url:MagentoのURL
- -admin-user:管理者ユーザー
- -admin-password:Magentoの管理者パスワード
- -admin-email:あなたのメールアドレス
コマンドにエラーがない場合は、以下の結果が表示されます。
Magento2.1がインストールされています。以下のコマンドを実行して、etcディレクトリの権限を変更し、magento2ディレクトリの所有者を「nginx」ユーザーに変更します。
chmod 700 / var / www / magento2 / app / etc
chown -R nginx:nginx / var / www / magento2MagentoCronを構成する
このcronジョブは、Magentoインデクサーに必要です。 'nginx'ユーザーとして新しいcronジョブを作成します(magentoはnginxユーザーおよびグループで実行されているため)。
crontab -u nginx -e以下の設定を貼り付けてください。
* * * * * / usr / bin / php / var / www / magento2 / bin / magento cron:run | grep-v「スケジュールでジョブを実行」>>/var/www/magento2/var/log/magento.cron.log
* * * * * / usr / bin / php / var / www / magento2 / update /cron.php> > /var/www/magento2/var/log/update.cron.log
* * * * * / usr / bin / php / var / www / magento2 / bin / magento setup:cron :run>> /var/www/magento2/var/log/setup.cron.log保存して終了します。
ステップ5-SELinuxとFirewalldを設定する このチュートリアルでは、SELinuxを「強制」モードのままにします。以下のコマンドを実行して、SELinuxのステータスを確認します。
sestatus
SELinuxは「強制」モードです。
以下のyumコマンドを使用してSELinux管理ツール「policycoreutils-python」をインストールします。
yum -y install policycoreutils-python'/ var /www/'ディレクトリに移動します。
cd / var / www /以下のコマンドを実行して、Magentoファイルとディレクトリのセキュリティコンテキストを変更します。
semanage fcontext -a -t httpd_sys_rw_content_t'/var/www/magento2(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t'/var/www/magento2/app/etc(/.* )?'
semanage fcontext -a -t httpd_sys_rw_content_t' / var / www / magento2 / var(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t' / var / www / magento2 / pub /media(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t'/var/www/magento2/pub/static(/.*)?'
restorecon -Rv'/ var / www / magento2 /'SELinuxの設定が行われます。次に、firewalldを構成する必要があります。
サーバーにfirewalldパッケージがまだインストールされていない場合は、インストールしてください。
yum -y install Firewalldファイアウォールを開始し、firewalldを追加して起動時に開始します。
systemctl start Firewalld
systemctl enable FirewalldHTTPおよびHTTPSのポートを開いて、WebブラウザからMagentoのURLにアクセスできるようにします。
Firewall-cmd --permanent --add-service =http
firewall-cmd --permanent --add-service =https
firewall-cmd --reload以下のコマンドを使用して、サービスの開いているポートを確認してください。
ファイアウォール-cmd--list-all
HTTPとHTTPSは接続の準備ができています。
ステップ6-テスト Webブラウザーを開き、MagentoのURLを参照します。私のは:
magento.hakase-labs.com
そして、デフォルトのMagentoホームページが表示されます。
次に、adminloginURLを開いて管理ダッシュボードにログインします。
magento.hakase-labs.com/adminlogin
管理者ユーザーとパスワードでログインします。
Magento管理ダッシュボード。
Magento 2.1は、CentOS 7サーバー上のNginx、PHP-FPM7、およびMySQL5.7とともに正常にインストールされました。
Cent OS