Heroku Procfile for WordPress blog - wordpress

I'm setting up a WordPress blog on Heroku. When I run foreman start to run the site locally, I get an error about a missing Procfile. I've written Procfiles for Python web apps, but I'm on unfamiliar ground with PHP. What should go in a Procfile for a WordPress app? Thanks much.

Assuming you are using the default PHP buildpack, the default Procfile would look like this:
web: sh boot.sh
You can figure this out from any buildpack by looking at the default_process_types entry (if defined) in bin/release.
I should note that this assumes that bin/compile has been executed (just like the buildpack would do when pushing to Heroku) prior to running the Procfile. The PHP buildpack is a bit of a special case because boot.sh gets generated in bin/compile, so you need to make sure you actually have a boot.sh on your local machine too that launches Apache and PHP.

Related

ACORE API, assistance with errors and deployment

I'm having trouble with setting up ACORE API's and then having them work on a website.
Background:
Azerothcore running 3.3.5 on a debian standalone server, this has the Database, Core files and runs both the world and auth server basically a standard setup that is shown in the how-to wiki.
I also have a standalone web server, on the same subnet, but it's a separate server running linux and normal web server stuff, this has a wordpress installation with azerothcore plugin for user signup etc.
I'm trying to add the player map (https://github.com/azerothcore/playermap) and the ACORE-API set of functions (server status, arenastats, BG que and wow statistics) (https://github.com/azerothcore/acore-api)
Problem:
I understand the acore-api must be run in a container (docker or whatever) on the server, which I have done and it binds to port 3000, I can then go to the local ip:3000 and it brings up this error. (all db's etc are connecting and soap is working)
error 404 when navigating to IP:3000
I do get a few errors when running NPM install seen here: I'm not sure if they would be causing any issues or not.
screenshot of NPM errors on install
But further that, when I put say 'serverstatus' on the webserver (separate server) and configure the config.ts file I can't seem to get anything to display.
I'm not sure what I'm doing wrong but is the same scenario for all of the different functions for the acore-api
How are these meant to be installed and function? I feel I'm missing a vital step.
Likewise, with PLAYERMAP I have edited the comm_conf.php and set the realmd_id, but when loading the page, I do get the map, but the uptime is missing and no players are shown?
Could someone assist if possible?
Seems like an issue with NodeJS version. Update your NodeJS to latest LTS version 16.13.0 (https://nodejs.org)

Symfony: Prod environment on webserver produces blank page

my Symfony 3 app works flawless on my local webserver. Since it´s been installed on the remote web server it produces a blank page, even the routing doesn't work. After editing web/app.php $kernel = new AppKernel('prod', false); and set it to true, the application works as expected and does not display any errors.
Why does the application behave different on the local and the remote webserver. Did I miss to configure something on the remote server?
Any suggestions?
Thanks in advance!
Finally I have a solution to solve the problem: after the composer update I have to clear the cache of the prod environment manually by executing rm -fr var/cache/prod/*. For whatever reason does the command php bin/console cache:clear --env=prod quit working immediately after the composer update without throwing any error messages. After removing the cache files manually both the application and the cache:clear command work as expected without modifying web/app.php.
1.check permission to cache and log dirs ( need to be 777 )
2.check (paste here) error in logs/prod.log
Since I couldn´t find out what´s the real cause of this problem I´ve made a fresh install of my application and updated Symfony and all dependencies with composer.
Although I did the same with the old installation, it does the trick this time. My guess is, something went wrong with the composer update before.
Thanks again for your help! If someone has a similar problem I would appreciate if you could post how you solved the problem (or why AppKernel['prod'] = 'true' did work).
I have plausible explanation, what might have been the problem.
I have encountered this problem earlier this year with Symfony3, while developing on Windows but deploying manually (copying project's files) to shared server with Linux.
As you say - blank page in prod environment.
To add to the mystery log files did not show any problems
So i enabled dev environment to check what is wrong
application worked as intended if i added app_dev.php in the URL
I overviewed all the files, more than once, but copy was done correctly.
The answer
After some time I "came across" the file: bootstrap.php.cache in var directory. It "felt suspicious".
As I had exhausted my options i just deleted it to test the result.
That solved it in my case.
Site was running again.
No more blank page!
I guess mixed development environment has its toll.

WordPress project setup - Trellis, Valet or Docker?

I want to start a new WordPress project with another developer. The decisions we made are:
We want to use Bedrock as the WP structure
we want to use Sage as the WP theme
We put the project in a GIT repository
I now ask myself if we should use Trellis, Valet or Docker.
My personal opinion is that Trellis / Docker is a bit too much for a project with two developers working on it. Additionally my experience with Vagrant is not very positive, as it was very slow when I used it. My favorite would be Valet, because it's so slim. The repository I would use is Beanstalk, from there I would trigger my deployments to my test and live system.
Additionally I am not 100% sure if my server to which I want deploy my project also needs Docker installed - does anybody knows that? And what happens when my server runs on Apache and not Nginx?
Now that Docker has native Mac and Windows apps you wouldn't need Vagrant for local dev, and running a series of Docker containers is much faster than a full-fledged VM with Vagrant+VirtualBox. Right now I have MariaDB + PHP-FPM + Nginx + WordPress + PHPMyAdmin, and the whole thing is really fast relative to my previous experience with Vagrant. Faster as in: faster initial install, faster to start/stop, faster to make changes and have them reflected after a restart. I just replaced MySQL with MariaDB in a matter of minutes (mostly fumbling with having the proper syntax in my docker-compose file).
The beauty of Docker appears precisely when you want to switch components (say Apache vs. Nginx). In WordPress' case, they provide images on Docker Hub that either include Apache or PHP-FPM (in the latter case you just add a Nginx container to your stack).
That said I just got started with Docker and there are some kinks to figure out, but it's worth figuring out.
I haven't deployed with Docker yet but I plan to test that next once I've got local dev fully working as intended. It's optional though, you could always deploy with Git webhooks or whatever you were using up to now.

How can i setup Drush to use a proxy server to access internet on Windows7?

i am using WAMP for Drupal development. I have installed drush and it works fine when using home network without any proxy. When i am at work, the network setting uses a proxy to access internet and hence any drush command which need internet, eg. drush dl {module_name}, doesn't work.
After googling i could only find texts that told me how to configure them on *nix based OS. I'm stuck with windows7. Any idea?
Okay. I got it running. I had to do the following change to make drush dl work on windows 7. Apparently "which wget" wasnt returning anything as windows doesn't have a 'which' command. I hacked the drush core to do the following changes.
Go to file drush.inc in folder C:\ProgramData\Drush\includes
Change the line $use_wget = drush_shell_exec('which wget'); with $use_wget = drush_shell_exec('where wget');
Root Cause:Windows doesn’t have 'which' command, 'where' command serves the purpose
I think there was no issue with proxy at all and it was using proxy from drupal's settings.php file correctly

How to deploy WordPress with Capistrano on shared host without sudo

In the pursuit of a more professional WordPress dev and deployment environment I am trying to use Capistrano to deploy from my local dev environment to staging and production servers but I can't quite get it to work.
I am on Site5 shared hosting and am deploying to one server with two different domains - staging.example.com and example.com.
I have used https://github.com/markjaquith/WP-Stack as a basis and have added
set :user, "myserveruser" to my config.rb file as the connection didn't work without that.
Running cap deploy:checktells me "You appear to have all necessary dependencies installed" and I can run cap deploy:setup which successfully connects to staging and production creating releases and shared directories etc.
The problem comes when I run cap deploy. Everything seams to work fine until I am prompted for a sudo password. This is not a normal login prompt though and does not allow me to type a password. As I am on a shared host I don't have sudo access anyway.
Its similar to this problem Capistrano is hanging when prompting for SUDO password to an Ubuntu box but the solutions didn't fix all my issues.
I have set default_run_options[:pty] = true which I seam to need but still get the sudo prompt.
I am using passwordless ssh so Capistrano is able to connect and do everything it needs to do without prompting for a password and I am also using an SSH config file to handel agent forwarding so the server can also connect to my git repository. I have confirmed this is working.
I have found other people having similar problems - Capistrano using sudo even with "set :use_sudo, false" - etc but none of the solutions have worked.
I am using default_run_options[:pty] = true and have tried using set :use_sudo, false and default_run_options[:shell] = false but I still have the same issue.
You can view my Terminal output here - http://pastebin.com/5xZmCnyA
I am seriously going crazy! Any help would be greatly appreciated!!!
Cheers
You can't run setup without sudo. That's the only part that REQUIRES sudo, because it makes a directory public_html/staging.exposecreative.org, in your case...
That step shouldn't be required, you can make that directory yourself (assuming you have permission)..
The problem you will face however is that the shared host will expect your index.php to be directly in public_html, for that to work you'd need write permission to whatever directory public_html is in, which your shared host won't allow (almost certainly)
The line default_run_options[:pty] = true has to do with whether Capistrano pretends to be an interactive shell or not. Many commands (sudo included) use this to determine if they should bother asking the user for input, or if they are part of an automated process (
in which case there's no way to ask for input)
My advice (as Capistrano maintainer) - don't try this on a shared host, it almost certainly won't work. (Sorry, their limitations, not ours)
I wrote an extensive post on how to deploy WordPress with Capistrano on a shared host (Bluehost). I use the Roots/Bedrock stack and it only took me about 20 minutes to get up and running.
I made a WordPress development stack using Shipit JS instead of Capistrano because I'm not comfortable with Ruby. Maybe that can help. Feel free to use it and/or post some issues if needed. Regards.
WP-Jungle / Bonzai

Resources