みなさんこんにちは、個別指導塾コミット塾長、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を触ってみましたが、英語の情報はたくさんあるので、英語が出来ればぜひ触ってみてください。