Expected a valid shop query parameter - shopify

I'm trying to create new Shopify app using shopify-app-cli, I set up all redirect links and .env file, but when I run Shopify serve and when it says Ready on http://localhost:8081, I go to localhost page and it shows this error: Expected a valid shop query parameter.
What does it mean?
I checked my .env file for maybe typos, but everything is copied fine.

That mean you have miss yourshopname.myshopify.com . This needed when you authenticated your app.
https://yourshopname.myshopify.com/admin/oauth/authorize?client_id='your_api_key'&scope='your_scopes_require'&redirect_uri='your_redirect_url'
For more information read here

in my case the problem was in Safari, it's worth checking in Chrome

Had the same error; was able to fix it by going to url mentioned after shopify create was executed:
Run shopify serve to start a local server
Then, visit
https://partners.shopify.com/<ACCOUNT-ID>/apps/<APP-ID>/test to
install on your Dev Store
see: https://github.com/Shopify/shopify-app-cli/issues/201#issuecomment-620286966

This can be a problem with ngrok URL or a third-party service in your Shopify app blocking the connection.
1-
You'll need to set up your app in the partners dashboard with the ngrok URL you get from Shopify server, ex:
https://ea6214072ff3.ngrok.io
https://ea62d4072ff3.ngrok.io/auth/callback
Check this github issue or this blog-post for more info.
2-
In case you're using a third-party's server like MangoDB in your app, you need to change your DNS server address (some ISPs cram as many DNS’s as possible).
I will be using Google's DNS 8.8.8.8 in this example:
Linux:
If you are connected to a WiFi network click on the “Wi-FI” tab.
Otherwise, if you have a wired connection click on the “Network”
tab.
Select the connection for which you want to set the DNS nameservers
and click on the cog icon to open the Network Manager.
Select the IPv4 Settings tab.
Disable the “Automatic” toggle switch and enter the DNS resolvers IP
addresses 8.8.8.8
Clear (Flush) the DNS cash (required for Ubuntu 18.04^) follow this article
Windows:
Control Panel and select Network and sharing center.
Click on Change adapter settings.
right-click on Local Area Connection and then select Properties.
select the option Internet Protocol Version 4 (TCP/IPv4) and then click on properties.
Choose the radio button Use the following DNS server addresses and enter the 8.8.8.8 value in Preferred DNS server:
Clear (Flush) the DNS cash follow this article

Related

Odoo Link in Chat Doesn't Referring To Actual Domain But Using IP Instead

Normally, when someone is tagging other user (example in Sales or Purchase representative column), it will create a notification and link of RFQ's or SO's to tagged user.
Our current problem is, when tagged user are opening that link, they are directed to our local IP (192.168.1.95:8069/link-to-document) instead of our domain (example.com/link-to-document). We are using on-premise odoo and nginx as reverse proxy but only accessible using LAN and VPN.
Here is the picture of the problem. I hover the link and it seems directing to our local IP instead of our domain.
Problem Image
Any help will be appreciated!
There are two parameters needed:
web.base.url which will be used in lot of features in Odoo like link/url creation for Chatter messages
web.base.url.freeze which will freeze the URL in parameter web.base.url

Website not accessible externally following PHP upgrade

Bit of a strange one - Over the weekend I updated the version of PHP on one of our servers and all seemed to be working fine, however yesterday, we started to receive complaints that the site was down.
After looking in to it, the site works fine when connecting from the internal network, but it times out when trying to connect from an external IP address.
Server admin isn't really my strong suit, so not really sure where to begin. I've checked the httpd.conf files and all looks fine, the apache config test reutrns 'OK' so at a loss as to where to go next.
Server is running Centos, PHP 7.2 and apache 2.4.6.
How can I get the server to respond to external requests?
Andy
You can use this tools (metod) to check where is propably the problem:
I. on serwer, check :
whether is serwer conections to internet - ping, tracerout
whether page is loading (on local) - lynks, links (text web broweser)
whether your dns is working (or dns ISP prowider) - depending on the service used, e.g. BIND (check usage this tool in internet)
whether your firewall is ok configured and good work - depending on the service used e.g. iptables
whether domen settings is ok,
...
II. on computer, check: (in internet, not in local network with your serwer)
whether the website loads in the browser eg firefox after using ip address (your server where the page is located) in www bar
whether host in internet have a contact with your serwer - ping, tracerout
whether the website loads in the browser eg firefox after using ip address (your server where the page is located) in www bar
...
The problem is wery complicadet becouse I dont now what exactly you have an infrastructure and it is settings (network, ISP, etc.) which you on host the page you are writing about. For this reason, it is difficult for you to precisely help.

Firebase Hosting: Needs Setup For Cloudflare DNS

