- Details
- Written by: Nicholas K. Dionysopoulos
We can all agree that taking backups is important. We also agree that backups on the same medium as the backed up content are as good as no backup at all. This has led a lot of us to store our backups to the cloud, predominantly on cheap Amazon S3 storage. But how can we make sure that should the content server be compromised our backups will not be abused or deleted?
- Details
- Written by: Nicholas K. Dionysopoulos
A while back I had written two blog posts about setting up an Apache, MySQL and multiple, simultaneous PHP versions environment for macOS -or Linux, same concept- and for Windows. In the meantime HTTPS has been promoted to a near necessity and so being able to build and test a site on HTTPS is very desirable. Well, as it turns out, it’s perfectly possible too!
- Details
- Written by: Nicholas K. Dionysopoulos
Amazon Web Services (AWS) offers a wealth of services for site owners. A service I particularly enjoy is the inexpensive CloudFront CDN which lets me deliver static content, like downloads and update information for my software, very fast to people across the world. What became apparent is that while it was fast and cheap, it wasn't the most secure solution. Anyone could forge the update response and mislead my users to downloading a modified package full of malware. The solution was to use an SSL certificate with the CDN, ensuring the integrity of the downloads and update information. For this purpose I used Let's Encrypt™ which allows you to create properly singed SSL certificates for free. The process is non-obvious so I'm documenting this for you.
- Details
- Written by: Nicholas K. Dionysopoulos
I regularly have the need to try things out on Linux. Sometimes a virtual machine won't cut it for me typically due to memory, disk and performance limitations. Moreover, a decent, up-to-date, bootable Linux environment is a great backup in case all of my other computers are broken, infected or stolen. That entails having the Linux installation on an external, USB-attached hard disk drive which can boot with relative ease on any UEFI-enabled PC (driver compatibility notwithstanding). Moreover, all the preparatory work has to be performed using a single-boot Windows computer without ending up having a dual boot system. It sounds tough. It is tough, but I'm writing this from my portable Ubuntu Linux installation running off a USB-attached SSD!
- Details
- Written by: Nicholas K. Dionysopoulos
If you want to use SSH or SFTP with PHP you need the SSH2 extension. Unfortunately MAMP doesn't come with it out of the box. Last year I had written about how to add the SSH2 extension to MAMP, on PHP 5.6. In the meantime two major changes ocurred which pretty much nullified the process: OS X El Capitan was released requiring new prerequisites to be installed and PHP 7 was included which requires an entirely new approach to installing SSH2 (it's no longer as simple as using pecl). In this article we'll discuss the process required to get the SSH2 extension installed on PHP7 in MAMP.
- Details
- Written by: Nicholas K. Dionysopoulos
Has your Mac's Bluetooth stopped responding or got stuck in the Off position? Do you have work to do and cannot afford a reboot?
- Details
- Written by: Nicholas K. Dionysopoulos
If you want to use SSH or SFTP with PHP you need the SSH2 extension. Unfortunately MAMP doesn't come with it out of the box. Moreover, it comes with no PHP sources making it a bit complicated to use pecl to install the extension. So here I document it, mostly for my future self and in the hope that I'll spare a poor soul the trouble. The middle part of the instructions is a prerequisite for installing any other PHP extension, so here's another utility to this.
- Details
- Written by: Nicholas K. Dionysopoulos
If you want to start developing PHP applications, or merely work on your PHP-based site off-line, on Mac OS X you can easily do so. In this how-to we'll see how you can set up NginX, a high performance web server, with the PHP version shipped with Mac OS X itself to create a local web server. In case you're wondering, you can of course use it in parallel with MAMP, XAMPP or even the multi-PHP version server I've described in an earlier post.
- Details
- Written by: Nicholas K. Dionysopoulos
In the previous two installments of this series we discussed the target audience for Joomla! 4 and beyond and the vision for the end user. In this third installment we'll see things from the developers' perspective, defining a vision for the PHP code's architecture and design goals.
- Details
- Written by: Nicholas K. Dionysopoulos
In the first post of this series we explored the unified marketing message for Joomla! 4 and beyond. Armed with this result let's see how we can turn this into an actionable vision, starting with the improvements that affect our end users. The common theme behind all the improvements in this vision can be summed up as "Don't make them think".