Ref: https://magento-research.github.io/pwa-studio/venia-pwa-concept/setup/
https://hackernoon.com/getting-started-with-magento-pwa-studio-with-poc-c54c33f8d038
Check Requirements:
It say my working environment need:
NodeJS >=10.14.1 LTS
Yarn >=1.13.0
Another source say: ‘You must have a version of node.js >= 8.0.0, and a version of npm >= 5.0.0. The latest LTS versions of both are recommended.’
Check my current:
|
1 2 3 4 5 6 |
teddy@teddy:~/Documents/works/mce230$ node -v v8.9.4 teddy@teddy:~/Documents/works/mce230$ npm -v 6.7.0 teddy@teddy:~/Documents/works/mce230$ yarn -v 1.12.3 |
I use NVM (http://myprojects.advchaweb.com/index.php/2018/01/24/ubuntu-16-04-3-installation-problem-and-solution/) to install node js. It seems my current didn’t fit the requirements. I need to install node js version 10.x.x and update yarn and npm.
CHECK INSTALLED NODE VERSION:
|
1 2 3 4 5 6 7 8 9 10 11 12 |
teddy@teddy:~/Documents/works/mce230$ nvm ls -> v8.9.4 v8.15.0 default -> 8.9.4 (-> v8.9.4) node -> stable (-> v8.15.0) (default) stable -> 8.15 (-> v8.15.0) (default) iojs -> N/A (default) lts/* -> lts/dubnium (-> N/A) lts/argon -> v4.9.1 (-> N/A) lts/boron -> v6.16.0 (-> N/A) lts/carbon -> v8.15.0 lts/dubnium -> v10.15.1 (-> N/A) |
or use ‘nvm ls-remote’ to see all the node js list and version.
Use nvm to install node js v10..15.1. it’s a latest LTS version for v10.x.
|
1 2 3 4 5 6 7 |
teddy@teddy:~/Documents/works/mce230$ nvm install 10.15.1 Downloading and installing node v10.15.1... Downloading https://nodejs.org/dist/v10.15.1/node-v10.15.1-linux-x64.tar.xz... ######################################################################## 100,0% Computing checksum with sha256sum Checksums matched! Now using node v10.15.1 (npm v6.4.1) |
It also make it the new version as an active node js version!
|
1 2 |
teddy@teddy:~/Documents/works/mce230$ node -v v10.15.1 |
or use ‘nvm use 10.15.1’
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
teddy@teddy:~/Documents/works/mce230$ nvm ls v8.9.4 v8.15.0 -> v10.15.1 default -> 8.9.4 (-> v8.9.4) node -> stable (-> v10.15.1) (default) stable -> 10.15 (-> v10.15.1) (default) iojs -> N/A (default) lts/* -> lts/dubnium (-> v10.15.1) lts/argon -> v4.9.1 (-> N/A) lts/boron -> v6.16.0 (-> N/A) lts/carbon -> v8.15.0 lts/dubnium -> v10.15.1 teddy@teddy:~/Documents/works/mce230$ nvm use 10.15.1 Now using node v10.15.1 (npm v6.4.1) teddy@teddy:~/Documents/works/mce230$ nvm ls v8.9.4 v8.15.0 -> v10.15.1 default -> 8.9.4 (-> v8.9.4) node -> stable (-> v10.15.1) (default) stable -> 10.15 (-> v10.15.1) (default) iojs -> N/A (default) lts/* -> lts/dubnium (-> v10.15.1) lts/argon -> v4.9.1 (-> N/A) lts/boron -> v6.16.0 (-> N/A) lts/carbon -> v8.15.0 lts/dubnium -> v10.15.1 teddy@teddy:~/Documents/works/mce230$ node -v v10.15.1 |
but npm version now is v6.4.1. Yarn already installed for the previous node js version but not yet for the current v10.15.1 version. I need to install it again. NOTE: Yarn is more recommended than npm!
Install Yarn (https://yarnpkg.com/en/docs/install#debian-stable)
NOTE: I need to uninstall ‘cmdtest’ first (https://github.com/yarnpkg/yarn/issues/2821).
|
1 2 3 4 5 |
sudo apt remove cmdtest curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add - echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list sudo apt update sudo apt install yarn |
Check yarn version
|
1 2 |
teddy@teddy:~/Documents/works/mce230$ yarn -v 1.13.0 |
INSTALL Magento 2.3 Backend
or INSTALL PWA Studio First??? –> I prefer to install the backend first!
NOTE: I need to use composer to install the backend.
check the composer version
|
1 2 |
teddy@teddy:~/Documents/works/mce230-pwa$ composer -V Composer version 1.6.2 2018-01-05 15:28:41 |
When I use this composer version to download and install magento
|
1 |
composer create-project --repository=https://repo.magento.com/ magento/project-community-edition:2.3.0 /home/teddy/Documents/works/mce230-pwa |
it can’t download from repo. it’s did nothing after I supplied the repo.magento.com account for a long time! I NEED TO UPDATE COMPOSER!
But when I want to update the composer, I got an error ‘SHA384 is not supported by your openssl extension, could not verify the phar file integrity’
|
1 2 3 4 5 6 7 8 9 10 11 12 |
teddy@teddy:~/Documents/works/mce230-pwa$ sudo composer selfupdate [sudo] password for teddy: Updating to version 1.8.4 (stable channel). Downloading (100%) [RuntimeException] SHA384 is not supported by your openssl extension, could not verify the pha r file integrity self-update [-r|--rollback] [--clean-backups] [--no-progress] [--update-keys] [--stable] [--preview] [--snapshot] [--set-channel-only] [--] [<version>] |
Based on this link https://github.com/composer/composer/issues/7669, to fix this problem I need to manually download and install composer. Follow this https://getcomposer.org/download/ to download and install composer. It’s almost same. But to install composer system wide, use ‘sudo php composer-setup.php –install-dir=/usr/local/bin –filename=composer’ instead of ‘php composer-setup.php’
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
teddy@teddy:~/Documents/works/mce230-pwa$ php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" teddy@teddy:~/Documents/works/mce230-pwa$ php -r "if (hash_file('sha384', 'composer-setup.php') === '48e3236262b34d30969dca3c37281b3b4bbe3221bda826ac6a9a62d6444cdb0dcd0615698a5cbe587c3f0fe57a54d8f5') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" Installer verified teddy@teddy:~/Documents/works/mce230-pwa$ sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer [sudo] password for teddy: All settings correct for using Composer Downloading... Composer (version 1.8.4) successfully installed to: /usr/local/bin/composer Use it: php /usr/local/bin/composer teddy@teddy:~/Documents/works/mce230-pwa$ composer -V Cannot create cache directory /home/teddy/.composer/cache/repo/https---repo.packagist.org/, or directory is not writable. Proceeding without cache Composer version 1.8.4 2019-02-11 10:52:10 teddy@teddy:~/Documents/works/mce230-pwa$ php -r "unlink('composer-setup.php');" |
To avoid warning like this:
|
1 |
Cannot create cache directory /home/teddy/.composer/cache/repo/https---repo.packagist.org/, or directory is not writable. Proceeding without cache |
so do like this:
|
1 |
teddy@teddy:~$ sudo chmod 777 -R /home/teddy/.composer/ |
NOTE: Also it recommended to install prestissimo (composer plugin) from https://github.com/hirak/prestissimo
|
1 2 3 4 5 6 7 8 9 10 |
teddy@teddy:~$ composer global require hirak/prestissimo Changed current directory to /home/teddy/.composer Using version ^0.3.8 for hirak/prestissimo ./composer.json has been updated Loading composer repositories with package information Updating dependencies (including require-dev) Package operations: 1 install, 0 updates, 0 removals - Installing hirak/prestissimo (0.3.8): Downloading (100%) Writing lock file Generating autoload files |
I tried to install magento 2.3 via composer but failed for some reasons. Like the packages can’t be downloaded or it took a long time so I had to cancel it. Probably my slow internet speed and/or the magento repo problems affected the installation as well. I tried to download and install on the afternoon without no progress. The last time I successfully installed it when I tried it on the evening! So here is the working command:
|
1 |
teddy@teddy:~$ composer create-project --repository=https://repo.magento.com/ magento/project-community-edition /home/teddy/Documents/works/mce230-pwa -vvv |
Anyway it took almost 3 hours to complete the command!
Note: I stripped ‘magento/project-community-edition:2.3.0’ from the above command to make sure I got the latest version! It’s not mean it’d not work if I put the version back!
SO ‘/home/teddy/Documents/works/mce230-pwa’ is a Magento installation directory.
The next step is to install Magento by Command Line
First, go to the magento 2.3.0 root directory
|
1 |
teddy@teddy:~$ cd Documents/works/mce230-pwa/ |
Then run this command like this: Use https url like ‘https://mce230-pwa.test/’ for PWA because PWA only works with SSL???
|
1 |
php bin/magento setup:install --base-url=https://mce230-pwa.test/ --base-url-secure=https://mce230-pwa.test/ --db-host=localhost --db-name=mce230_pwa --db-user=root --db-password=webkul --admin-firstname=John --admin-lastname=Doe --admin-email=test@webkul.com --admin-user=admin --admin-password=admin123 --backend-frontname=admin_magento --language=en_US --currency=USD --timezone=Asia/Tbilisi --cleanup-database --use-rewrites=1 |
Make sure you already create a new database ‘mce230_pwa’. Also match the database credential!
SO I completed the installation of magento 2.3 backend. Can I open it on the browser http://localhost/mce230-pwa ??? Should I set it on the web server like nginx or apache? Or it only can be run via node js server??? –> I’m gonna setup nginx for running it. But I need to create self-signed certificate first for enabling ssl (http://myprojects.advchaweb.com/index.php/2019/02/09/create-self-signed-certificate-with-nginx-on-ubuntu-16-04/)
Create a new file
|
1 |
teddy@teddy:~/Documents/self_signed_cert$ sudo gedit mce230-pwa.test.conf |
Here is the file content:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
[req] default_bits = 2048 default_keyfile = f.key distinguished_name = req_distinguished_name req_extensions = req_ext x509_extensions = v3_ca [req_distinguished_name] countryName = Country Name (2 letter code) countryName_default = US stateOrProvinceName = State or Province Name (full name) stateOrProvinceName_default = New York localityName = Locality Name (eg, city) localityName_default = Rochester organizationName = Organization Name (eg, company) organizationName_default = localhost organizationalUnitName = organizationalunit organizationalUnitName_default = Development commonName = Common Name (e.g. server FQDN or YOUR name) commonName_default = localhost commonName_max = 64 [req_ext] subjectAltName = @alt_names [v3_ca] subjectAltName = @alt_names [alt_names] DNS.1 = mce230-pwa.test DNS.2 = 127.0.0.1 |
Create the Certificate using OpenSSL
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
teddy@teddy:~/Documents/self_signed_cert$ sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout mce230-pwa.test.key -out mce230-pwa.test.crt -config mce230-pwa.test.conf Generating a 2048 bit RSA private key ........................................................................................+++++ .............................................................+++++ writing new private key to 'mce230-pwa.test.key' ----- You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [US]: State or Province Name (full name) [New York]: Locality Name (eg, city) [Rochester]: Organization Name (eg, company) [localhost]: organizationalunit [Development]: Common Name (e.g. server FQDN or YOUR name) [localhost]: |
It’ll create two new files. There are mce230-pwa.test.crt and mce230-pwa.test.key. Then Copy those files to the Certificates folder on Ubuntu
|
1 2 |
teddy@teddy:~/Documents/self_signed_cert$ sudo cp mce230-pwa.test.crt /etc/ssl/certs/ teddy@teddy:~/Documents/self_signed_cert$ sudo cp mce230-pwa.test.key /etc/ssl/private/ |
OK. Now setup the nginx config. Create the config file
|
1 |
teddy@teddy:~/Documents/works/mce230-pwa$ sudo gedit /etc/nginx/sites-available/mce230-pwa.test |
Here is the content:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 |
server { listen 80; listen 443 ssl http2; listen [::]:443 ssl http2; server_name mce230-pwa.test; ssl_certificate /etc/ssl/certs/mce230-pwa.test.crt; ssl_certificate_key /etc/ssl/private/mce230-pwa.test.key; ssl_protocols TLSv1.2 TLSv1.1 TLSv1; set $MAGE_ROOT /home/teddy/Documents/works/mce230-pwa/pub; root $MAGE_ROOT; index index.php; autoindex off; charset UTF-8; error_page 404 403 = /errors/404.php; #add_header "X-UA-Compatible" "IE=Edge"; client_max_body_size 100M; # PHP entry point for setup application location ~* ^/setup($|/) { root $MAGE_ROOT; location ~ ^/setup/index.php { fastcgi_split_path_info ^(.+?\.php)(/.*)$; fastcgi_buffers 1024 4k; fastcgi_read_timeout 600s; fastcgi_connect_timeout 600s; fastcgi_pass unix:/run/php/php7.2-fpm.sock; #FOR AWS SERVER #fastcgi_pass 127.0.0.1:9000; #fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } location ~ ^/setup/(?!pub/). { deny all; } location ~ ^/setup/pub/ { add_header X-Frame-Options "SAMEORIGIN"; } } # PHP entry point for update application location ~* ^/update($|/) { root $MAGE_ROOT; location ~ ^/update/index.php { fastcgi_split_path_info ^(/update/index.php)(/.+)$; fastcgi_pass unix:/run/php/php7.2-fpm.sock; #FOR AWS SERVER #fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; include fastcgi_params; } # Deny everything but index.php location ~ ^/update/(?!pub/). { deny all; } location ~ ^/update/pub/ { add_header X-Frame-Options "SAMEORIGIN"; } } location / { try_files $uri $uri/ /index.php?$args; } location /pub/ { location ~ ^/pub/media/(downloadable|customer|import|theme_customization/.*\.xml) { deny all; } alias $MAGE_ROOT/pub/; add_header X-Frame-Options "SAMEORIGIN"; } location ~ ^/pub/static/version { rewrite ^/pub/static/(version\d*/)?(.*)$ /pub/static/$2 last; } location /static/ { # Uncomment the following line in production mode # expires max; # Remove signature of the static files that is used to overcome the browser cache location ~ ^/static/version { rewrite ^/static/(version\d*/)?(.*)$ /static/$2 last; } location ~* \.(ico|jpg|jpeg|png|gif|svg|js|css|swf|eot|ttf|otf|woff|woff2)$ { add_header Cache-Control "public"; add_header X-Frame-Options "SAMEORIGIN"; expires +1y; if (!-f $request_filename) { rewrite ^/static/(version\d*/)?(.*)$ /static.php?resource=$2 last; } } location ~* \.(zip|gz|gzip|bz2|csv|xml)$ { add_header Cache-Control "no-store"; add_header X-Frame-Options "SAMEORIGIN"; expires off; if (!-f $request_filename) { rewrite ^/static/(version\d*/)?(.*)$ /static.php?resource=$2 last; } } if (!-f $request_filename) { rewrite ^/static/(version\d*/)?(.*)$ /static.php?resource=$2 last; } add_header X-Frame-Options "SAMEORIGIN"; } location /media/ { try_files $uri $uri/ /get.php?$args; location ~ ^/media/theme_customization/.*\.xml { deny all; } location ~* \.(ico|jpg|jpeg|png|gif|svg|js|css|swf|eot|ttf|otf|woff|woff2)$ { add_header Cache-Control "public"; add_header X-Frame-Options "SAMEORIGIN"; expires +1y; try_files $uri $uri/ /get.php?$args; } location ~* \.(zip|gz|gzip|bz2|csv|xml)$ { add_header Cache-Control "no-store"; add_header X-Frame-Options "SAMEORIGIN"; expires off; try_files $uri $uri/ /get.php?$args; } add_header X-Frame-Options "SAMEORIGIN"; } location /media/customer/ { deny all; } location /media/downloadable/ { deny all; } location /media/import/ { deny all; } # PHP entry point for main application location ~ (index|get|static|report|404|503)\.php$ { try_files $uri =404; fastcgi_pass unix:/run/php/php7.2-fpm.sock; #FOR AWS SERVER #fastcgi_pass 127.0.0.1:9000; fastcgi_buffers 1024 4k; fastcgi_read_timeout 600s; fastcgi_connect_timeout 600s; # to configure profiler in Magento 2 #fastcgi_param MAGE_PROFILER html; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; #include fastcgi_params; #FOR DEVELOPMENT MODE ONLY - BEGIN fastcgi_param MAGE_IS_DEVELOPER_MODE true; fastcgi_param PHP_VALUE display_startup_errors=on; fastcgi_param PHP_VALUE display_errors=on; fastcgi_param PHP_VALUE html_errors=on; fastcgi_param PHP_VALUE log_errors=on; fastcgi_param PHP_VALUE error_log=/home/teddy/Documents/works/mce230-pwa/var/log/system.log; #FOR DEVELOPMENT MODE ONLY - END include fastcgi_params; #FOR DEBUGGING WITH XDEBUG - BEGIN #fastcgi_read_timeout 600; #FOR DEBUGGING WITH XDEBUG - END } gzip on; gzip_disable "msie6"; gzip_comp_level 6; gzip_min_length 1100; gzip_buffers 16 8k; gzip_proxied any; gzip_types text/plain text/css text/js text/xml text/javascript application/javascript application/x-javascript application/json application/xml application/xml+rss image/svg+xml; gzip_vary on; # Banned locations (only reached if the earlier PHP entry point regexes don't match) location ~* (\.php$|\.htaccess$|\.git) { deny all; } } |
NOTE: I set $MAGE_ROOT TO ‘pub’ DIR LIKE ‘set $MAGE_ROOT /home/teddy/Documents/works/mce230-pwa/pub’ INSTEAD OF JUST ‘set $MAGE_ROOT /home/teddy/Documents/works/mce230-pwa’. SO PWA THEME CAN DISPLAY THE CATEGORY & PRODUCTS IMAGE!
Enable file config
|
1 |
teddy@teddy:~/Documents/works/mce230-pwa$ sudo ln -s /etc/nginx/sites-available/mce230-pwa.test /etc/nginx/sites-enabled/mce230-pwa.test |
Register the host on my system
|
1 |
sudo gedit /etc/hosts |
Like this:
|
1 2 3 |
... 127.0.0.1 mce230-pwa.test ... |
CHECK THE NGINX SETTING AND RESTART IT:
|
1 2 3 4 5 |
teddy@teddy:~/Documents/works/mce230-pwa$ sudo nginx -t nginx: [warn] conflicting server name "" on 0.0.0.0:80, ignored nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful teddy@teddy:~/Documents/works/mce230-pwa$ sudo service nginx restart |
Set file permission and owner:
|
1 2 3 4 5 6 7 |
teddy@teddy:~/Documents/works/mce230-pwa$ sudo su root@teddy:/home/teddy/Documents/works/mce230-pwa# find var vendor pub/static pub/media app/etc -type f -exec chmod g+w {} \; root@teddy:/home/teddy/Documents/works/mce230-pwa# find var vendor pub/static pub/media app/etc -type f -exec chmod g+w {} \; root@teddy:/home/teddy/Documents/works/mce230-pwa# chown -R :www-data . root@teddy:/home/teddy/Documents/works/mce230-pwa# chmod u+x bin/magento root@teddy:/home/teddy/Documents/works/mce230-pwa# chown www-data -R var/ pub/ app/etc/ setup/ generated/ root@teddy:/home/teddy/Documents/works/mce230-pwa# chmod -R 777 var/ pub/ app/etc/ setup/ generated/ |
Because the installation is already done by composer, then compile!
|
1 2 |
teddy@teddy:~/Documents/works/mce230-pwa$ sudo su -s /bin/bash www-data www-data@teddy:/home/teddy/Documents/works/mce230-pwa$ php bin/magento setup:upgrade --keep-generated && php bin/magento setup:di:compile && php bin/magento setup:static-content:deploy -f --language en_AU --language en_US && php bin/magento indexer:reindex && php bin/magento cache:clean && php bin/magento cache:flush |
Give it a try! the frontend: https://mce230-pwa.test/ –> No product displayed because I didn’t install the sample data!
and the backend: https://mce230-pwa.test/admin_magento
user: admin
password: admin123
Now is the steps for installing PWA Studio.
clone it from the repository on current magento 2.3.0 root directory
|
1 2 3 4 5 6 7 8 9 |
teddy@teddy:~/Documents/works/mce230-pwa$ git clone https://github.com/magento-research/pwa-studio.git Cloning into 'pwa-studio'... remote: Enumerating objects: 87, done. remote: Counting objects: 100% (87/87), done. remote: Compressing objects: 100% (55/55), done. remote: Total 14067 (delta 38), reused 57 (delta 30), pack-reused 13980 Receiving objects: 100% (14067/14067), 13.48 MiB | 2.31 MiB/s, done. Resolving deltas: 100% (8559/8559), done. Checking connectivity... done. |
You will see the pwa-studio directory in /mce230-pwa
Enter into this directoy:
|
1 |
teddy@teddy:~/Documents/works/mce230-pwa$ cd pwa-studio/ |
Then run ‘yarn install’. It recommended to use it than ‘npm install’
|
1 |
teddy@teddy:~/Documents/works/mce230-pwa/pwa-studio$ yarn install |
Then Specify the Magento backend server in .env file. you can see the .env.dist file in
/mce230-wa/pwa-studio/packages/venia-concept/ directory. If you are not
able see, enable show hidden files. Now create .env file from this env.dist
|
1 |
teddy@teddy:~/Documents/works/mce230-pwa/pwa-studio$ cp packages/venia-concept/.env.dist packages/venia-concept/.env |
Open this .env file and find MAGENTO_BACKEND_URL. Here configure your local Magento 2.3 instance, my case it is:
|
1 |
MAGENTO_BACKEND_URL="https://mce230-pwa.test/" |
Now install sample data for venia-theme to make it good looking. Find the deployVeniaSampleData.sh file in
/mce230-pwa/pwa-studio/packages/venia-concept/ directory. and copy this file in your Magento root directory. Now it must look like
/mce230-pwa/deployVeniaSampleData.sh Now run:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
teddy@teddy:~/Documents/works/mce230-pwa$ bash deployVeniaSampleData.sh Please specify absolute path to your Magento 2 instance Magento root folder: /home/teddy/Documents/works/mce230-pwa Sample data will be installed there. Are you sure you want to continue? [y/n]y adding composer repository git@github.com:PMET-public/module-catalog-sample-data-venia.git adding composer repository git@github.com:PMET-public/module-configurable-sample-data-venia.git adding composer repository git@github.com:PMET-public/module-customer-sample-data-venia.git adding composer repository git@github.com:PMET-public/module-sales-sample-data-venia.git adding composer repository git@github.com:PMET-public/module-tax-sample-data-venia.git adding composer repository git@github.com:PMET-public/sample-data-media-venia.git ./composer.json has been updated Loading composer repositories with package information Updating dependencies (including require-dev) Package operations: 6 installs, 0 updates, 0 removals - Installing magento/module-tax-sample-data-venia (dev-master c3fe5d5): Cloning c3fe5d5527 from cache - Installing magento/module-customer-sample-data-venia (dev-master e8717cd): Cloning e8717cd296 from cache - Installing magento/module-configurable-sample-data-venia (dev-master 1126eab): Cloning 1126eab4e0 from cache - Installing magento/module-catalog-sample-data-venia (dev-master f294079): Cloning f294079c9f from cache - Installing magento/module-sales-sample-data-venia (dev-master ac1a957): Cloning ac1a95730b from cache - Installing magento/sample-data-media-venia (dev-master 9c6308c): Cloning 9c6308c258 from cache Package phpunit/phpunit-mock-objects is abandoned, you should avoid using it. No replacement was suggested. Writing lock file Generating autoload files |
This was tricky because I need several times to make it works. I also need to create a new file ‘auth.json’ and put it in the mce230-pwa directory because I got this error : ‘Could not authenticate against github.com’. ref is here https://www.bountysource.com/issues/64327845-add-shell-script-to-install-venia-sample-data-modules-via-composer. This error can be fixed with providing the github personal api token (https://github.blog/2013-05-16-personal-api-tokens/). So to get the token, go to your github account (https://github.com/settings/tokens) then generate ‘personal access token’. For the scopes, I think I need to select one or all of the options. At first, I didn’t select any scope and the bash script didn’t work. Then I selected all of them and the bash script worked again!. After you got the token, put it in auth.json file. Here is auth.json file content:
|
1 2 3 4 5 |
{ "github-oauth": { "github.com": "xxxxx" } } |
Replace “xxxxx” with your github personal access token!
<ERROR_I_GOT_PREVIOUSLY>
The problem when I forgot to provide the magento 2.3 root directory
|
1 2 3 4 5 6 7 8 9 10 11 |
teddy@teddy:~/Documents/works/mce230-pwa$ bash deployVeniaSampleData.sh Please specify absolute path to your Magento 2 instance Magento root folder: Sample data will be installed there. Are you sure you want to continue? [y/n]y adding composer repository git@github.com:PMET-public/module-catalog-sample-data-venia.git [RuntimeException] File "./composer.json" cannot be found in the current directory |
The problem when I should create auth.json (https://www.bountysource.com/issues/64327845-add-shell-script-to-install-venia-sample-data-modules-via-composer)
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
teddy@teddy:~/Documents/works/mce230-pwa$ bash deployVeniaSampleData.sh Please specify absolute path to your Magento 2 instance Magento root folder: /home/teddy/Documents/works/mce230-pwa Sample data will be installed there. Are you sure you want to continue? [y/n]y adding composer repository git@github.com:PMET-public/module-catalog-sample-data-venia.git adding composer repository git@github.com:PMET-public/module-configurable-sample-data-venia.git adding composer repository git@github.com:PMET-public/module-customer-sample-data-venia.git adding composer repository git@github.com:PMET-public/module-sales-sample-data-venia.git adding composer repository git@github.com:PMET-public/module-tax-sample-data-venia.git adding composer repository git@github.com:PMET-public/sample-data-media-venia.git Reading composer.json of magento/module-configurable-sample-data-venia (catimageReading composer.json of magento/module-configurable-sample-data-venia (develop)./composer.json has been updated Loading composer repositories with package information [Composer\Downloader\TransportException] Could not authenticate against github.com |
</ERROR_I_GOT_PREVIOUSLY>
OK. After successful installation compile again:
|
1 2 |
teddy@teddy:~/Documents/works/mce230-pwa$ sudo su -s /bin/bash www-data www-data@teddy:/home/teddy/Documents/works/mce230-pwa$ php bin/magento setup:upgrade --keep-generated && php bin/magento setup:di:compile && php bin/magento setup:static-content:deploy -f --language en_AU --language en_US && php bin/magento indexer:reindex && php bin/magento cache:clean && php bin/magento cache:flush |
Then I opened the frontend https://mce230-pwa.test –> No product on the homepage
Then I found some venia products on the links like on https://mce230-pwa.test/venia-accessories.html
But the products image CAN’T BE DISPLAYED!
The images refer to the cache directory in /mce230-pwa/pub/media/catalog/product/cache
I can fix this problem by regenerating the images (https://magento.stackexchange.com/questions/175224/regenerate-catalog-cache-images-issues). So I run
|
1 |
php bin/magento catalog:image:resize |
WARNING: It’d take a long time to complete it depend on how many the images and the computer resource. To regenerate the images in the sample venia theme on my pc, it took almost 30 minutes for 1287 products!
But I can’t find ‘venia’ theme on the admin page! I tried to create the symlink like
|
1 |
ln -s $(pwd)/pwa-studio/packages/venia-concept app/design/frontend/Magento/venia |
or just copied ‘/pwa-studio/packages/venia-concept’ into ‘app/design/frontend/Magento’ then rename ‘venia-concept’ to ‘venia’. But none of them display the venia theme in the admin themes content! –> NEED TO LEARN THIS LATER!
Then go back to pwa-studio directory /mce230-pwa/pwa-studio and
start Server. I run ‘yarn run build’ instead of ‘npm run build’. But before running this command, make sure the magento mode is developer.
|
1 2 |
php bin/magento deploy:mode:set developer php bin/magento deploy:mode:show |
Then run ‘yarn run build’
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 |
teddy@teddy:~/Documents/works/mce230-pwa/pwa-studio$ yarn run build yarn run v1.12.3 $ yarn workspaces run build $ concurrently --raw yarn:build:cjs yarn:build:esm $ BABEL_ENV=production babel src --out-dir dist --root-mode 'upward' --source-maps $ BABEL_ENV=development babel src --out-dir esm --root-mode 'upward' --source-maps Successfully compiled 32 files with Babel. Successfully compiled 49 files with Babel. $ yarn run clean $ rimraf dist $ babel src --out-dir dist --root-mode 'root' --source-maps --copy-files Successfully compiled 16 files with Babel. $ yarn run clean && yarn run build:esm && yarn run validate-queries && yarn run build:prod $ rimraf dist esm $ BABEL_ENV=development babel src --out-dir esm --root-mode 'upward' --source-maps --copy-files Successfully compiled 289 files with Babel. $ node ./validate-queries.js Using environment variables from .env Validating queries based on schema at https://mce230-pwa.test/graphql... Retrieved introspection query. Configuring validator... All queries valid against attached GraphQL API. $ webpack -p --color --progress --profile --env.mode production Using environment variables from .env (node:11989) Warning: N-API is an experimental feature and could change at any time. 2582ms building 15ms finish module graph 2ms sealing 0ms basic dependencies optimization 14ms dependencies optimization 0ms advanced dependencies optimization 0ms after dependencies optimization 30ms chunk graph 0ms after chunk graph 0ms optimizing 0ms basic module optimization 0ms module optimization 0ms advanced module optimization 0ms after module optimization 8ms basic chunk optimization 0ms chunk optimization 17ms advanced chunk optimization 0ms after chunk optimization 0ms module and chunk tree optimization 0ms after module and chunk tree optimization 0ms basic chunk modules optimization 164ms chunk modules optimization 0ms advanced chunk modules optimization 0ms after chunk modules optimization 1ms module reviving 6ms module order optimization 0ms advanced module order optimization 0ms before module ids 2ms module ids 7ms module id optimization 0ms chunk reviving 0ms chunk order optimization 0ms before chunk ids 1ms chunk id optimization 9ms after chunk id optimization 0ms record modules 1ms record chunks 25ms hashing 8ms content hashing 0ms after hashing 0ms record hash 0ms module assets processing 274ms chunk assets processing 2ms additional chunk assets processing 0ms recording 0ms additional asset processing 141ms chunk asset optimization 0ms after chunk asset optimization 0ms asset optimization 0ms after asset optimization 1ms after seal 61ms emitting 2ms after emitting Hash: e086111e0a6e6e0d71b2 Version: webpack 4.28.4 Time: 3382ms Built at: 2019-02-27 15:01:28 Asset Size Chunks Chunk Names 8244c0fdc106dd57437fa5a48d27ab0d.svg 3.35 KiB [emitted] asset-manifest.json 1.15 KiB [emitted] js/0-bebb1f1c7d078e2bad24.js 7.82 KiB 0 [emitted] js/10-a5d8d75a48ce5257fd58.js 4.04 KiB 10 [emitted] js/11-cd336d8904836814884c.js 319 KiB 11 [emitted] [big] js/8-2e8d88db09cd5934dd6d.js 42.9 KiB 8 [emitted] js/9-e38f788e72e6015cabfd.js 14.4 KiB 9 [emitted] js/RootCmp_CATEGORY__default-649dc8d317d85ba4c0af.js 18.5 KiB 1 [emitted] RootCmp_CATEGORY__default js/RootCmp_CMS_PAGE__default-6ba8f30cf16dc0ccae77.js 8.34 KiB 2 [emitted] RootCmp_CMS_PAGE__default js/RootCmp_NOTFOUND__default-895142cabb5abf216ceb.js 1.2 KiB 3 [emitted] RootCmp_NOTFOUND__default js/RootCmp_PRODUCT__default-793f69342213bcdcb7c6.js 29.8 KiB 4 [emitted] RootCmp_PRODUCT__default js/RootCmp_SEARCH__default-c3541804ad272ac28122.js 206 bytes 5 [emitted] RootCmp_SEARCH__default js/client.js 447 KiB 6 [emitted] [big] client js/vendor~client-3a997f5cf70f78e105a7.js 233 KiB 7 [emitted] vendor~client precache-manifest.fe953fa07dbd49a5646a1fbce8fb6e32.js 808 bytes [emitted] sw.js 1.34 KiB [emitted] Entrypoint client [big] = js/vendor~client-3a997f5cf70f78e105a7.js js/client.js [18] ../peregrine/dist/index.js + 7 modules 18.6 KiB {6} [built] | ../peregrine/dist/index.js 389 bytes [built] | [] 156ms -> factory:119ms building:10ms = 285ms | ../peregrine/dist/RestApi/index.js 94 bytes [built] | [] 156ms -> [] 129ms -> factory:215ms building:32ms = 532ms | ../peregrine/dist/util/index.js 102 bytes [built] | [] 156ms -> [] 129ms -> factory:215ms building:32ms = 532ms | ../peregrine/dist/util/simplePersistence.js 2.44 KiB [built] | [] 156ms -> [] 129ms -> [] 247ms -> factory:57ms building:12ms dependencies:165ms = 766ms | ../peregrine/dist/RestApi/Magento2/index.js 84 bytes [built] | [] 156ms -> [] 129ms -> [] 247ms -> factory:166ms building:20ms = 718ms | ../peregrine/dist/RestApi/Magento2/M2ApiRequest.js 11.3 KiB [built] | [] 156ms -> [] 129ms -> [] 247ms -> [] 186ms -> factory:80ms building:34ms dependencies:71ms = 903ms | ../peregrine/dist/RestApi/Magento2/M2ApiResponseError.js 2.35 KiB [built] | [] 156ms -> [] 129ms -> [] 247ms -> [] 186ms -> [] 114ms -> factory:103ms building:60ms dependencies:2ms = 997ms | ../peregrine/dist/RestApi/Magento2/MulticastCache.js 1.87 KiB [built] | [] 156ms -> [] 129ms -> [] 247ms -> [] 186ms -> [] 114ms -> factory:103ms building:60ms dependencies:2ms = 997ms [24] /home/teddy/Documents/works/mce230-pwa/pwa-studio/node_modules/apollo-link/lib/index.js + 4 modules 8.12 KiB {6} [built] | 5 modules [26] ./src/drivers/index.js 2.5 KiB [built] [] 156ms -> factory:119ms building:10ms = 285ms [48] ./src/actions/app/index.js 68 bytes [built] [] 156ms -> factory:119ms building:10ms = 285ms [71] ./src/actions/app/asyncActions.js 3.25 KiB {6} [built] [] 156ms -> [48] 129ms -> factory:27ms building:141ms dependencies:0ms = 453ms [88] ./src/actions/app/actions.js 277 bytes {6} [built] [] 156ms -> [48] 129ms -> factory:27ms building:141ms dependencies:0ms = 453ms [112] ../peregrine/dist/List/index.js 153 bytes [built] [] 156ms -> [] 129ms -> factory:215ms building:32ms = 532ms [154] /home/teddy/Documents/works/mce230-pwa/pwa-studio/node_modules/react-redux/es/index.js + 14 modules 27.9 KiB {7} [built] | 15 modules [162] ../peregrine/dist/Router/index.js 195 bytes [built] [] 156ms -> [] 129ms -> factory:215ms building:32ms = 532ms [296] ../peregrine/dist/ContainerChild/index.js 77 bytes [built] [] 156ms -> [] 129ms -> factory:215ms building:32ms = 532ms [297] ../peregrine/dist/Page/index.js 67 bytes [built] [] 156ms -> [] 129ms -> factory:215ms building:32ms = 532ms [298] ../peregrine/dist/Price/index.js 68 bytes [built] [] 156ms -> [] 129ms -> factory:215ms building:32ms = 532ms [304] ./src/index.css 1.1 KiB {6} [built] [] 156ms -> factory:119ms building:10ms = 285ms [305] /home/teddy/Documents/works/mce230-pwa/pwa-studio/node_modules/css-loader??ref--6-1!./src/index.css 2.11 KiB {6} [built] [] 156ms -> [304] 129ms -> factory:40ms building:28ms = 353ms [513] ./src/index.js + 97 modules 276 KiB {6} [built] | ./src/index.js 1.96 KiB [built] | factory:33ms building:123ms = 156ms | ./src/store.js 308 bytes [built] | [] 156ms -> factory:119ms building:10ms = 285ms | ./src/drivers/adapter.js 3.58 KiB [built] | [] 156ms -> [26] 129ms -> factory:252ms building:35ms dependencies:176ms = 748ms | ./src/middleware/index.js 255 bytes [built] | [] 156ms -> [] 129ms -> factory:251ms building:12ms dependencies:222ms = 770ms | ./src/middleware/errorHandler.js 6.89 KiB [built] | [] 156ms -> [] 129ms -> factory:251ms building:12ms dependencies:222ms = 770ms | ./src/reducers/index.js 621 bytes [built] | [] 156ms -> [] 129ms -> factory:251ms building:12ms dependencies:222ms = 770ms | ./src/util/composeEnhancers.js 367 bytes [built] | [] 156ms -> [] 129ms -> factory:251ms building:12ms dependencies:222ms = 770ms | ../peregrine/dist/Router/Router.js 1.97 KiB [built] | [] 156ms -> [] 129ms -> [162] 247ms -> factory:57ms building:33ms dependencies:502ms = 1124ms | ./src/util/createErrorRecord.js 2.11 KiB [built] | [] 156ms -> [] 129ms -> [] 263ms -> factory:226ms building:31ms = 805ms | ./src/reducers/app.js 1.35 KiB [built] | [] 156ms -> [] 129ms -> [] 263ms -> factory:73ms building:73ms dependencies:156ms = 850ms | ./src/reducers/cart.js 2.46 KiB [built] | [] 156ms -> [] 129ms -> [] 263ms -> factory:73ms building:73ms dependencies:156ms = 850ms | ./src/reducers/catalog.js 4.17 KiB [built] | [] 156ms -> [] 129ms -> [] 263ms -> factory:73ms building:73ms dependencies:156ms = 850ms | ./src/reducers/checkout.js 5.12 KiB [built] | [] 156ms -> [] 129ms -> [] 263ms -> factory:73ms building:73ms dependencies:156ms = 850ms | ./src/reducers/directory.js 585 bytes [built] | [] 156ms -> [] 129ms -> [] 263ms -> factory:73ms building:73ms dependencies:156ms = 850ms | ./src/reducers/user.js 2.48 KiB [built] | [] 156ms -> [] 129ms -> [] 263ms -> factory:73ms building:73ms dependencies:156ms = 850ms | + 83 hidden modules + 648 hidden modules WARNING in asset size limit: The following asset(s) exceed the recommended size limit (244 KiB). This can impact web performance. Assets: js/client.js (447 KiB) js/11-cd336d8904836814884c.js (319 KiB) WARNING in entrypoint size limit: The following entrypoint(s) combined asset size exceeds the recommended limit (244 KiB). This can impact web performance. Entrypoints: client (681 KiB) js/vendor~client-3a997f5cf70f78e105a7.js js/client.js $ echo 'Skipping upward-js build...' Skipping upward-js build... $ echo 'Skipping upward-spec build...' Skipping upward-spec build... $ rimraf "./packages/*/{esm,dist}/{,**/}__*__" Done in 20.50s. |
Need to recompile again if needed (NO NEED!)
|
1 |
php bin/magento setup:upgrade --keep-generated && php bin/magento setup:di:compile && php bin/magento setup:static-content:deploy -f --language en_AU --language en_US && php bin/magento indexer:reindex && php bin/magento cache:clean && php bin/magento cache:flush |
Run server, Use any of the following commands from the project root directory to start: yarn run watch:venia
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
teddy@teddy:~/Documents/works/mce230-pwa/pwa-studio$ yarn run watch:venia yarn run v1.12.3 $ yarn workspace @magento/venia-concept run watch; cd - >/dev/null $ webpack-dev-server --progress --color --env.mode development Using environment variables from .env (node:12131) Warning: N-API is an experimental feature and could change at any time. Emitting no ServiceWorker in development mode. To enable development mode for ServiceWorkers, pass `enableServiceWorkerDebugging: true` to the ServiceWorkerPlugin configuration. 10% building 1/1 modules 0 activeCannot add image optimization middleware due to dependencies that are not installed or are not compatible with this environment: - @magento/express-sharp: Reason: The module '/home/teddy/Documents/works/mce230-pwa/pwa-studio/node_modules/sharp/build/Release/sharp.node' - @magento/express-sharp: Reason: expressSharp is not a function Images will be served uncompressed. If possible, install additional tools to build NodeJS native dependencies: https://github.com/nodejs/node-gyp#installation ℹ 「wdm」: wait until bundle finished: ℹ 「wds」: Project is running at https://magento-venia-concept-2hrkd.local.pwadev:8328/ ℹ 「wds」: webpack output is served from https://magento-venia-concept-2hrkd.local.pwadev:8328/ ℹ 「wdm」: Version: webpack 4.28.4 Time: 5788ms Built at: 2019-02-27 15:03:18 ℹ 「wdm」: Compiled successfully. ┌────────────────────────────────────────────────────────────────────────────────────────────────┐ │ │ │ PWADevServer ready at https://magento-venia-concept-2hrkd.local.pwadev:8328/ │ │ GraphQL Playground ready at https://magento-venia-concept-2hrkd.local.pwadev:8328/graphiql │ │ │ └────────────────────────────────────────────────────────────────────────────────────────────────┘ |
OR run ‘yarn run watch:all’
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
teddy@teddy:~/Documents/works/mce230-pwa/pwa-studio$ yarn run watch:all yarn run v1.12.3 $ node scripts/watch-all.js ✔ initial build of @magento/pwa-buildpack ✔ initial build of @magento/peregrine ✔ initial build of webpack-dev-server ⚠ Launching webpack-dev-server Using environment variables from .env (node:26502) Warning: N-API is an experimental feature and could change at any time. Emitting no ServiceWorker in development mode. To enable development mode for ServiceWorkers, pass `enableServiceWorkerDebugging: true` to the ServiceWorkerPlugin configuration. Cannot add image optimization middleware due to dependencies that are not installed or are not compatible with this environment: - @magento/express-sharp: Reason: The module '/home/teddy/Documents/works/mce230-pwa/pwa-studio/node_modules/sharp/build/Release/sharp.node' - @magento/express-sharp: Reason: expressSharp is not a function Images will be served uncompressed. If possible, install additional tools to build NodeJS native dependencies: https://github.com/nodejs/node-gyp#installation ℹ 「wdm」: wait until bundle finished: ℹ 「wds」: Project is running at https://magento-venia-concept-2hrkd.local.pwadev:8328/ ℹ 「wds」: webpack output is served from https://magento-venia-concept-2hrkd.local.pwadev:8328/ ℹ 「wdm」: Version: webpack 4.28.4 Time: 3962ms Built at: 2019-02-27 20:36:35 ℹ 「wdm」: Compiled successfully. ┌────────────────────────────────────────────────────────────────────────────────────────────────┐ │ │ │ PWADevServer ready at https://magento-venia-concept-2hrkd.local.pwadev:8328/ │ │ GraphQL Playground ready at https://magento-venia-concept-2hrkd.local.pwadev:8328/graphiql │ │ │ └────────────────────────────────────────────────────────────────────────────────────────────────┘ ⚠ Press q to exit the dev server. |
Then open it on your browser: https://magento-venia-concept-2hrkd.local.pwadev:8328/
OK. But it can’t show the products image!!!
Temporary solution for this problem is COPY THE CATEGORY AND PRODUCT IMAGES IN CATALOG DIR FROM pub/media/catalog TO the magento root directory –> NOT GOOD IF THERE IS NEW PRODUCT AND IMAGE! SO HERE IS THE BETTER WAY! SET MAGENTO ROOT DIRECTORY TO ‘pub’ DIR. MODIFY nginx CONFIG FILE
|
1 |
teddy@teddy:~/Documents/works/mce230-pwa/pwa-studio$ sudo gedit /etc/nginx/sites-available/mce230-pwa.test |
THEN MODIFY $MAGE_ROOT FROM
|
1 2 3 |
... set $MAGE_ROOT /home/teddy/Documents/works/mce230-pwa; ... |
TO
|
1 2 3 |
... set $MAGE_ROOT /home/teddy/Documents/works/mce230-pwa/pub; ... |
I THINK IT NEED TO RECOMPILE!
<ERROR_IF_PWA_NOT_SSL>
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
teddy@teddy:~/Documents/works/mce230-pwa/pwa-studio$ yarn run watch:venia yarn run v1.12.3 $ yarn workspace @magento/venia-concept run watch; cd - >/dev/null $ webpack-dev-server --progress --color --env.mode development Using environment variables from .env (node:7222) Warning: N-API is an experimental feature and could change at any time. Creating a local development domain requires temporary administrative privileges. Please enter the password for teddy on teddy. [sudo] password for teddy: Please close Firefox before continuing Error: [pwa-buildpack:Utilities:configureHost.js] Could not setup development domain: Error: Timed out waiting for SSL certificate generation and trust. at Timeout.setTimeout [as _onTimeout] (/home/teddy/Documents/works/mce230-pwa/pwa-studio/packages/pwa-buildpack/dist/Utilities/configureHost.js:56:45) at ontimeout (timers.js:475:11) at tryOnTimeout (timers.js:310:5) at Timer.listOnTimeout (timers.js:270:5) at configureHost (/home/teddy/Documents/works/mce230-pwa/pwa-studio/packages/pwa-buildpack/dist/Utilities/configureHost.js:165:11) at <anonymous> Done in 31.67s. |
It need SSL!
</ERROR_IF_PWA_NOT_SSL>