GNU/Linux >> Linux の 問題 >  >> Cent OS

CentOS7にMagento2.1をインストールする方法

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サーバーを使用します。

ステップ1-Nginxをインストールします

このステップでは、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 
ステップ2-PHP-FPMのインストールと構成

このチュートリアルでは、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.ini 

cgi.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.conf 

PHP-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 mysqld

MySQL 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.zip

yumでunzipをインストールします。

 yum -y install unzip 

Magentoコードを抽出し、ディレクトリの名前を「magento2」ディレクトリに変更します。

 unzip 2.1.zip 
mv magento2-2.1 magento2

PHPの依存関係をインストールする

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 / magento2

MagentoCronを構成する

この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 Firewalld

HTTPおよび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
  1. CentOS7にNginxをインストールして構成する方法

  2. CentOS7にNginxをインストールする方法

  3. CentOS7にRをインストールする方法

  1. CentOS7にNginxを使用してphpMyAdminをインストールする方法

  2. CentOS8にNginxをインストールする方法

  3. CentOS8にRをインストールする方法

  1. CentOS7にNginxを使用してSuiteCRMをインストールする方法

  2. CentOS7にNginxでMediaWikiをインストールする方法

  3. CentOS7にRestyaboardをインストールする方法