PHP 5.6 updates to address MySQL password expiration #82

Closed
wants to merge 13 commits into
from

Projects

None yet

2 participants

@w0rd-driven

I'm currently using Homestead 2 and https://atlas.hashicorp.com/laravel/boxes/homestead/versions/0.3.3 which recently got hit by the homestead user's password expiring in mysql 5.7 per http://stackoverflow.com/q/40493594/134335.

As I worked through what I thought would be just simply implementing PR's #59 and #60, I realized it required much more work due to ppa:ondrej/php5-5.6 being deprecated. I realize now I may have been hit by composer/composer#5814, causing the --cableconnected1 and pecl install -Z adjustments though it shouldn't hurt anything to have them in.

There are a few changes I could've made that I'm a little unsure about:

I didn't know if this should be as close to 1:1 with master as possible, though I personally err on that side of things.

This also requires a tandem patch to Homestead v2 as php5-fpm changes to php5.6-fpm, /var/run/php5-fpm.sock changes to /var/run/php/php5.6-fpm.sock, and /etc/php5/fpm/php-fpm.conf changes to /etc/php/5.6/fpm/php-fpm.conf.

I followed the notes from #59 as closely as possible. I tested for the expiration and it is no longer a problem. I made sure I could produce at least 2 builds in a row before calling it done but ultimately produced about 4-5 without failure . I tested a few separate Laravel projects and saw no noticeable awkwardness but these are very rudimentary projects with no redis usage nor would I know what to look for if some of the php extensions are somehow broken. The gist of my latest build is https://gist.github.com/w0rd-driven/f1cfb4b9577ffd391462ba7cbf4c0c8e.

Lastly, I made one improvement that could make it back into master. I moved the xdebug cli disable above pulling in laravel envoy and installer as the provisioning could also benefit from it.

w0rd-driven added some commits Nov 9, 2016
@w0rd-driven w0rd-driven Vagrant starts the box with cable disconnected. Applying the fix per m… eabb46d
@w0rd-driven w0rd-driven Using mailparse 2.1.6 as anything greater than this version is only P…
…HP7 compatible
fe4c722
@w0rd-driven w0rd-driven Fixes issue with sudo package upgrade, see chef/bento#711. --force-co…
…nfnew breaks vagrant as the vagrant user no longer has password-less sudo access.
05ea463
@w0rd-driven w0rd-driven Disable XDebug on the CLI (0016534) with a twist. Placed this before …
…the current composer usage to apply the speed adjustment to building this image
cb23e71
@w0rd-driven w0rd-driven #59 Enable MySQL 5.7 (198d675) with bind address fix from ebff3db 7330196
@w0rd-driven w0rd-driven #60 Fix password expiration (4451cd3). Added `PASSWORD EXPIRE NEVER` …
…to make absolutely certain homestead will never expire regardless of config option.
78272be
@w0rd-driven w0rd-driven #67 ppa:ondrej/php5-5.6 is also deprecated (06d4a3c). Memcached and r…
…eadline (9ff80ae). apcu (15e2e90). mcrypt (b00a8a3). mbstring and xml (e4f5d00).

Explicit json and gmp to appease the ppa change. `pecl install -Z` seemingly required as the compressed files randomly, but often, do not finish downloading.
ceba836
@w0rd-driven w0rd-driven zip (aea1b71) feb0e4d
@w0rd-driven w0rd-driven intl (ca56b50) 08fd9f8
@w0rd-driven w0rd-driven bcmath (27e754b) 87035ea
@w0rd-driven w0rd-driven soap (b63da52) 4a9c997
@w0rd-driven w0rd-driven Adding `--force-yes` to `apt-get install` to keep current with master ( c2528d2
@w0rd-driven w0rd-driven #74 Add composer_home to .profile (74f3446). #75 Execute under vagran…
…t user instead of root (5c9cf1f)
a24a007
@w0rd-driven w0rd-driven added a commit to w0rd-driven/homestead that referenced this pull request Nov 14, 2016
@w0rd-driven w0rd-driven Address the changes introduced in laravel/settler#82 3fd4571
@taylorotwell
Member

I don't really have any plans of maintaining a 5.6 branch of Homestead any longer. You are free to fork this and provide one if you want.

@w0rd-driven

I expected as much, primarily due to all the work involved. My only concern is 0.3.3 is "broken" depending on your definition of the word but I'll put the more permanent solution in the SO post. I don't know if I personally have the time to maintain an alternative until support ends in 2018 tbh but given where I am it wouldn't hurt to push the box this creates and go the few steps further at least.

How feasible would it be to pull 0.3.3 down, make the change in PR #60, and push that up as 0.3.4? That's the quickest resolution compared to all of this and what I would've done if I thought I could push it to laravel/homestead instead of whatever my fork would be.

@w0rd-driven w0rd-driven deleted the w0rd-driven:feature/56-updates branch Nov 15, 2016
@w0rd-driven w0rd-driven referenced this pull request in laravel/homestead Dec 6, 2016
Closed

Expired password #373

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment