Magentoの仮想環境をphp7 ubuntuでサクッと作る

みなさんこんにちは、個別指導塾コミット塾長、AWESOMEの船津です。

今回は案件で触ったMagentoの仮想環境作成についてお伝えします。

日本だとECCUBEとかwordpressのwoo commerce, welcartなんかがメジャーですが、海外だとMagentoを使っているところも多いみたいですね。

環境

  • Mac 10.12.3
  • vagrant
  • virtualbox

使用したサイト

php7の環境をつくる

とりあえずphp7の環境を作ります。

git clone https://github.com/spiritix/vagrant-php7.git magento

cd magento

Vagrant up

ホストの設定をする

Macの場合、/private/etc/hostsに以下を書き込み、http://app.devでアクセスできるように設定します。

192.168.100.100 app.dev
192.168.100.100 phpmyadmin.dev

Magentoの下準備

上で紹介したイメージでほぼOKなのですが、一つだけphp-extensionを導入する必要があります。インストール後はapacheを再起動します

apt-get install php7.0-intl
sudo service apache2 restart

Magentoを入れる

先程作成したmagentoフォルダの下にpublicフォルダがあるので、そこにある初期のファイルを消去して、ダウンロードしたファイルを突っ込みます。
今回はサンプルデータなしのバージョンを使用しました。
ここからダウンロードできます。

手順はこちらのサイトを参考にされるとよいでしょう。
ちなみにデフォルトのmysqlユーザとパスは以下の通りです。
user:root
Pass:root

admin_urlにアクセスできるようにする

実はこのままだとadmin_urlにアクセスできないので、ここのサイトを参考に以下のように記述します

###############################################
## overrides deployment configuration mode value
## use command bin/magento deploy:mode:set to switch modes

# SetEnv MAGE_MODE developer

############################################
## uncomment these lines for CGI mode
## make sure to specify the correct cgi php binary file name
## it might be /cgi-bin/php-cgi

# Action php5-cgi /cgi-bin/php5-cgi
# AddHandler php5-cgi .php

############################################
## GoDaddy specific options

# Options -MultiViews

## you might also need to add this line to php.ini
## cgi.fix_pathinfo = 1
## if it still doesn't work, rename php.ini to php5.ini

############################################
## this line is specific for 1and1 hosting

#AddType x-mapp-php5 .php
#AddHandler x-mapp-php5 .php

############################################
## default index file

DirectoryIndex index.php

############################################
## adjust memory limit

php_value memory_limit 768M
php_value max_execution_time 18000

############################################
## disable automatic session start
## before autoload was initialized

php_flag session.auto_start off

############################################
## enable resulting html compression

#php_flag zlib.output_compression on

###########################################
## disable user agent verification to not break multiple image upload

php_flag suhosin.session.cryptua off

############################################
## adjust memory limit

php_value memory_limit 768M
php_value max_execution_time 18000

############################################
## disable automatic session start
## before autoload was initialized

php_flag session.auto_start off

############################################
## enable resulting html compression

#php_flag zlib.output_compression on

###########################################
## disable user agent verification to not break multiple image upload

php_flag suhosin.session.cryptua off

###########################################
## disable POST processing to not break multiple image upload

SecFilterEngine Off
SecFilterScanPOST Off

############################################
## enable apache served files compression
## http://developer.yahoo.com/performance/rules.html#gzip

# Insert filter on all content
###SetOutputFilter DEFLATE
# Insert filter on selected content types only
#AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript

# Netscape 4.x has some problems...
#BrowserMatch ^Mozilla/4 gzip-only-text/html

# Netscape 4.06-4.08 have some more problems
#BrowserMatch ^Mozilla/4\.0[678] no-gzip

# MSIE masquerades as Netscape, but it is fine
#BrowserMatch \bMSIE !no-gzip !gzip-only-text/html

# Don't compress images
#SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary

# Make sure proxies don't deliver the wrong content
#Header append Vary User-Agent env=!dont-vary

############################################
## make HTTPS env vars available for CGI mode

SSLOptions StdEnvVars

############################################
## workaround for Apache 2.4.6 CentOS build when working via ProxyPassMatch with HHVM (or any other)
## Please, set it on virtual host configuration level

## SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1
############################################

############################################
## enable rewrites

Options +FollowSymLinks
RewriteEngine on

############################################
## you can put here your magento root folder
## path relative to web root

#RewriteBase /magento/

############################################
## workaround for HTTP authorization
## in CGI environment

RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

############################################
## TRACE and TRACK HTTP methods disabled to prevent XSS attacks

RewriteCond %{REQUEST_METHOD} ^TRAC[EK]
RewriteRule .* - [L,R=405]

############################################
## redirect for mobile user agents

#RewriteCond %{REQUEST_URI} !^/mobiledirectoryhere/.*$
#RewriteCond %{HTTP_USER_AGENT} "android|blackberry|ipad|iphone|ipod|iemobile|opera mobile|palmos|webos|googlebot-mobile" [NC]
#RewriteRule ^(.*)$ /mobiledirectoryhere/ [L,R=302]

############################################
## never rewrite for existing files, directories and links

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l

############################################
## rewrite everything else to index.php

RewriteRule .* index.php [L]

############################################
## Prevent character encoding issues from server overrides
## If you still have problems, use the second line instead

AddDefaultCharset Off
#AddDefaultCharset UTF-8

############################################
## Add default Expires header
## http://developer.yahoo.com/performance/rules.html#expires

ExpiresDefault "access plus 1 year"
ExpiresByType text/html A0
ExpiresByType text/plain A0

###########################################
## Deny access to root files to hide sensitive application information
RedirectMatch 404 /\.git
order allow,deny
deny from all

order allow,deny
deny from all

order allow,deny
deny from all

order allow,deny
deny from all

order allow,deny
deny from all

order allow,deny
deny from all

order allow,deny
deny from all

order allow,deny
deny from all

order allow,deny
deny from all

order allow,deny
deny from all

order allow,deny
deny from all

order allow,deny
deny from all

order allow,deny
deny from all

order allow,deny
deny from all

order allow,deny
deny from all

order allow,deny
deny from all

order allow,deny
deny from all

order allow,deny
deny from all

################################
## If running in cluster environment, uncomment this
## http://developer.yahoo.com/performance/rules.html#etags

#FileETag none

############################################
## Add custom headers

Header set X-Content-Type-Options "nosniff"
Header set X-XSS-Protection "1; mode=block"

これでMagentoがインストールされたはずです。

お疲れ様でした。

 

おわり

Magentoを触ってみましたが、英語の情報はたくさんあるので、英語が出来ればぜひ触ってみてください。

Instagram Feed

Load More

Instagram

専務取締役

funatsukeisuke

WEBと教育を組み合わせて何かおもしろいことをやってやろうと画策しています。AWESOMEでは開発を担当、個別指導塾コミットでは塾長と2足の草鞋を履きながら日々勉強しています。

他の投稿を見る →