みなさんこんにちは、個別指導塾コミット塾長、AWESOMEの船津です。
今回は案件で触ったMagentoの仮想環境作成についてお伝えします。
日本だとECCUBEとかwordpressのwoo commerce, welcartなんかがメジャーですが、海外だとMagentoを使っているところも多いみたいですね。
目次
環境
- Mac 10.12.3
- vagrant
- virtualbox
使用したサイト
- php7の仮想環境をサクッとつくれます
https://github.com/spiritix/vagrant-php7 Magentoの公式サイトです。ダウンロードするためには、アカウントの作成が必要です。
https://magento.com/
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フォルダがあるので、そこにある初期のファイルを消去して、ダウンロードしたファイルを突っ込みます。
今回はサンプルデータなしのバージョンを使用しました。
ここからダウンロードできます。
https://magento.com/tech-resources/download
手順はこちらのサイトを参考にされるとよいでしょう。
ちなみにデフォルトのmysqlユーザとパスは以下の通りです。
user:root
Pass:root
https://magento.flatz.jp/how-to-install-magento
admin_urlにアクセスできるようにする
実はこのままだとadmin_urlにアクセスできないので、ここのサイトを参考に以下のように記述します
http://magento.stackexchange.com/questions/89125/how-to-fix-magento-2-2-0-0-rc-admin-page-not-found-after-installation
###############################################
## 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を触ってみましたが、英語の情報はたくさんあるので、英語が出来ればぜひ触ってみてください。