I am trying to set custom domain for my Firebase app.
Firebase hosted url : https://inventory-app-726af.firebaseapp.com/
Custom Domain: inv.agsft.com
I have followed all instructions as part of setting custom domain but after verification step when I click on finish button, status will always be "Needs Setup".
I am managing DNS through cloudflare (https://www.cloudflare.com/) and I am following Quick setup option.
Any pointers to resolve it?
I had the same problem, I was able to resolve it by toggling the DNS Status on cloudflare from DNS and HTTP Proxy (CDN) to just DNS on the two A records
It started working right away.
The proper solution, ie without disabling Cloudflare for the site, is to use Full SSL for your domain/subdomain.
You can either choose Full SSL for all your domain entries, or set up a Page Rule for a specific subdomain, in your case, use "inv.agsft.com/*"
Source: https://community.cloudflare.com/t/flexible-ssl-redirect-loop-with-google-firebase/2063/3, which in turn points to https://support.cloudflare.com/hc/en-us/articles/115000219871-Why-does-Flexible-SSL-cause-a-redirect-loop-
Had the same issue and this solved the redirect issue. Firebase will however still report the domain as "Needs setup", for that I have no solution, but it does not affect the functionality of the hosting.
For the people that is using Namecheap, This configuration worked for me.
To avoid any kind of ssl issues when using firebase hosting and cloudflare you have to check to following points:
You don't need to toggling the DNS Status on cloudflare from DNS and HTTP Proxy (CDN) to just DNS on the two A records unless you don't want the cloudflare ssl certificates and want to just use the firebase ssl certificates (look to this carefully because you will loose the protection that cloudflare provides to your site in case you decide to use only the clouflare DNS)
If you "keep the cloud orange" it will not causes any problem to your firebase hosting.
Add the firebase IP's to cloudflare following the instructions provided by firebase hosting and remove any other A record from your domain/subdomain that you are setting up
To ensure you have a end-to-end encryption (using both firebase ssl as well as cloudflare ssl), make sure that your cloudflare crypto options is set to "Full":
Use a page rule likes in case that you want your root domain to receive all trafic:
In your firebase hosting setup, do the same:
p.s: Look that the message "Needs setup" is still there but the app is running without any problem.
p.s2: the majority problems regarding cloudflare and firebase is that firebase ssl can take several hours to start to work and you keep seeing a message like "your connection is not private". It happens not beucase cloudflare is messing our proxy out but because firebase ssl is still not fully propagated.
I hope it help others :)
In my case I did the same that Brennen did:
toggling the DNS Status on cloudflare from DNS and HTTP Proxy (CDN) to just DNS on the two A records.
But just start working when I:
Delete the domain from firebase. (click on the : points select delete domain)
refresh the firebase site
Added again in Quick Setup. I already had the A record added in Cloudflare so I didn't added again.
After that automatically the status added was connected.
Remember: Before testing, clean your browser cache.
When I run dig -t txt +noall +answer inv.agsft.com there are no TXT records showing. Since those are required to verify your ownership of the domain, Firebase Hosting will not continue the setup beyond step one.
Update: since the next step requires you to map A records to the IP addresses of Firebase hosting, I ran the relevant dig too:
$ dig -t a +noall +answer inv.agsft.com
inv.agsft.com. 299 IN A 104.18.56.240
inv.agsft.com. 299 IN A 104.18.57.240
Those are not the addresses I'd expect for Firebase Hosting, so it looks like either you haven't correctly entered the A records, or they have't propagated yet.
When I change my setting like below, it started to work again.
Redirect loop fixed:
For GoDaddy this adding the following solved it for me:
TYPE:A
NAME:#
VALUE: your ip_1
TYPE:A
NAME:#
VALUE: your ip_2
June 2020
Just wanted to share what was successful for me. It was a combination Brennen and Lisbel's answer.
Step 1: Toggle off your DNS status to get a grey cloud (as shown in the earlier answer)
Step 2: Delete the domain from firebase
Step 3: Add it back with Quick Steup
It should be connected after these steps!
I had the same issue. Here's how I fixed it:
1) Cick the View button on the problematic domain (in the Hosting section next to where it says Needs Setup).
2) Change the 'Setup mode' from Quick Setup to Advanced and follow the 3 steps
2a) Open your domain provider's settings (I'm using Google Domains) and add the TXT record it's giving you.
2b) Wait about 4-12 hours for verification
2c) Add the provided A records into your domain provider's settings
This is not a quick process, but it should be working about 5 minutes after you complete step 2c.
Toggling DNS mode didn't work for me. So I tried following approach and it worked for me.
Add CNAME record pointing to {firebase-project}.firebaseapp.com or {firebase-project}.web.app, you could add A record and try.
ADD TXT record as firebase ask you
Verify from firebase (this will show as needs setup, also it didn't go away although this worked)
If new domain/subdomain doesn't works check your browser developer tools network tab. If there are lots of 301 happening then go to cloudflare page rules. Add newdomain.com/* or subdomain.newdomain.com/* then add settings select SSL and set it to full as follows.
Then it will work as expected.
Working as of 11st May 2022 without need to toggle DNS and HTTP Proxy (CDN).
Steps:
Go to Cloudflare Dashboard.
Select SSL/TLS.
Select Overview.
Select Full option for SSL/TLS encryption mode.
After that, refresh your website that previously have issue to access.
Now the website can access successfully.

Installing cPanel on LAMP VM instance on Google cloud Compute engine

I have successfully installed LAMP stack on my VM of compute engine. I also installed VestaCP which is generally great but I want to install cPanel. I tried but failed.
Well, At last I have got cPanel installed and run successfully, thanks to Jason McDonald. Here are the steps if someone may need. Assuming you have LAMP installed and running (You may refer Complete Steps to installed LAMP on VM!)
cd ..
wget -N http://httpupdate.cpanel.net/latest
sh latest
After CPANEL is finished installing (an hour or so later), Enter the following command:
/scripts/configure_firewall_for_cpanel
FYI: wwwroot is now: /usr/local/apache/
Enter the following command to connect local to public IP:
/scripts/build_cpnat
Someone else may have a better solution for this, however when you sign up for Compute Engine it doesn't allow you to specify the root password. When you try to login to WHM for the first time, it asks for the root password. So entered the following commands to change the root password:
passwd root
Then change the password to what you want.
You will then need to allow the firewall connections that are required by WHM and CPANEL. I got this working via command line, however it was much more fool-proof using the Google Cloud website.
a. go to https://console.developers.google.com/project
b. click on your project
c. under Compute on the left, click on Compute Engine, then click on Networks.
d. Click "default" at the top
e. Click "NEW FIREWALL RULE" (Each time you create a rule, it won't bring you back to the previous screen, it just sits there. I had to hit the back arrow, and then hit New Firewall rule again. The previous rule I just made was still in the input text fields, I just changed it to the next rule I wanted to add, hit the back button, and kept doing this until I was done.) I would keep in mind for the future that you will have to do this for any port that you wish to because almost all are closed by default (i.e. using port 3306 for Remote MYSQL
Do the following, replacing with each of the following ports. You have to do each port separately, you can't list all the ports at the same time. Do this for ports 2082,2083,2086,2087,2089,2095,2096. (For reference, all ports used by CPANEL are herehttp://cpanel.net/getting_the_most_out_of_your_systems_firewall/)
Hit New Firewall Rule.
Name: allow-
Description: (I left blank)
Source Filter: IP Ranges
Source IP Ranges: 0.0.0.0/0
Allowed Protocols OR PORTS:
Target TAGS: (I left blank)
Hit the "CREATE" button
Hit the Back arrow to go back to the list.
Hit New Firewall Rule.
If the old text is still there, you can change only the Name and the Allowed Ports box to the port number you want to add. Hit the "CREATE" button again, hit the back button, and repeat.
After this you should be able to go to https://:2087 and login to WHM.
Like Amar said, you have to set the rules. I ripped the cPanel firewall table using jQuery so these aren't manually typed. Google makes you create separate rules for inbound/outbound (ingress/egress), so here are the ones I had to make.
inbound-tcp
tcp:20;tcp:21;tcp:22;tcp:25;tcp:26;tcp:53;tcp:80;tcp:110;tcp:143;tcp:443;tcp:465;tcp:783;tcp:993;tcp:995;tcp:2077;tcp:2078;tcp:2079;tcp:2080;tcp:2082;tcp:2083;tcp:2086;tcp:2087;tcp:2095;tcp:2096;tcp:3306;tcp:6277;tcp:24441;
outbound-tcp
tcp:20;tcp:21;tcp:25;tcp:26;tcp:37;tcp:43;tcp:53;tcp:80;tcp:113;tcp:443;tcp:465;tcp:873;tcp:2077;tcp:2078;tcp:2079;tcp:2080;tcp:2089;tcp:2195;tcp:6277;tcp:24441;
inbound-udp
udp:53;udp:465;udp:783;udp:6277;udp:24441;
outbound-udp
udp:53;udp:465;udp:873;udp:6277;udp:24441;

Browser displays IP rather than name

I just built a web page and made it live. The web page was previously accessible by its IP address. I then went to godaddy and made a domain name forward to the IP. The problem is that once I get to the page, the web browser displays the IP rather than the domain name. The customer wants the domain name to display on the page along with the page itself. Most companies want their .com name on the browser bar.
Example: On this page, my browser displays stackoverflow.com/question/ask rather than the Server's ip address.
The web page is served by apache and the server OS is a Bitnami LAMP server.
Any advice? And what else should I do to register and make a domain name function properly?
You need to set up A records, not forwarding records. You can find GoDaddy's help on the subject here: http://help.godaddy.com/article/680#arecs
I had a similar issue. To resolve I had to go to "DNS Management" where "A" was marked as "#" and "Forwarded" (if not change it) then below there is a "Forwarding" section where if you click on the pencil it allows you to enter the data:
Forward To: "http://1.1.1.1" (your IP where you forward to)
Forward Type: Permanent(301)
Settings: HERE WAS MY PROBLEM: it was set as "Forward Only" and I changed it to "Forward with masking" and that fixed the issue